]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
[grub2.git] / ChangeLog
CommitLineData
adabfb54
VS
12013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
4 algorithm on v5.
5
6 Suggested by: Leif Lindholm.
7
77ec462a
AB
82013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
9
10 * util/grub-mkconfig.in: Fix Xen platform conditions.
11
3bf2db89
AB
122013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
13
14 * util/grub-mkrescue.c: Split single help message string in several
15 strings used in previous shell version.
16
30a9ab95
LL
172013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
18
19 Add arm64 Linux loader.
20
c415eaa9
LL
212013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
22
23 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
24
313fb3ce
VS
252013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Add module loading and parsing boot time checkpoints.
28
37f617c0
VS
292013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
32 platforms.
33
3deedfc0
LW
342013-12-22 Lars Wendler <polynomial-c@gentoo.org>
35
36 * util/grub-mkconfig.in: Skip non-executable files.
37
5ad9f728
VS
382013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
39
40 Workaround buggy timer in raspberry pie by using our own timer
41 implementation.
42
eeb84997
VS
432013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
46 Increase to 16 MiB to allow loading the whole memdisk.
47
0d8b81f8
VS
482013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 Fix ARM Linux Loader on non-FDT platforms.
51
bf082198
VS
522013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * configure.ac: Choose link format based on host_os on emu.
55
0b602bf9
VS
562013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
59
96650a82
VS
602013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/kern/emu/main.c: Build fix for emu.
63
ca3e2088
VS
642013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Build fixes for argp.h with older gcc.
67
27db1a9b
VS
682013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
71 in strings.
72
73 Suggested by: David Prévot.
74
8a913e66
VS
752013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
78
ae558c2c
VS
792013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Enable -Wformat=2 if it's supported.
82
bbac6789
VS
832013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
86 -Wmissing-declarations if supported.
87
ab216512
VS
882013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
91 u32 as both HFS and HFS+ have 32-bit inodes.
92
0d4aa91d
VS
932013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * include/grub/misc.h (grub_strtol): Fix overflow.
96
a997af68
VS
972013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
100 as return type in both conditionals.
101
36bcaf29
VS
1022013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
105 to use uint8_t for color.
106
74763e96
VS
1072013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * util/misc.c (grub_util_get_image_size): Check for overflow.
110
80b29fc9
VS
1112013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
114 for size.
115
6e327fcd
VS
1162013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
119 for pointer difference.
120
62ce03cf
VS
1212013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * util/import_gcry.py: Skip sample keys.
124
f4d70fd0
VS
1252013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
128
93bf55e6
VS
1292013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * configure.ac: Remove duplicate warning arguments.
132
579ee114
VS
1332013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
134
135 Add missing static qualifiers.
136
ee5283d6
VS
1372013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Add missing includes.
140
5dbde526
VS
1412013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Inline printf templates when possible to enable format checking.
144
d88ae4f0
VS
1452013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * include/grub/crypto.h: Don't discard const attribute.
148
17b43559
VS
1492013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
152 was intended.
153
76a2a430
VS
1542013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/lib/crypto.c: Don't discard const attribute.
157
0d26164e
VS
1582013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/lib/disk.c: Fix potential overflow.
161
2622b1e8
VS
1622013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/lib/arg.c: Don't discard const attribute.
165
05126706
VS
1662013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/kern/dl.c: Don't discard const attribute.
169
2f9c4804
VS
1702013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/kern/disk.c: Fix potential overflow.
173
0438ebf1
VS
1742013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * conf/Makefile.common: Don't include non-existing directory
177 grub-core/lib/libgcrypt-grub/include.
178
065adc34
VS
1792013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
180
181 Clarify several translatable messages.
182
496a6b30
DP
1832013-12-21 David Prévot <david@tilapin.org>
184
185 Correct some translatable strings.
186
971038be
CW
1872013-12-21 Colin Watson <cjwatson@ubuntu.com>
188
189 * util/grub-mkrescue.c: Rephrase mkrescue description.
190
bfdfeb25
VS
1912013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1922013-12-21 Colin Watson <cjwatson@ubuntu.com>
193
194 Clarify several translatable messages.
195
d642d761
CW
1962013-12-20 Colin Watson <cjwatson@ubuntu.com>
197
198 Be more verbose about some configure failures.
199
3bc1b2da
CW
2002013-12-20 Colin Watson <cjwatson@ubuntu.com>
201
202 Fix various build problems on GNU/Hurd.
203
204 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
205 !defined (__GNU__).
206 (xgetcwd): Likewise.
207 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
208 [__GNU__]: Add prototype.
209 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
210 long int using %ld rather than %d.
211
871aa709
VS
2122013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * util/grub-install.c: Inform user about install platform.
215
2fa5a58c
VS
2162013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * configure.ac: Set version to 2.02~beta1.
219
ee281fd0
AP
2202013-12-18 Allen Pais <allen.pais@oracle.com>
2212013-12-18 Bob Picco <bob.picco@oracle.com>
222
223 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
224
2e238b37
VS
2252013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
226
227 Make grub_zlib_decompress handle incomplete chunks.
228
229 Fixes squash4.
230
2984035e
VS
2312013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
234 on i386-multiboot.
235
b9f03772
AN
2362013-12-18 Aleš Nesrsta <starous@volny.cz>
237
238 * grub-core/disk/usbms.c: Retry on unknown errors.
239 Reuse the same tag on retries.
240
e3ef0d30
AN
2412013-12-18 Aleš Nesrsta <starous@volny.cz>
242
243 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
244
245 Avoid confusing them with already completed transfers.
246
72c9a507
VS
2472013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Remove xen VFB.
250
251 Due to XEN bug it prevents Linux boot. Remove it at least, until
252 workaround is found.
253
84455670
VS
2542013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * po/exclude.pot: Add 2 missing excludes.
257
64dd5fdc
VS
2582013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Add missing license section in macbless.mod and macho.mod.
261
a29f317a
VS
2622013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Allow compilation without thumb-interwork as long as no thumb is
265 involved or only thumb2 is used.
266
063f2a04
VS
2672013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Use -Wl,--no-relax rather than -mno-relax for uniformity.
270
113f7869
VS
2712013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * INSTALL: Update comment as to why sparc64 clang isn't usable.
274
eba2afed
VS
2752013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
276
277 Add __attribute__ ((sysv_abi)) only if it's really needed.
278
279 Some compilers don't support it.
280
1962ed95
VS
2812013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
284
c2be6f7e
VS
2852013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
286
287 Remove -Wold-style-definition.
288
289 Not very useful and interaction of it with regexp depends on GCC
290 version.
291
7a7f5238
VS
2922013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
293
294 Make grub_util_get_windows_path_real static.
295
9246d5c8
VS
2962013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/commands/fileXX.c: Silence cast-align.
299 * grub-core/loader/i386/xen_fileXX.c: Likewise.
300
b3aea1bc
VS
3012013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
304 rather than LL suffix.
305
bc8dd119
VS
3062013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
307
e8c360ca
VS
308 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
309
3102013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 313
57a691b7
VS
3142013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
315
316 Decrease number of strings to translate.
317
74fa9417
VS
3182013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
321
636977b0
VS
3222013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Mark strings for translation and add remaining ones to exclude list.
325
ee4450eb
VS
3262013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * util/grub-file.c (main): Fix sizeof usage.
329
3302013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
331
332 Silence spurious warning.
333
ee4450eb 3342013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
335
336 Remove check_nt_hiberfil as it's been superseeded by file command.
337
a99c0a32
VS
3382013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * docs/osdetect.cfg: Add isolinux config to detected OSes.
341
8f5add13
VS
3422013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
343
344 Implement syslinux parser.
345
8ff35d0a
VS
3462013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
349
ba144760
VS
3502013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
351
352 Support cpuid --pae.
353
daaa89db
VS
3542013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
355
356 Use AT keyboard on Yeeloong 3A.
357
25a7863d
VS
3582013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
359
360 Add Yeeloong 3A reboot and halt.
361
184c61dd
VS
3622013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Add Radeon Yeeloong 3A support.
365
fd4650a5
VS
3662013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
367
368 Add bonito 3A support.
369
3e88fbfa
VS
3702013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
373
1123bed9
VS
3742013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
377
ebda165f
VS
3782013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/loader/macho.c: Fix compilation on non-i386.
381
fe7c20bf
VS
3822013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Add missing format_arg attribute to check that printf with translated
385 messages has proper arguments.
386
f4dab3d1
VS
3872013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Use grub_xasprintf to format translated error messages containing
390 64-bit quantity.
391
24d5934d
JM
3922013-12-17 Jon McCune <jonmccune@google.com>
393
394 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
395
d6c2782a
VS
3962013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Unify message for unsupported relocation.
399
50d2e959
VS
4002013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Mark miscompile error for translation.
403
18e76955
VS
4042013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Use %I64 and not %ll when using OS printf if compiling for windows.
407
d218ec97
VS
4082013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
409
410 Update Mac code to match new register_efi prototype.
411
b8765fa0
VS
4122013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
413
414 Implement better integration with Mac firmware.
415
1f032575
VS
4162013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/loader/multiboot_mbi2.c: Implement special value for
419 load_addr.
420
14829755
VS
4212013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Include serial module in default_payload.elf.
424
d45067a2
VS
4252013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
426
427 Add explicit thumb interwork bx in asm files.
428
429 Shouldn't matter for armv >= 5 but let's be safe.
430
30861754
VS
4312013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Implement Truecrypt ISO loader.
434
e14d409b
VS
4352013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/lib/arg.c: Ensure at least a single space between commands.
438
ec824e0f
VS
4392013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
440
441 Implement grub_file tool and use it to implement generating of config
442 in separate root.
443
296f7606
VS
4442013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
445
446 Change to v1 xen grants.
447
2c384f1e
VS
4482013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
451
452 GRUB relied on %ebx being preserved across hypercall which isn't true.
453
d16ff589
VS
4542013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
457
458 GRUB relied on %rdi being preserved across hypercall which isn't true.
459
71669c3b
VS
4602013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Implement XEN VFB support.
463
60d1dd3d
VS
4642013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
465
466 Remove grub_bios_interrupt on coreboot.
467
468 It's not used currently and cannot be used safely currently.
469
a8201050
VS
4702013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
471
472 Update exclude.pot and mark few strings for translation.
473
6cc89597
VS
4742013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
477
478 Reported by: Jon McCune
479
840a2c05
AB
4802013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
481
482 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
483 Add verbose information which firmware directories were tried.
484
35248820
AB
4852013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
486
487 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
488 function to optionally redirect all three standard descriptors.
489 Redefine grub_util_exec, grub_util_exec_redirect and
490 grub_util_exec_redirect_null to use it.
491 * include/grub/emu/exec.h: Define it.
492 * include/grub/osdep/exec_unix.h: Delete, it is unused.
493 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
494 Use grub_util_exec_redirect_all to redirect error to NULL.
495
2a123f4c
VS
4962013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/tests/sleep_test.c: Silence spurious warning.
499
316c8d9a
VS
5002013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
501
502 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
503 linker trying to "fixup" the code.
504
8fcce8d5
VS
5052013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/kern/x86_64/xen/startup.S: Align stack.
508
6f1f6a0c
VS
5092013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
510
511 Add support for converting PE+ to Elf64.
512
66a07ce2
VS
5132013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
516
cc6fb517
VS
5172013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
518
519 Remove practice of assigning random const pointers to device id.
520
521 This is not required as cache code already checks driver id as well.
522
f009f07c
VS
5232013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
526 with mingw.
527
9fdec226
VS
5282013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * include/grub/efi/api.h: Don't use call wrappers when compiled with
531 mingw or cygwin as API already matches.
532
d87cb3ae
VS
5332013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
536
3e38c31a
VS
5372013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
540 not on long.
541
f4171ebd
VS
5422013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Handle X86_64_PC64 relocation.
545
546 Those are generated by some cygwin compilers.
547
252a289c
VS
5482013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Determine the need for mingw-related stubs at compile time rather than
551 using not very significant $target_os.
552
23d2abc3
VS
5532013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
556 may not work with ELF.
557
4f979ccb
VS
5582013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Use unix functions for temporary files and special files on cygwin.
561
37378f74
VS
5622013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
563
564 Define functions explicitly rather than using --defsym in tests
565 whenever possible. Respect locality in remaining cases.
566
6a09d83e
VS
5672013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
570
e477187b
AB
5712013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
572
573 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
574 unlikely errors when getting EFI variables and make exhaustive search
575 for all BootNNNN variables to find matching one.
576
80b865bd
IC
5772013-12-15 Ian Campbell <ijc@hellion.org.uk>
578
579 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
580
04b02857
VS
5812013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
582
583 New functional test for sleep function.
584
585 This test allows to check sleep without qemu. Keep qemu version as
586 well as functional test won't notice if all clocks are going too fast
587 or too slow.
588
39711101
VS
5892013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Add explicit sysv_abi on amd64 asm routines.
592
d99af4f0
VS
5932013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
596 num_table_entries.
597
71043684
VS
5982013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
601 functions.
602
111bf5db
VS
6032013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
606 appropriate.
607
24ca71c9
VS
6082013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
611
48ba5c0c
VS
6122013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
615 appropriate.
616
8ae67045
VS
6172013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
620
621 In case of quick removal of loopback and adding another one it may
622 get same ID, confusing the cache system.
623
ed559310
VS
6242013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
627 appropriate.
628
8fa26279
VS
6292013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
632 than converting to long.
633
6f5f3337
VS
6342013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
637
e7c418c5
VS
6382013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
641 than almost useless pointer.
642
7e47e27b
VS
6432013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
644
645 Add gcc_struct to all packed structures when compiling with mingw.
646
647 Just "packed" doesn't always pack the way we expect.
648
ae8159b9
VS
6492013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
652
74e7ad66
VS
6532013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/grub-pe2elf.c: Fix handling of .bss.
656
814442ba
VS
6572013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Implement windows flavour of EFI install routines.
660
5f5bb107
VS
6612013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
664
a24725cc
VS
6652013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
666
667 Change grub_install_register_efi interface to pass GRUB device.
668
669 This allows grub_install_register_efi to request partition info
670 directly.
671
38933cee
VS
6722013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
675
6d3cfe50
VS
6762013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Do not use TCHAR string functions as they are not available on cygwin.
679
4bad23a1
VS
6802013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
681
682 Workaround windows bug when querying EFI system partition parameters.
683
6a5fe132
VS
6842013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
687 by using bitfields.
688
bc8fcf4b
VS
6892013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
692
60b967be
VS
6932013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
694
695 Make i386-* other than i386-pc compileable under cygwin.
696
6dc33377
VS
6972013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Fix definition of grub_efi_hard_drive_device_path. Take care that
700 existing code would work even if by some reason bogus definition is
701 used by EFI implementations.
702
f2c6ff15
VS
7032013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
706
6b8a1625
VS
7072013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
710 invocation.
711
954c723a
VS
7122013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * util/config.c: Remove trailing newline from distributor in simple
715 parsing.
716
607a39f9
VS
7172013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * include/grub/efi/api.h: Rename protocol and interface to avoid
720 conflict.
721
df6fedca
VS
7222013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
725 entries.
726
f684d7e1
VS
7272013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/osdep/exec.c: Use unix version on cygwin.
730
0df77d79
VS
7312013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
732
733 Implement multiboot2 EFI BS specification.
734
dafff9ce
VS
7352013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/normal/charset.c: Fix premature line wrap and crash.
738 Crash happened only in some cases like a string starting at the
739 half of the screen of same length.
740
6644d973
VS
7412013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
744 with EFI counterpart.
745
44bbfa33
VS
7462013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Propagate the EFI commits to x86-efi specific parts.
749
3e3dff24
VS
7502013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/commands/efi/lssal.c: Fix terminating condition.
753
316dda71
VS
7542013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
755
756 Introduce grub_efi_packed_guid and use it where alignment is not
757 guaranteed.
758
219401b8
VS
7592013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * include/grub/efi/api.h (grub_efi_device_path): Define length as
762 unaligned u16 rather than u8[2].
763
30d00537
VS
7642013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
767 for relocation range.
768
979742bc
VS
7692013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
772 non-function pcrel21b relocation. It happens with .text.unlikely
773 section.
774
16c8f785
LL
7752013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
776
777 * make MAX_USABLE_ADDRESS platform-specific
778 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
779
3f1423e7
LL
7802013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
781
782 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
783
dd73313c
JM
7842013-12-09 Jon McCune <jonmccune@google.com>
785
786 * Add --no-rs-codes flag to optionally disable reed-solomon codes
787 in grub-install and grub-bios-setup for x86 BIOS targets.
788
eaf01c25
VS
7892013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
790
791 Add missing compile and link options for sparc64-emu.
792
7a148da6
VS
7932013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
794
795 Implement sparc64 trampolines (needed for sparc64-emu).
796
21eee750
VS
7972013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
800 range of R_SPARC_HI22.
801 Implement R_SPARC_LM22.
802
7b54b626
VS
8032013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
806 Do not explicitly check for symbol table as it's already checked in
807 platform-independent layer.
808
9a945e2a
VS
8092013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
812 on ia64 as __clear_cache is a dummy on ia64.
813
4f4ea1b4
VS
8142013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
817 Do not explicitly check for symbol table as it's already checked in
818 platform-independent layer.
819
fe4ae213
CW
8202013-12-09 Colin Watson <cjwatson@ubuntu.com>
821
822 * util/grub-mkconfig.in: Add missing newline to output.
823
78b2b0a1
VS
8242013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
827 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
828
d14772c4
VS
8292013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
832 compilation with GCC <= 4.2.
833 * grub-core/kern/emu/argp_common.c: Likewise.
834
388f3cd0
VS
8352013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
838 right platform rather than leaking to sparc64-emu.
839
11e4167a
VS
8402013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
843 But ensure that the variables in question are indeed unsigned.
844
fa7eb63d
VS
8452013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
848
50b3a68d
VS
8492013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Remove grub_memalign on emu.
852
fbbfb6ab
VS
8532013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
856 truncate incomplete lines but instead flushes them.
857
a19293cb
VS
8582013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
859
860 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
861 and implement windows variant.
862
d5c14e1e
VS
8632013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Fix mips-emu compilation.
866
b75db69a
VS
8672013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * configure.ac: Check for freetype library usability.
870
c311ced5
VS
8712013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
872
873 Make arm-emu work.
874
c8fd2ddf
VS
8752013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
878
c50e5f45
AB
8792013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
880
881 * docs/grub.texi (Environment): Update color_normal and color_highlight
882 defaults (light-gray instead of white).
883
bb05e313
AB
8842013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
885
886 * grub-core/normal/main.c (INIT): Set default color to light-gray
887 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
888 and apparently BIOS defaults.
889
f23bc651
VS
8902013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Transform -C option to grub-mkstandalone to --core-compress available
893 in all grub-install flavours.
894
4c4ea9c7
VS
8952013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
896
897 Merge GRUBFS and GRUB_FS variables.
898
92e9352d
AB
8992013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
900
901 Revert commit 69ca97c820, it caused failures when using OS device name
902 in grub-install. Instead just strip off parenthesis in grub-install
903 if (hdX) was passed.
904
f585c905
AB
9052013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
906
907 * util/grub-install.c (push_partmap_module): Add helper to convert
908 partmap names to module names and use it in probe_mods(). Fixes
909 failure to find partmap modules in diskfilter case.
910
5ff24907
VS
9112013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * configure.ac: Make unifont mandatory on coreboot.
914
0277eab7
VS
9152013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * configure.ac: Skip unifont 6.3 pcf and bdf.
918
4861b6c8
VS
9192013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * Makefile.am: Remove partial font files if generation failed.
922
3100cdc7
AB
9232013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
924
925 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
926 strings.
927 * include/grub/util/misc.h: Define it ...
928 * util/grub-install.c (device_map_check_duplicates): ... and use it.
929
ad73cc33
AB
9302013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
931
932 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
933 ${grub_probe}.
934
41822625
VS
9352013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Don't add -mlong-calls when compiling with clang.
938
896f483d
VS
9392013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * configure.ac: Fix a typo.
942
8c534b85
VS
9432013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
944
945 Revamp relocation handling.
946
947 Move more code to common dl.c. Add missing veneers for arm and arm64.
948 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
949
a846dd4b
VS
9502013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
953
aa437b58
MG
9542013-12-05 Mike Gilbert <floppym@gentoo.org>
955
956 * INSTALL: Raise minimum python version to 2.6.
957 * gentpl.py: Use python3-style print function.
958
b0f311f4
VS
9592013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * util/grub-install.c: Mention Boot* variable.
962
59b38922
CW
9632013-12-05 Colin Watson <cjwatson@ubuntu.com>
964
965 * grub-core/osdep/linux/hostdisk.c
966 (grub_util_find_partition_start_os): Initialise start to avoid
967 spurious compiler warning.
968
0480665b
CW
9692013-12-05 Colin Watson <cjwatson@ubuntu.com>
970
971 On Linux, read partition start offsets from sysfs if possible, to
972 cope with block device drivers that don't implement HDIO_GETGEO.
973 Fixes Ubuntu bug #1237519.
974
975 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
976 function.
977 (sysfs_partition_start): Likewise.
978 (grub_util_find_partition_start_os): Try sysfs_partition_start
979 before HDIO_GETGEO.
980
bbeee1c4
LL
9812013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
982
983 * grub-core/kern/fdt.c: Update struct size when adding node.
984
e5ed2f69
VS
9852013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Handle unaligned .bss on sparc64.
988
989 Current code improperly assumes that both __bss_start and _end are
990 aligned to 8-bytes. Eliminating this assumption and explicitly align
991 modules.
992
4a73746a
VS
9932013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
996 so it doesn't land in the middle of loaded image.
997
382b500e
VS
9982013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * configure.ac: Move all warning options that may be absent in
1001 gcc >= 3.1 to optional.
1002
1003 Note: while this allows to compile with older GCC, official requirements
1004 remain the same and no support for older GCC.
1005
3a82f8bb
CW
10062013-12-04 Colin Watson <cjwatson@ubuntu.com>
1007
1008 Copying the themes directory in grub-shell isn't
1009 parallel-test-friendly and breaks on the second test when the source
1010 directory is read-only (as in "make distcheck"). Instead, add a
1011 hidden --themes-directory option to grub-mkrescue et al, and use it
1012 in grub-shell.
1013
e3046431
VS
10142013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1017 as it's no longer necessarry.
1018
bdb6090d
VS
10192013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * configure.ac: Allow compilation with older GCC for ARM.
1022
b73b70eb
VS
10232013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1026 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1027 ppc.
1028
8a3f0a24
VS
10292013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1032
6f07c4e4
VS
10332013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Pass font config to config.h and not by TARGET_CFLAGS as adding
1036 arguments doesn't work if TARGET_CFLAGS is specified on command
1037 line.
1038
60d5e9cb
VS
10392013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * configure.ac: Add -Wvla if compiler supports it.
1042
cd15c394
VS
10432013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1046 Remove variable length arrays.
1047 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1048
bb6e299c
VS
10492013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1052
85eb579a
VS
10532013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * include/grub/types.h: Declare all byteswaps as inline functions
1056 except compile-time ones.
1057
1058 Solves variable shadowing in constructions like
1059 cpu_to_le (le_to_cpu(x) + 1).
1060
47f88cc9
VS
10612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1064
40b5739f
VS
10652013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1068 minutes.
1069
234d9346
VS
10702013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1073 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1074
0c0eab52
CW
10752013-12-03 Colin Watson <cjwatson@ubuntu.com>
1076
1077 * grub-core/Makefile.core.def (setjmp): Distribute
1078 lib/arm64/setjmp.S.
1079
44d48847 10802013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1081
1082 Add a new timeout_style environment variable and a corresponding
1083 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1084 controls hidden-timeout handling more simply than the previous
1085 arrangements, and pressing any hotkeys associated with menu entries
1086 during the hidden timeout will now boot the corresponding menu entry
1087 immediately.
1088
1089 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1090 generates a warning, and if it shows the menu it will do so as if
1091 the second timeout were not present. Other combinations are
1092 translated into reasonable equivalents.
1093
10955cda
CW
1094 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1095
9e4e6ddf
VS
10962013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * util/config.c: Add missing pointer adjustment.
1099 Reported by: qwertial
1100
5037aa9a
AB
11012013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1102
1103 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1104 directly, not via `cpu' link, to fix libgrub.pp generation.
1105
8a952d20
VS
11062013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1107
1108 New port arm64-efi.
1109
be0d4555
AB
11102013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1111
1112 * docs/grub.texi (sleep): Document exit codes.
1113
d74b9a1d
VS
11142013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Ensure that -mno-unaligned-access or some equivalent option is used.
1117
35de6d4b
VS
11182013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1121 -march=armv3.
1122
ce55ed03
VS
11232013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1126
8ddf84bf
CW
11272013-11-29 Colin Watson <cjwatson@ubuntu.com>
1128
1129 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1130 builds, since we don't have an EPS version of font_char_metrics.png.
1131 Add leading dot to image extension per the Texinfo documentation.
1132
fd0df6d0
CW
11332013-11-29 Colin Watson <cjwatson@ubuntu.com>
1134
1135 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1136 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1137 * util/grub-gen-widthspec.c: Likewise.
1138 * util/grub-mkfont.c: Likewise.
1139
69ca97c8
AB
11402013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1141
1142 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1143 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1144 failed to install on (hdX).
1145 * util/grub-setup.c (get_device_name): Remove, not needed after
1146 above change.
1147
eec893ae
VS
11482013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1151
621e167f
VS
11522013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * util/grub-fstest.c: Remove variable length arrays.
1155
d54f647a
VS
11562013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1159
c8a0f1b2
VS
11602013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1163 computing crc32 rather than handling with md fundtions directly.
1164
726409a5
VS
11652013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1168 checking fwstart.img rather than md fundtions directly.
1169
422e6e88
VS
11702013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * util/grub-mkrescue.c (main): Check that fread succeeded.
1173
af1faca3
VS
11742013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * conf/Makefile.common: Remove -mexplicit-relocs and
1177 -DUSE_ASCII_FALLBACK on yeeloong.
1178
1179 -DUSE_ASCII_FALLBACK is already added by font snippets.
1180 -mexplicit-relocs isn't needed is compiler/assemblera are
1181 configured properly.
1182 If they're not we shouldn't attempt to fix it by ourselves.
1183 Binary compare between before and after shows no difference.
1184
469021b4
VS
11852013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1188 sources in dependencies directly.
1189
1190 This was the only instance of "library" in core config. A bug was
1191 reported that -fno-stack-protector wasn't passed to it. Instead of
1192 figuring out why it failed just remove this construction used
1193 needlessly.
1194
83c256ba
VS
11952013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1198 fgets succeeded.
1199
b67422d3
FL
12002013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1201
1202 * docs/grub.texi (ls): Fix command description in case of a device name
1203 passed as argument.
1204
2d76b4d8
VS
12052013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 Eliminate variable length arrays in grub_vsnprintf_real.
1208
1209 A bit tricky because this function has to continue to work without
1210 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1211 but make all stack references use 32-bit offset rather than 8-bit one.
1212 So split va_args preparsing to separate function and put the prealloc
1213 into the caller.
1214
4f954122
VS
12152013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1218 Fixes build for windows.
1219
b1f742c1
VS
12202013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * gentpl.py: Don't generate platform-dependent conditionals for
1223 platform-independent targets.
1224
16ef26fd
CW
12252013-11-27 Colin Watson <cjwatson@ubuntu.com>
1226
1227 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1228 references to mdadm from otherwise generic code.
1229 (grub_util_exec_pipe): Likewise.
1230 (grub_util_exec_pipe_stderr): Likewise.
1231 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1232 This function calls vgs, not mdadm; adjust variable names
1233 accordingly.
1234
cf8c80ff 12352013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1236
1237 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1238 of Autogen. The Autogen definitions files remain intact as they
1239 offer a useful abstraction.
1240
5c7206e4
CW
12412013-11-27 Colin Watson <cjwatson@ubuntu.com>
1242
1243 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1244 into no-ops, and use it in programs that copy files but do not need
1245 to take special care to sync writes (grub-mknetdir, grub-rescue,
1246 grub-mkstandalone).
1247
fc3f2b72
CW
12482013-11-26 Colin Watson <cjwatson@ubuntu.com>
1249
1250 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1251 than hardcoding /usr/local/bin/xorriso.
1252
1e4b3587
VS
12532013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 Add PCI command activation to all PCI drivers as required for coreboot
1256 and maybe some other firmwares.
1257
9208367d
VS
12582013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1261 and non-Apple variants of efiemu compile.
1262
67b9b7af
AB
12632013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1264
1265 * configure.ac: Add explicit check for linking format of
1266 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1267 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1268 hardcoding linking format.
1269
bee1b5ce
VS
12702013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1273 and not pkgdatadir.
1274
07e3b047
CW
12752013-11-25 Colin Watson <cjwatson@ubuntu.com>
12762013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 Add a --locale-directory option to grub-install and related tools.
1279
1280 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1281 --locale-directory option.
1282 (enum grub_install_options): Add
1283 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1284 * util/grub-install-common.c (grub_install_help_filter): Handle
1285 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1286 (grub_install_parse): Likewise.
1287 (get_localedir): New function to check for a user-provided option
1288 before trying grub_util_get_localedir.
1289 (copy_locales): Use get_localedir rather than
1290 grub_util_get_localedir. Handle differing locale directory layouts.
1291 (grub_install_copy_files): Likewise.
1292
61e1b9a4
VS
12932013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1296 Don't rely on PATH_MAX.
1297
c98dd165
VS
12982013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/genmoddep.awk: Use more portable && rather than and.
1301
ff1c277e
VS
13022013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1305 an object after data. While it doesn't seem right solution, it
1306 works well enough and OSX isn't main compilation platform.
1307
c8f7614b
VS
13082013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1311 While it doesn't seem right solution, it works well enough and
1312 OSX isn't main compilation platform.
1313
246a434f
VS
13142013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * configure.ac: Add -static to LDFLAGS when using apple linker to
1317 prevent it from pulling in dynamic linker.
1318
5c066a81
VS
13192013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 Apple assembly doesn't handle symbol arithmetic well. So define an
1322 offset symbol in boot.S and use it.
1323
78f961ef
VS
13242013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 Apple assembly doesn't handle symbol arithmetic well. So instead
1327 of getting addres of kernel_sector + 4 define kernel_sector_high.
1328 It also makes code more readable.
1329
09bc0a57
VS
13302013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 With Apple assembly in .macro environvemnt you have to use $$ instead
1333 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1334 to $$x on Apple and to $x on everything else.
1335
b700a427
VS
13362013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1339 OBJCONV.
1340
4480b95d
VS
13412013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1344 and non-Apple. This instruction is shorter and faster,
1345 so no reason not to use it on both.
1346
e77c81f6
VS
13472013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1350 .text when compiling for Apple.
1351
971dbee5
VS
13522013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1355
6f2e82be
VS
13562013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1359 %dx restore the probe worked on non-existant drive. Reorganize the
1360 code a little bit to free 2 bytes necessary for push/pop.
1361
9eec9699
VS
13622013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1365 Add missing cast to silence warning.
1366
5ae5c54c
KPA
13672013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1368
1369 * util/grub-install.c (update_nvram): Support --no-nvram flag
1370 for EFI targets.
1371
7b04fe6c
VS
13722013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1375
e67566ce
VS
13762013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * util/garbage-gen.c: Add missing include of sys/time.h.
1379
f93ddcfd
VS
13802013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 Don't add -mflush-func if it's not supported by compiler.
1383
1bba40f5
VS
13842013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Move common BIOS/coreboot memory map declarations to
1387 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1388
f65e14dc
AB
13892013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1390
1391 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1392
14a94bba
VS
13932013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * INSTALL: Document why older clang versions aren't appropriate.
1396
8109c5d4
VS
13972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * INSTALL: Document about clang for mips.
1400
a92b5cb8
VS
14012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1404 clang.
1405
4a23e2fe
VS
14062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Add *-xen to the list of grub-install-common platforms.
1409
a3ba7410
VS
14102013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1413 3 last commits.
1414
e1c22419
VS
14152013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1418
189090ce
VS
14192013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1422 with -mcmodel=large.
1423
1a5b7b40
VS
14242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1427 range-checking for 32-bit quantities.
1428
9cf12b20
VS
14292013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * configure.ac: Compile with -fPIC when compiling with clang on
1432 mips.
1433
63a45330
VS
14342013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1437 when compiling with clang.
1438
4a0aaad0
VS
14392013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 clang emits calls to abort () under some unknown conditions.
1442 Export abort () when compiling with clang.
1443
095bb1bf
VS
14442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * docs/grub-dev.texi: Document stack and heap sizes.
1447
3937bd96
VS
14482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * include/grub/i386/pc/memory.h: Decrease
1451 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1452 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1453 The binary doesn't change (checked). It's more to better reflect actual
1454 usage.
1455
ddb3efc9
VS
14562013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1459 at compile time that enough of scratch size is available.
1460
4e42521d
VS
14612013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1464 Previously we misaligned stack by 8 in startup.S and compensated
1465 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1466 right behaviour is to align stack in startup.S and keep it aligned
1467 in callwrap.S. startup.S part was committed few commits before. This
1468 takes care of callwrap.S.
1469 Reported by: Gary Lin.
1470
054efe54
VS
14712013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1474 .data and .bss. May happen if compiler and assembly use different
1475 alignment.
1476
a0e1befb
VS
14772013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1480 way.
1481
c36c73f6
VS
14822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 Add support for a new magic symbol _gp_disp on mips to handle PIC
1485 binaries.
1486
6f4a19f5
VS
14872013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1490
0d8f04cd
VS
14912013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1494 when rest of GRUB is compiled for hisher stepping. Instead use
1495 .set mips3/.set mips1 around cache and sync opcodes.
1496
49060520
VS
14972013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1500 do essentially the same thing, do it in similar way.
1501
c6a823e2
CW
15022013-11-21 Colin Watson <cjwatson@ubuntu.com>
1503
1504 * util/grub-mkrescue.c (main): If a source directory is not
1505 specified, read platform-specific files from subdirectories of
1506 pkglibdir, not pkgdatadir.
1507
b7f9aedf
CW
15082013-11-21 Colin Watson <cjwatson@ubuntu.com>
1509
1510 * grub-core/normal/progress.c: Remove unused file.
1511
7dd0a303
VS
15122013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1515 array.
1516
ca120e31
VS
15172013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1520 than grub.cfg.
1521
48eb35cd
VS
15222013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * coreboot.cfg: Add missing file.
1525
7f20dbbc
VS
15262013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1529
55e706c9
AK
15302013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1531
1532 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1533 selectively skipping systems.
1534
4e7d433d
CW
15352013-11-19 Colin Watson <cjwatson@ubuntu.com>
1536
1537 * Makefile.util.def (grub-mkimage): Add
1538 grub-core/osdep/aros/config.c to extra_dist.
1539 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1540 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1541 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1542 grub-core/gnulib-no-gets.diff.
1543
7d44ff7d
VS
15442013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 Add automated filesystem checking based on scripts I've used now for
1547 quite some time locally. Most of the test require root so they are
1548 skipped when run without necessarry privelegies.
1549
a8c3e5e3
CW
15502013-11-19 Colin Watson <cjwatson@ubuntu.com>
1551
1552 * util/grub-install.c (main): Adjust info messages to match
1553 installed paths of grub-bios-setup and grub-sparc64-setup.
1554
4402db3e
CW
15552013-11-19 Colin Watson <cjwatson@ubuntu.com>
1556
1557 * util/grub-install-common.c (copy_locales): Consistently use
1558 grub_util_get_localedir () rather than LOCALEDIR.
1559 (grub_install_copy_files): Likewise.
1560
7960d3e1
JT
15612013-11-19 Josh Triplett <josh@joshtriplett.org>
1562
1563 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1564 16-byte boundary, as required by the x86-64 ABI, before calling
1565 grub_main. In some cases, GCC emits code that assumes this
1566 alignment, which crashes if not aligned. The EFI firmware is also
1567 entitled to assume that stack alignment without checking.
1568
d53f4900
JT
15692013-11-18 Josh Triplett <josh@joshtriplett.org>
1570
1571 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1572 4k page boundaries as expected by firmware rather than 1k
1573 boundaries.
1574 (grub_mmap_malign_and_register): Likewise.
1575
bb2b275b
VS
15762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1579 fragmentation 512M is enough.
1580
45bf8b3a
VS
15812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1584 pointer to 32K. This is the size of cache element which is the most
1585 common allocation >1K. This way the pointer is always around blocks
1586 of 32K and so we keep performance while decreasing fragmentation.
1587
39ff43c5
VS
15882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1591 current memory when allocating large chunks. This significantly
1592 decreases memory fragmentation.
1593
60870be8
CW
15942013-11-18 Colin Watson <cjwatson@ubuntu.com>
1595
1596 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1597 but for symmetry).
1598 * tests/lzocompress_test.in: Skip if lzop is not installed.
1599 * tests/xzcompress_test.in: Skip if xz is not installed.
1600
a1f00cc5
CW
16012013-11-18 Colin Watson <cjwatson@ubuntu.com>
1602
1603 * util/grub-mkrescue.c (main): Fix typo.
1604
74e632fe
VS
16052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1608 clock frequency to 200 MHz,
1609
efb8de49
VS
16102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1613
b7526e78
VS
16142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1617 Load config file from (cbfsdisk)/etc/grub.cfg.
1618
b40ce651
VS
16192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * util/grub-install-common.c (grub_install_copy_files): Fix module
1622 destination directory.
1623
1e8e2e78
CW
16242013-11-18 Colin Watson <cjwatson@ubuntu.com>
1625
1626 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1627 files have not been built.
1628
3bf4088b
CW
16292013-11-18 Colin Watson <cjwatson@ubuntu.com>
1630
1631 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1632 Handle errors from mkstemp.
1633 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1634
35c2851c
VS
16352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1638 on primary master on pseries.
1639
ea7c1a7d
VS
16402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1643 already loaded. This saves memory needed for tests,
1644
96adefdb
VS
16452013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1648 work again.
1649
5e3cb8a7
VS
16502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1653 work again.
1654
256ee7ac
VS
16552013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1658 master since with some combinations of qemu and firmware only primary
1659 IDE channel is available.
1660
f8b4c3b6
VS
16612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1664 low-memory platforms where we don't have enough memory for them.
1665 * grub-core/tests/videotest_checksum.c: Likewise.
1666
4bf70320
VS
16672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1670 already loaded. This saves memory needed for tests,
1671
a284320e
VS
16722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Fix handling of install lists.
1675
2df8f43d
VS
16762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1679
6f1bc8bc
VS
16802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1683 the devices before accessing them.
1684
04f39f6d
VS
16852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1688 as file argument.
1689
35d4761c
VS
16902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1693
33d02a42
VS
16942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1697 (grub_file_close): Free file->name.
1698
7bbb60cf
VS
16992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1702 (grub_load_public_key): Likewise.
1703 (grub_verify_signature_real): Likewise.
1704 (grub_cmd_verify_signature): Likewise.
1705
da93d675
VS
17062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1709 memory leak.
1710
59c943ec
VS
17112013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1714 (grub_longjmp): Restore r31.
1715 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1716
4336b5d8
VS
17172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1720 modules to be in line with make_image_abs.
1721
44ce3a93
VS
17222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1725
1726 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1727
7d400406
IC
17282013-11-17 Ian Campbell <ijc@hellion.org.uk>
1729
1730 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1731
77dae919
VS
17322013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1735 to leave some memory to firmware.
1736
0ab8e025
VS
17372013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1740 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1741 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1742 Load gfxmenu.
1743
b80c2d6d
VS
17442013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1747 now needs full arguments.
1748
6aa6077b
VS
17492013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * util/grub-mkrescue.c (main): Add trailing \n in
1752 .disk_label.contentDetails to be in line with previous shell script.
1753
66c00cb1
VS
17542013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1757
3a129dba
VS
17582013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * util/grub-install-common.c (grub_install_parse): Recognize
1761 --compress=none like shell script did.
1762
8df6eff6
VS
17632013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * include/grub/misc.h: Replace check for __sparc64__ with one for
1766 __sparc__ as __sparc64__ isn't actually defined.
1767
889ebe92
VS
17682013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1771 counterpart of fixing the naming of escc ports.
1772
d4d55b29
VS
17732013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * util/grub-install-common.c (platforms): Fix the order of entries and
1776 remove useless field val.
1777
55e2c84f
VS
17782013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * util/grub-install.c: Add new option --no-bootsector to skip
1781 installing of bootsector. Accept --grub-setup=/bin/true as
1782 backwards-compatible synonym.
1783
cd46aa6c
VS
17842013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1785
1786 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1787 order of qsort arguments (number of elements vs. element size).
1788
17892013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1792 the function of these files exceeds what can be sanely handled in shell
1793 in posix-comaptible way. Also writing it in C extends the functionality
1794 to non-UNIX-like OS and minimal environments.
1795
9ef81064
VS
17962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1799 compiling to thumb2.
1800 * grub-core/kern/arm/cache_armv7.S: Likewise.
1801 * grub-core/lib/arm/setjmp.S: Likewise.
1802
11a77932
LL
18032013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1804
1805 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1806 in grub_uboot_syscall
1807
080603f0
VS
18082013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 Decrease stack usage in lexer.
1811
1812 We have only 92K of stack and using over 4K per frame is wasteful
1813
1814 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1815 as macros so that compiler would remove useless structure on stack.
1816 Better solution would be to fix flex not to put this structure on
1817 the stack but flex is external program.
1818
4f84ae0e
VS
18192013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Decrease stack usage in signature verification.
1822
1823 We have only 92K of stack and using over 4K per frame is wasteful
1824
1825 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1826 rather than stack.
1827 (grub_verify_signature_real): Likewise.
1828
e6a6182d
VS
18292013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Decrease stack usage in mdraid 0.9x.
1832
1833 We have only 92K of stack and using over 4K per frame is wasteful
1834
1835 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1836 rather than stack.
1837
1a454efe
VS
18382013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 Decrease stack usage in BtrFS.
1841
1842 We have only 92K of stack and using over 4K per frame is wasteful
1843
1844 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1845 rather than stack.
1846
7b5d51d8
VS
18472013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Decrease stack usage in JFS.
1850
1851 We have only 92K of stack and using over 4K per frame is wasteful
1852
1853 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1854 stack. Note: this function is recursive.
1855 (grub_jfs_read_inode): Read only part we care about.
1856
593865b9
LL
18572013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1858
1859 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
1860 handling
7b5d51d8 1861
31c0cd43
AB
18622013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1863
1864 * configure.ac: Restore -nostdlib for libgcc symbols tests.
1865
c2fdb331
AB
18662013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1867
1868 * docs/grub.texi (Environment): Document cmdpath.
1869
9e18dfe2
AB
18702013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1871
1872 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1873 Remove "unused" attribute from arguments, they are used.
1874
59ba9d14
CW
18752013-11-15 Colin Watson <cjwatson@debian.org>
1876
1877 * .gitignore: Only ignore grub-mk* at the top level.
1878
23012db9
CW
18792013-11-15 Colin Watson <cjwatson@ubuntu.com>
1880
1881 * util/grub-reboot.in (usage): Fix a typo.
1882
6fcec439
VS
18832013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Replace libgcc version of ctz with our own.
1886
1887 On upcoming arm64 port libgcc ctz* are not usable in standalone
1888 environment. Since we need ctz* for this case and implementation is
1889 in C we may as well use it on all concerned platforms.
1890
a9f25a08
VS
18912013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * configure.ac: Probe for linking format rather than guessing it based
1894 on target_os.
1895
c7995256
VS
18962013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
1899 "1" prior to handoff.
1900
1901 Reported by: M A Young.
1902
e1aa5b66
VS
19032013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
1906 \0 to all files.
1907
1908 Reported by: M A Young.
1909
da5ed5cf
VS
19102013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
1913 compilation on NetBSD.
1914
5757a93e
VS
19152013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * acinclude.m4: Don't add -P on initial nm test.
1918
1919 Note: even though this patch postdates Andrey's it bears 14 Nov as
1920 date due to timezone difference.
1921
a5986276
AB
19222013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
1923
1924 * grub-core/Makefile.core.def (signature_test): Add missing
1925 tests/signatures.h.
1926
0de172a0
CW
19272013-11-14 Colin Watson <cjwatson@ubuntu.com>
1928
1929 * util/grub-install_header: Set localedir here, since this file is
1930 where it's used.
1931 * util/grub-install.in: Remove setting of localedir.
1932 * util/grub-mkrescue.in: Likewise.
1933
da45f43c
VS
19342013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
1937
20aea949
VS
19382013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * configure.ac: Move nm checks to the end.
1941 Call grub_PROG_NM_WORKS.
1942 * acinclude.m4: New check grub_PROG_NM_WORKS.
1943 Use $TARGET_CFLAGS -c when compiling test binary.
1944
1326b9ae
CW
19452013-11-14 Colin Watson <cjwatson@ubuntu.com>
1946
1947 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
1948 unused variables.
1949
1fe26ab4
MG
19502013-11-14 Matthew Garrett <mjg@redhat.com>
1951
1952 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
1953 cmdpath to firmware directory.
1954
83e9c273
VS
19552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
1958 at the start of second iteration.
1959
ec525c18
VS
19602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
1963
93fcc7ad
VS
19642013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * Makefile.am (default_payload.elf): New target for easier coreboot
1967 build.
1968
57ffe934
VS
19692013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
1972 clang (not necessarry with -no-integrated-as).
1973 * include/grub/symbol.h [__arm__]: Likewise.
1974
2312f06c
VS
19752013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * configure.ac: Use -no-integrated-as on arm with clang.
1978 * INSTALL: Mention ARM compilation with clang.
1979
2416415c
VS
19802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
1983 -mthumb-interwork.
1984
5da55172
CW
19852013-11-14 Colin Watson <cjwatson@ubuntu.com>
1986
1987 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
1988 code for indirect block handling.
1989
1990 Saves 185 bytes on compressed image.
1991
da770328
PFS
19922013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1993
1994 Fix make clean.
1995
1996 * Makefile.am: Remove build-grub-* in make clean.
1997
f02e6b56
PFS
19982013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1999
2000 New files to gitignore.
2001
2002 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2003 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2004
035a26c1
LL
20052013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2006
2007 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2008
bc8a6137
LL
20092013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2010
2011 * .gitignore: fix rules for .dep* and add *.a post git migration
2012
6fe506b0
CW
20132013-11-13 Colin Watson <cjwatson@ubuntu.com>
2014
2015 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2016 to match INSTALL.
2017
81a2e438
CW
20182013-11-13 Colin Watson <cjwatson@ubuntu.com>
2019
2020 * grub-core/kern/misc.c: Don't redirect divisions in the
2021 GRUB_UTIL case.
2022 * include/grub/misc.h: Likewise.
2023
9b45c073
CW
20242013-11-13 Colin Watson <cjwatson@ubuntu.com>
2025
2026 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2027 systems that require checking the return value of write.
2028
11b2a9b7
CW
20292013-11-13 Colin Watson <cjwatson@ubuntu.com>
2030
2031 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2032 efibootmgr quiet when --debug is not used, rather than when it is.
2033
d743d22d
CW
20342013-11-13 Colin Watson <cjwatson@ubuntu.com>
2035
2036 * gentpl.py (define_macro_for_platform_dependencies): Remove
2037 first (and thus unused) of two definitions for this function.
2038 (platform_dependencies): Likewise.
2039
11da14b5
CW
20402013-11-13 Colin Watson <cjwatson@ubuntu.com>
2041
2042 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2043 functions, we only need to check this for the target, not the host.
2044 * configure.ac (grub_apple_cc): Likewise.
2045
2bdd0719
VS
20462013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2049 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2050 asm to stay in arm even if surrounding is thumb.
2051
5e77d9cf
VS
20522013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2055 helper functions are needed for thumb.
2056
7d511625
VS
20572013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2060 level / 3 division explicitly unsigned. Saves few bytes.
2061
81023dbd
VS
20622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2065
b2e9294f
VS
20662013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2069 division.
2070
16a22c38
VS
20712013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2074 grub_uboot_boot_data to asm part.
2075
c9cd02c9
VS
20762013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2079 literal load.
2080 (grub_uboot_syscall): Save/restore r9 and align stack.
2081
81498615
VS
20822013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2085
ea57de18
VS
20862013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2089 occurencies with END.
2090
d0d1e3da
CW
20912013-11-13 Colin Watson <cjwatson@ubuntu.com>
2092
2093 * util/grub-editenv.c (help_filter, argp): Document how to delete
2094 the whole environment block.
2095 Reported by Dan Jacobson. Fixes Debian bug #726265.
2096
3809f016
CW
20972013-11-13 Colin Watson <cjwatson@ubuntu.com>
2098
2099 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2100 sectioning.
2101
46d8a203
JT
21022013-11-13 Josh Triplett <josh@joshtriplett.org>
2103
2104 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2105 increment/decrement.
2106
513eeb61
VS
21072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2110 compiling with clang.
2111
bc379c1a
VS
21122013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2115 ".".
2116
21172013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 2118
16057d6b
VS
2119 Redirect all divisions to grub_divmod64.
2120
f649a6a8
VS
21212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2124
ef28ee8b
VS
21252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 Add missing includes of loader.h.
2128
300f48c5
VS
21292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * configure.ac: Allow disabling themes.
2132
2d357558
LS
21332013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2134
2135 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2136
0c62a5b2
VS
21372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2140 until it becomes operational.
2141
b0720b49
VS
21422013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/Makefile.core.def (legacy_password_test): Disable
2145 on platforms where no legacycfg is compiled.
2146 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2147 load legacy_password_test.
2148
d5bab2c0
VS
21492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2152
3ea0ccb3
VS
21532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2156
08772054
VS
21572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2160 strict-aliasing warning.
2161 (fsync): Silence cast warning.
2162
1dcb2715
VS
21632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/commands/verify.c: Remove variable length arrays.
2166 Load gcry_dsa/gcry_rsa automatically.
2167
61c22fdf
VS
21682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/tests/signature_test.c: New test.
2171
431e57a7
VS
21722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2175 API.
2176
b521bb81
VS
21772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2180 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2181
7d06b24e
VS
21822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2185
3bbeade4
VS
21862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/fs/proc.c: Allow \0 in proc files.
2189
ba82db7a
VS
21902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2193
801564c8
VS
21942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2197
ac8cac1d
VS
21982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/fs/ext2.c: Remove variable length arrays.
2201
4b85f122
VS
22022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2205 length arrays.
2206
c35fcdc0
VS
22072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2210 * grub-core/disk/cryptodisk.c: Likewise.
2211 * grub-core/disk/geli.c: Likewise.
2212 * grub-core/disk/luks.c: Likewise.
2213
15decd26
VS
22142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/tests/legacy_password_test.c: New test.
2217 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2218
9c6482b8
VS
22192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2222
41f26e0e
VS
22232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/tests/pbkdf2_test.c: New test.
2226
2def6616
VS
22272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2230
9e34a34e
VS
22312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/io/lzopio.c: Remove variable length arrays.
2234
5ccaf904
VS
22352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * include/grub/crypto.h: Add maximums on hash size and cipher block
2238 size.
2239
44a387e0
VS
22402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2243
a388e255
VS
22442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/tests/xnu_uuid_test.c: New test.
2247
a1ef7718
VS
22482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2251 covers it).
2252
65ddb300
VS
22532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/commands/hashsum.c: Remove variable length arrays.
2256
31747dd5
VS
22572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2260 condition.
2261 * tests/grub_func_test.in: Increase memory allocation.
2262
6a74c4df
VS
22632013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2266 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2267 sys/mount.h.
2268
394c3e0a
VS
22692013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2272 (grub_util_get_fd_size_os): ...this.
2273 (grub_hostdisk_flush_initial_buffer): New empty function.
2274
60d31116
VS
22752013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2278 without --defined-only.
2279
8445b011
VS
22802013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2283 rip-relative addressing in prologue.
2284
8506a641
VS
22852013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2288 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2289
66acd9d6
VS
22902013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2293 Add missing semicolon.
2294
348d0535
VS
22952013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2298
0d2d30bb
VS
22992013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * configure.ac: Check for lzma.h for enabling liblzma and allow
2302 manual disabling.
2303
631187be
VS
23042013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Add missing includes of loader.h.
2307
e756ec82
FZ
23082013-11-11 Fam Zheng <famcool@gmail.com>
2309
2310 * util/grub.d/30_os-prober.in: Add minix entry.
2311
87d62d7d
VS
23122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2315 right buffer for temporary load.
2316
5460cfeb
VS
23172013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2320
89977306
VS
23212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2324 payload.
2325
3617c59b
VS
23262013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2329 not Types.h.
2330 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2331 environment.
2332 (LzmaDec_InitDicAndState): Make static.
2333
881c6a10
VS
23342013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2337
2024ade2
VS
23382013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2341
2342 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2343
674ad4f6
VS
23442013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * docs/grub-dev.texi: Replace bzr references with git ones.
2347
5b99970e
AB
23482013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2349
2350 * docs/grub.texi (Simple configuration): Remove reference to
2351 grub-reboot from saved default entry description - grub-default
2352 does not use it anymore.
2353
3c2304d5
VS
23542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2357 compiled with.
2358
80cfd940
AB
23592013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2360
2361 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2362
33690255
VS
23632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 Fix grub_machine_fini bitrot.
2366
2367 Reported by: Glenn Washburn.
2368
c61471fc
VS
23692013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2372
54da019f
VS
23732013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2376 -DELF.
2377 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2378 instead of ELF*.
2379
23802013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2381
2382 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2383 Add -march=core2 when testing compile of efiemu64.
2384
2385 Thanks Andrey Borzenkov for spotting this.
2386
9612ebc0
VS
23872013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2390 XEN PV environment and load kernels.
2391
1a46a3a4
VS
23922013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2395 * grub-core/loader/multiboot_mbi2.c: Likewise.
2396
2df12551
VS
23972013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2400 handling.
2401
3c980381
VS
24022013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2405
2406 Tested by: Denis 'GNUtoo' Carikli.
2407
800f63d3
VS
24082013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2411
9f8acdaa
VS
24122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2413
5620eb53
VS
2414 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2415 Use to get rounded angle rather than truncated.
2416
24172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2420 RTS/CTS flow control.
2421
2dc1eb6c
VS
24222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2425 divisions.
2426
b9563c94
VS
24272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2430 Use grub_fatal rather than divide by zero.
2431 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2432
d6d8e9a9
VS
24332013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2436 truncate.
2437 (grub_fixed_fsf_divide): Likewise.
2438
d06de6c8
VS
24392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2442 division by-zero and senseless negative divisions.
2443
6af7d49b
VS
24442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2447 division by-zero and senseless negative divisions.
2448 (circprog_set_property): Don't accept negative num_ticks.
2449
bcfa6d72
VS
24502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2453 division by-zero and senseless negative divisions.
2454
dd7f792c
VS
24552013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * configure.ac: Use elf_*_fbsd on kfreebsd.
2458
d061fda7
VS
24592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/tests/div_test.c: New test.
2462
4db22500
VT
24632013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2464
2465 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2466 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2467 * grub-core/gfxmenu/view.c: Likewise.
2468 * grub-core/video/fb/video_fb.c: Introduce new functions:
2469 grub_video_set_area_status, grub_video_get_area_status,
2470 grub_video_set_region, grub_video_get_region.
2471 * grub-core/video/bochs.c: Likewise.
2472 * grub-core/video/capture.c: Likewise.
2473 * grub-core/video/video.c: Likewise.
2474 * grub-core/video/cirrus.c: Likewise.
2475 * grub-core/video/efi_gop.c: Likewise.
2476 * grub-core/video/efi_uga.c: Likewise.
2477 * grub-core/video/emu/sdl.c: Likewise.
2478 * grub-core/video/radeon_fuloong2e.c: Likewise.
2479 * grub-core/video/sis315pro.c: Likewise.
2480 * grub-core/video/sm712.c: Likewise.
2481 * grub-core/video/i386/pc/vbe.c: Likewise.
2482 * grub-core/video/i386/pc/vga.c: Likewise.
2483 * grub-core/video/ieee1275.c: Likewise.
2484 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2485 * include/grub/video.h: Likewise.
2486 * include/grub/video_fb.h: Likewise.
2487 * include/grub/fbfill.h: Updated render_target structure.
2488 grub_video_rect_t viewport, region, area
2489 int area_offset_x, area_offset_y, area_enabled
2490 * include/grub/gui.h: New helper function
2491 grub_video_bounds_inside_region.
2492 * docs/grub-dev.texi: Added information about new functions.
2493
c6b755df
VS
24942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2497 for alignment.
2498
e2a68100
VS
24992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2502 missing attribute.
2503 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2504
c4f11a2a
VS
25052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2508 simple division on arm and ia64.
2509
e0a7bffa
VS
25102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2513 link with libgcc.
2514
38b864ea
VS
25152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2518
12359faf
VS
25192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2522 prefix symbol, not @.
2523
9fdc64a9
VS
25242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * INSTALL: Add note about older gcc and clang.
2527
665c575b
VS
25282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2531
47dcf7b1
VS
25322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2535 NULL pointer dereference.
2536
d59849b2
VS
25372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2540 clang.
2541
7a3f4a18
VS
25422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2545 warnings.
2546
7f084087
VS
25472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2550 function.
2551 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2552 * grub-core/disk/geli.c (ascii2hex): Likewise.
2553
d5524ca8
VS
25542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * configure.ac: Run linker tests without -Werror.
2557 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2558 Change all occurences of -static-libgcc resp -lgcc to
2559 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2560
390cd7ca
VS
25612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2564
60375a88
VS
25652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Allow compiling with clang (not really supported though).
2568
2569 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2570 unconditionally.
2571 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2572 Add -mrtd -mregparm=3 on i386 when not using clang.
2573 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2574
dd07e0c4
VS
25752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2578 bindings.
2579 * grub-core/lib/reed_solomon.c: Likewise.
2580 * include/grub/i386/gdb.h: Likewise.
2581 * include/grub/i386/pc/int.h: Likewise.
2582 * include/grub/i386/pc/pxe.h: Likewise.
2583 * include/grub/ieee1275/ieee1275.h: Likewise.
2584
9d3ae8ec
VS
25852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 Import libgcrypt 1.5.3.
2588
c12936c5
VS
25892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * configure.ac: Don't add -Wcast-align on x86.
2592
cdc17f60
VS
25932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * configure.ac: Add -freg-struct-return on all platforms that
2596 support it.
2597
b35ec299
VS
25982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * acinclude.m4: Use -Werror on parameter tests.
2601 * configure.ac: Likewise.
2602
05f3a0d7
VS
26032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2606
c966a489
VS
26072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * configure.ac: Check that -malign-loops works rather than assuming that
2610 either -falign-loops or -malign-loops work.
2611
bb0c57ec
VS
26122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2615
24f4e57c
VS
26162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * configure.ac: Prevent cflags leaking to subsequent tests by always
2619 resetting cflags to target_cflags in target tests.
2620
ac319fbc
VS
26212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2624 function.
2625
4bfe934c
VS
26262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2629
40a5bfde
VS
26302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2633
a67c755e
VS
26342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/normal/cmdline.c (grub_cmdline_get):
2637 Remove nested functions.
2638
87a04a2d
VS
26392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * tests/test_sha512sum.in: Make it work on emu.
2642
c03995d2
VS
26432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2646 functions.
2647 (grub_bidi_line_logical_to_visual): Likewise.
2648
ec0ebb3f
VS
26492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 Remove vestiges of -Wunsafe-loop-optimisations.
2652
2653 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2654 -Wno-unsafe-loop-optimisations.
2655 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2656 pragma.
2657 * grub-core/io/gzio.c: Likewise.
2658 * grub-core/script/parser.y: Likewise.
2659 * grub-core/script/yylex.l: Likewise.
2660 * util/grub-mkfont.c: Likewise.
2661
6ab537e3
VS
26622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * util/grub-mkfont.c (process_cursive): Remove nested function.
2665
e6c368d4
VS
26662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2669 (grub_boot_time): Likewise.
2670
4f1cfd22
VS
26712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * include/grub/symbol.h (FUNCTION): Use @function rather than
2674 "function".
2675 (VARIABLE): Likewise.
2676
6d5a4cee
VS
26772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2680
f06c2172
VS
26812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2684 (parse_dhcp_vendor): Likewise.
2685
7cb24eb5
VS
26862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2689
f30c692c
VS
26902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2693 Define after defining type and not before.
2694
8b66bb5d
VS
26952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2698 type.
2699 (grub_gcm_decrypt): Likewise.
2700 (algo_decrypt): Likewise.
2701 (grub_zfs_decrypt_real): Transform error type.
2702
5d17fd0f
VS
27032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2706
ac35a0f7
VS
27072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2710 (grub_usbms_cbi_reset): Likewise.
2711 (grub_usbms_bo_reset): Likewise.
2712 (grub_usbms_reset): Likewise.
2713 (grub_usbms_attach): Likewise.
2714 (grub_usbms_transfer_cbi): Likewise.
2715
3ee08697
VS
27162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2719 "checksum = checksum;".
2720
70bb6c85
VS
27212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2724 entry_type.
2725
c7f34744
VS
27262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2729 BIOS disk check.
2730
3f63b4d8
VS
27312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2734 type.
2735 (grub_ehci_fini_hw): Likewise.
2736 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2737
dac6ce73
VS
27382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2741 return grub_usb_err_t for cosistency. All users updated.
2742
5701750c
VS
27432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2746 assigning to itself.
2747
9e236169
GLD
27482013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
27492013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2750
2751 Issue separate DNS queries for ipv4 and ipv6
2752
2753 Adding multiple questions on a single DNS query is not supportted by
2754 most DNS servers. This patch issues two separate DNS queries
2755 sequentially for ipv4 and then for ipv6.
2756
2757 Fixes: https://savannah.gnu.org/bugs/?39710
2758
2759 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2760 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2761 * (grub_net_dns_lookup): Now using separated dns packages.
2762 * (grub_cmd_nslookup): Add error condition.
2763 * (grub_cmd_list_dns): Print DNS option.
2764 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2765 --prefer-ipv4, and --prefer-ipv6.
2766 * include/grub/net.h (grub_dns_option_t): New enum.
2767 * (grub_net_network_level_address): option added.
2768
339eacce
VT
27692013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2770
2771 * grub-core/video/fb/video_fb.c: Merge two blit functions
2772 into one.
2773
810f991b
VS
27742013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/term/terminfo.c: Add sequences for home and end.
2777
386571a2
VS
27782013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2781 graphics console.
2782
3fe63754
VS
27832013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2786 add mode 0x12.
2787
76681e71
VS
27882013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2791 e-mail by Per Öberg.
2792
46522fb7
VS
27932013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2796 name.
2797
e7d09ac4
AB
27982013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2799
2800 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2801 emu platforms.
2802 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2803
67508925
VS
28042013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * docs/grub.texi: Document usage of menuentry id.
2807
0c62124e
VS
28082013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2811
9b5d4eed
PL
28122013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2813
2814 * grub-core/commands/i386/nthibr.c: New command.
2815
79054c1d
VS
28162013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2819
44d47bbe
VS
28202013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2823 coordinate.
2824
323de05b
VS
28252013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 Support GRUB_DISABLE_SUBMENU config.
2828
2829 Inspired by patch from Prarit Bhargava.
2830
5a01722e
VS
28312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * docs/grub.texi: Mention RSA support.
2834
1106c3f0
VS
28352013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/commands/verify.c: Add RSA support.
2838
a1dcc2cb
VS
28392013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2842 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2843 device is known to be ATAPI.
2844
ee7fb780
MF
28452013-11-03 Mike Frysinger <vapier>
2846
2847 * configure.ac: Don't add target-prefix.
2848
5ade4a42
VS
28492013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2852 variables.
2853
6cd66043
VS
28542013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
2857 if language is English.
2858
090d7c81
VS
28592013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
2862
dd614590
VS
28632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * configure.ac: Don't add -m32/-m64 on emu.
2866
a8686589 28672013-11-02 neil
2868
2869 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
2870 broken linux headers.
2871
fb9f12a0
VS
28722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2875
e25f8e1f
VS
28762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
2879 Reed-Solomon recovery if more than half of redundancy info is 0.
2880
4685200f
VS
28812013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * util/grub-mount.c: Handle symlinks to directories.
2884
1397f0b5
VS
28852013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
2888 find_file recursively for symlink.
2889
8b3e6eb6
VS
28902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * tests/util/grub-shell.in: Copy themes.
2893
a0c9d5c6
VS
28942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2897
5cf9459c
VS
28982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * configure.ac: Use 0x8000 for address instead of 8000.
2901
e7b66a28
VS
29022013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
2905 signature.
2906
203f53fb
VS
29072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
2910 variable.
2911
02663ee9
VS
29122013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
2915
f169f65e
VS
29162013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
2919 file_progress_read_hook.
2920 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
2921
2855a0fc
VS
29222013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
2925 and double.
2926
bf0f3a8c
VS
29272013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
2930
cb72aa18
VS
29312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Rewrite blocklist functions in order to get progress when
2934 reading large extents and decrease amount of blocklist hook calls.
2935
896f9135
VS
29362013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
2939 of SI suffixes.
2940
89295a06
VS
29412013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 Support --base-clock for serial command to handle weird cards with
2944 non-standard base clock.
2945
eb03ede0
VS
29462013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
2949 strncpy.
2950 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
2951 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
2952 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
2953 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
2954 + strcpy rather than strncpy.
2955
8fbe5c7d
VS
29562013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
2959 (check_pool_label): Likewise. Fixes overflow.
2960 (nvlist_find_value): Fix comparison.
2961
e54b8f53
VS
29622013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * include/grub/misc.h (grub_strcat): Removed. All users changed to
2965 more appropriate functions.
2966
fa9b3dca
VS
29672013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
2970 realloc.
2971
9a021c55
VS
29722013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * util/grub-mkrescue.in: Do not use UUID search on EFI.
2975
80e8b13a
VS
29762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
2979 on core size.
2980
b61599ac
VS
29812013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
2984
a602dc54
VS
29852013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
2988 (initialize_tables): reset tl and td to NULL after freeing.
2989
93c12075
VS
29902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
2993
1ca4b75e
VS
29942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
2997 of supported tags.
2998
329550c4
VS
29992013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3002
00bfa988
VS
30032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3006 quirks.
3007
81afc5cc
VS
30082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3011 a page in protected space.
3012
cb3c4a47
VS
30132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3016 allocate space for zero-sized modules.
3017
954f7bf5
VS
30182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3021
526d3d25
FL
30222013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3023
3024 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3025
74124c34
VS
30262013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3029 safeguards. Fixes a crash with i386/pc/console.c.
3030
5177391e
VS
30312013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3034 and grub_hostfs_init.
3035
64db14b0
VS
30362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3039 windows method on other platforms without good stat as well.
3040
effe2036
VS
30412013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3044
82591fa6 30452013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3046
82591fa6
VS
3047 Make / in btrfs refer to real root, not the default volume.
3048 Modify mkrelpath to work even if device is mounted with subvolid option.
3049
30502013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3051
3052 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3053 extra_dist.
3054 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3055 extra_dist.
3056
30fd7198
VS
30572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3060 fails.
3061
8d179dae
BC
30622013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3063
3064 * docs/autoiso.cfg: New file.
3065
3bc9c8cf
VS
30662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3069 COND_GRUB_PE2ELF conditions.
3070
8b46b0ea
VS
30712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3074 "vnd", "rd" and "fd" disks.
3075
442b86de
VS
30762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Move grub_disk_write out of kernel into disk.mod.
3079
04dea7e6
VS
30802013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3083 handling.
3084
30852013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3086
3087 * grub-core/kern/misc.c (grub_abort): Make static
3088
04dea7e6 30892013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3090
3091 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3092 transform invalid unicode codepoints.
3093
04dea7e6 30942013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3095
3096 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3097 \0 checking.
3098
03dcac7f
VS
30992013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3102
c81acb7f
VS
31032013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Consolidate cpuid code.
3106
c1bee646
VS
31072013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 Move cpuid code to cpuid.h and TSC code to tsc.c.
3110
f37bf9c7
GS
31112013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3112
3113 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3114
4021132b
GS
31152013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3116
3117 * util/grub-mkconfig.in: Replace $0 with $self.
3118 * util/grub-reboot.in: Likewise.
3119 * util/grub-set-default.in: Likewise.
3120
3ace8d75
BC
31212013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3122
3123 * docs/osdetect.cfg: New file.
3124
1e6ad6a6
BC
31252013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3126
3127 * tests/util/grub-shell.in: Add new --debug option.
3128
188929eb
BC
31292013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3130
3131 * tests/test_unset.in: New test.
3132
7994a09a
BC
31332013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3134
3135 * tests/test_sha512sum.in: New test.
3136
2a8a7585
VS
31372013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3140 * include/grub/misc.h: Remove strncat.
3141 * grub-core/lib/posix_wrap/string.h: Likewise.
3142
cf8d6bbd
VS
31432013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3146 Try to handle more than 0xFFFF packets.
3147 Reported by: Bernhard Übelacker <bernhardu>.
3148 He also spotted few overflows in first version of this patch.
3149
6d1fc99a
VS
31502013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * tests/date_unit_test.c: New test.
3153
10bafa1c
VS
31542013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3157 of first three years after start of validity of unixtime.
3158
b1c6d037
VS
31592013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3162 division as the one making more sense.
3163 (update_screen): Likewise.
3164 (complete): Likewise.
3165
5f4028d4
VS
31662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3169
a2856736
VS
31702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 Make char and string width grub_size_t rather than grub_ssize_t.
3173
0a7e52b2
VS
31742013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3177 unsigned.
3178 (grub_history_replace): Likewise.
3179
42829573
VS
31802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3183 appropriate.
3184
3523b8d8
VS
31852013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3188 appropriate.
3189
d43c6489
VS
31902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3193 Use unsigned divisions rather than signed variants.
3194
f690f8b0
VS
31952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3198 unsigned arithmetics.
3199 Add missing break.
3200
74ff2c05
VS
32012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3204
fb56391e
VS
32052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3208 rather than signed one.
3209 (recovery): Likewise.
3210
40f29060
VS
32112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3214
c64577a5
VS
32152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3218 than signed.
3219
c16535a8
JM
32202013-10-25 Jon McCune <jonmccune@google.com>
3221
3222 * docs/grub.texi: Cleanup security documentation around signatures.
3223
6673d8e7
VS
32242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3227
a105d375
VS
32282013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3231 than int.
3232
af81ed88
VS
32332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3236 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3237 functions when compiling for kernel.
3238
ea899a57
VS
32392013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3242 unsigned long long when using %llu.
3243
c6dc6fa1
VS
32442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3247 terminal after updating progress.
3248
ad2dc003
VS
32492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3252 argument. We don't disable Gate A20 in this code.
3253
b46684ae
VS
32542013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3257 Conceptually based on change in branch "vbe-on-coreboot".
3258
f70d5c07
RM
32592013-10-24 Robert Millan <rmh@gnu.org>
3260
3261 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3262 numeric constants with their symbolic equivalent.
3263 Taken from branch "vbe-on-coreboot".
3264
bca274b4
VS
32652013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3268
238f0489
VS
32692013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3272 divmod64 for offset division.
3273
863c590b
PFS
32742013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3275
3276 Rename .bzrignore to .gitignore. Add "*.o" rule.
3277
3278 * .bzrignore: Renamed to...
3279 * .gitignore: ...this.
3280
84a0e969
PFS
32812013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3282
3283 Add new progress module that displays the load progress of files.
3284
3285 * grub-core/lib/progress.c: New file.
3286 * grub-core/Makefile.core.def (progress): New module.
3287 * grub-core/kern/file.c (grub_file_open): File name added.
3288 * (grub_file_read): Progress hook added.
3289 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3290 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3291 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3292 * include/grub/file.h (struct grub_file): Add progress module members.
3293 * include/grub/term.h (struct grub_term_output): Likewise.
3294 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3295 Terminal velocity added.
3296 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3297 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3298 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3299 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3300 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3301 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3302 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3303 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3304 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3305 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3306 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3307 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3308
0d711431
VS
33092013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Verify signatures of signatures unless --skip-sig is specified.
3312
f8401f76
VS
33132013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3316 \0 checking.
3317
3318 Saves 70 bytes on compressed image.
3319
ac1feb61
VS
33202013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3323 check.
3324
3325 Saves 10 bytes on compressed image.
3326
00f72e89
VS
33272013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/kern/misc.c (grub_isprint): Move to ...
3330 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3331
3332 Saves 20 bytes on compressed image due to remving exporting.
3333
067e6ae7
VS
33342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3337
3338 Saves 5 bytes on compressed image.
3339
64a6c791
VS
33402013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3343 function get_utf8.
3344
3345 Saves 379 bytes on compressed image.
3346
979d9f52
VS
33472013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3350
1437da54
VS
33512013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3354
3355 Saves 40 bytes on compressed image.
3356
d9ee2269
VS
33572013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3360 mask rather than 64-bit type.
3361
3362 Saves 20 bytes on compressed image.
3363
63efa602
VS
33642013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3367 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3368
47601ffe
VS
3369 Saves 273 bytes on compressed image.
3370
2cc679ad
VS
33712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3374 variable length arrays.
3375
3376 Saves 50 bytes on compressed image.
3377
2e4659b8
VS
33782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3381
2a40badf
VS
33822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/fs/ufs.c: Remove variable length arrays.
3385
1ba6b9b9
VS
33862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3389
f3e39341
VS
33902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/fs/zfs.c: Remove variable length arrays.
3393 Reduces zfs.mod by 160 bytes (208 compressed).
3394
71523935
VS
33952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3398
28153eb8
VS
33992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/net/arp.c: Remove variable length arrays.
3402 * grub-core/net/bootp.c: Likewise.
3403 * grub-core/net/dns.c: Likewise.
3404 * grub-core/net/icmp6.c: Likewise.
3405 * grub-core/net/net.c: Likewise.
3406
88ce4cd7
VS
34072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/fs/ntfs.c: Remove variable length arrays.
3410 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3411 compressed).
3412
66123940
VS
34132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/fs/hfs.c: Remove variable length arrays.
3416 Reduces hfs.mod by 8 bytes (52 compressed).
3417
0927e5bd
VS
34182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3421 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3422 compressed).
3423
9c12ac97
VS
34242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3427 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3428 compressed).
3429
97ec2d71
VS
34302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3433 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3434 compressed).
3435
156e4ea0
VS
34362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/fs/xfs.c: Remove variable length arrays.
3439 Reduces xfs.mod by 40 bytes (43 compressed).
3440
3b502c29
VS
34412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/fs/fshelp.c: Remove variable length arrays.
3444 Reduces fshelp.mod by 116 bytes (23 compressed).
3445
c7037f1d
VS
34462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/normal/completion.c: Remove variable length arrays.
3449 * grub-core/normal/menu_entry.c: Likewise.
3450
3451 Reduces normal.mod by 496 bytes.
3452
a07e6ad0
VS
34532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3456 by 356 bytes (158 compressed).
3457
2359bf88
VS
34582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3461 by 364 bytes (169 compressed).
3462
d28e1163
VS
34632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3466 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3467 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3468
e89c2d48
VS
34692013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3472 bitmasks to small structures of size chosen to fit in registers.
3473
7abdac8e
VS
34742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * conf/Makefile.common: Use -freg-struct-return on i386. This
3477 decreases code size and improves performance.
3478
518864c0
VS
34792013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3482
bbd2b539
VS
34832013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3486 "(null)" string.
3487 Simplify expressions to save around 256 bytes in kernel.img.
3488 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3489
99519c15
VS
34902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3493 Use GRUB_UTIL_FD_O_* rather than O_*.
3494
20285765
VS
34952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 Add haiku-specific functions.
3498
887c0bb6
VS
34992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3502
cd78a56f
VS
35032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 Move stat () and device mode checking into OS-dependent files as
3506 long as performance doesn't suffer.
3507
a4012f07
VS
35082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 Split make_system_path_relative_to_its_root into separate file
3511 relpath.c from getroot.c as it's common between unix and haiku
3512 but otherwise haiku doesn't use any functions from unix getroot.c.
3513
31de274d
VS
35142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3517 New function.
3518 (grub_util_is_special_file): Likewise.
3519
40346de6
VS
35202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3523 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3524
d3923ab9
VS
35252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3528 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3529
663f6eb1
VS
35302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3533 (load_image): Likewise.
3534
44d1c20a
VS
35352013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * util/grub-render-label.c: Move backend part to ...
3538 * util/render-label.c: ... here.
3539
d0a116ee
VS
35402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3543 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3544
b47fcae6
VS
35452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3548
0f7c00c1
VS
35492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3552 CD-ROM in case when it's declared as having subpartitions.
3553
29013cba
VS
35542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 Don't add -lm on haiku.
3557
3558 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3559 and empty on haiku.
3560 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3561 -lm.
3562
e8559d24
VS
35632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * configure.ac: Use -melf_*_haiku as target on haiku.
3566
8104063c
VS
35672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * Makefile.util.def: Add util/setup.c to extra_dist.
3570
fc3182c7
VS
35712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3574 unknown types through.
3575
f90a3cc0
VS
35762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3579 (grub_util_check_char_device): Likewise.
3580 * include/grub/emu/getroot.h: Likewise.
3581
1e3e7419
VS
35822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3585 memset rather than inline static function.
3586
92c88fc8
VS
35872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3590 not doing embedded decompressor.
3591
3cd910a2
VS
35922013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3595 shadowing.
3596 * grub-core/kern/disk.c: Likewise.
3597 * grub-core/kern/misc.c: Likewise.
3598 * include/grub/parser.h: Likewise.
3599 * include/grub/script_sh.h: Likewise.
3600 * include/grub/zfs/zfs.h: Likewise.
3601
7b3aca00
VS
36022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3605
97dfe7e4
VS
36062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3609 defined before trying to use it.
3610
bf919aa9
VS
36112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3614 warning.
3615
f4ccf29d
VS
36162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3619 Use __unused__ rather than __used__ on gcc < 3.2.
3620
0d3a6f85
VS
36212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3624 gcc < 4.0.
3625 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3626
757e3eb7
VS
36272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3630
fb320faf
VS
36312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3634 * include/grub/emu/misc.h: Likewise.
3635
ea73acd2
VS
36362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3639 cur_color.
3640
71237a6f
VT
36412013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3642
3643 * grub-core/tests/checksums.h: Regenerated due to progress bar
3644 get_minimal_size changes.
3645
3d46c22f
BC
36462013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3647
3648 Added `tr' command support.
3649
3650 * grub-core/commands/tr.c: New file.
3651 * grub-core/Makefile.core.def: Build rules for new module.
3652
3653 * tests/grub_cmd_tr.in: New test.
3654 * Makefile.util.def: Build rules for new test.
3655
47e0a61f
VT
36562013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3657
3658 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3659
946fd073
VT
36602013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3661
3662 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3663 * docs/gurb.texi: Likewise.
3664
9c13c576
VT
36652013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3666
3667 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3668 Pixmap highlighted section with east and west slices was displayed
3669 incorrectly due to negative width of the central slice.
3670
ad543f12
VT
36712013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3672
3673 * docs/grub.texi: Graphical options information update.
3674 Removed outdated. Updated current. Inserted missed.
3675
6176a0cd
VS
36762013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * docs/grub.texi: Mention few new platform-specific commands.
3679
9688cae2
VS
36802013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3683 currently used so this doesn't really have any effect.
3684 Reported by: Douglas Ray <dougray>
3685
f7b69a3f
VS
36862013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3689 compilation but prevents gcc from displaying messages in non-Latin
3690 alphabets.
3691 * conf/Makefile.common: Likewise.
3692
ceca6ddf
HY
36932013-10-16 Hiroyuki YAMAMORI
3694
3695 Handle Japanese special keys.
3696 Reported by: Hiroyuki YAMAMORI.
3697 Codes supplied by: Hiroyuki YAMAMORI.
3698
ac48d334
VT
36992013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3700
3701 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3702
b2b71bff
VT
37032013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3704
3705 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3706 * docs/grub.texi: Likewise.
3707
669fc449
VS
37082013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3711 value in case of incomplete read.
3712 (grub_util_fd_write): Likewise.
3713
59381678
VS
37142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3717
bacfefbb
VS
37182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * util/grub-editenv.c (create_envblk_file): More from here ...
3721 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3722
f7c49570
VS
37232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3726 canonicalize file name before doing the rest.
3727
7b83ca44
VS
37282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3731 mingw32.
3732
df1e64c9
VS
37332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Define grub_util_is_directory/regular/special_file and
3736 use OS-dependent versions rather than to rely on stat().
3737
ec16e026
VS
37382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * util/grub-mkimage.c: Move backend part to ...
3741 * util/mkimage.c: ... here.
3742
4b4eeb3c
VS
37432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Allow compilation with mingw64 albeit with warnings due to lack of
3746 %llx/%llu.
3747
3748 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3749 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3750 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3751 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3752 on mingw64.
3753 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3754
f4e0adc0
VS
37552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 Remove leftover references to some of the system headers.
3758
e0127364
VS
37592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3762 read.
3763
20d53541
VS
37642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3767 of strerror.
3768
5a869940
VS
37692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Split out blocklist retrieving from setup.c to
3772 grub-core/osdep/blocklist.c and add windows implementation since
3773 generic version doesn't work on NTFS on Windows due to aggressive
3774 unflushable cache.
3775
c06c7520
VS
37762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3779 files.
3780
8f53bb3f
VS
37812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3784 Cut tailing newline. Remove arbitrary limitation. Always use
3785 grub_util_tchar_to_utf8.
3786
148f1007
VS
37872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3790 * tests/printf_unit_test.c (printf_test): Add %% tests.
3791 Reported by: Paulo Flabiano Smorigo.
3792
af3b06be
VS
37932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3796 implement fsync.
3797
27f9d02e
VS
37982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3801 use nvlist_lookup_string and don't use nvlist_print.
3802
f6a81f0a
VS
38032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3806 closedir to handle filename charset translation.
3807
d7750b32
VS
38082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * include/grub/emu/hostdisk.h: Move file operations to
3811 * include/grub/emu/hostfile.h: ... here.
3812
2859196e
VS
38132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3816 unicode path.
3817
c018c968
VS
38182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3821
7e45abce
VS
38222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3825 and remove export.h.
3826
23934da2
VS
38272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/kern/emu/error.c: Removed.
3830 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3831 explicitly as it's already in libgnu.a.
3832
c11ebcc8
VS
38332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3836 config-util.h include.
3837
70671037
VS
38382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 Split emunet into platform-dependent and GRUB-binding parts. Keep
3841 platform-dependent part in kernel for easy access to OS functions.
3842
25ac643a
VS
38432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3846 open/read/write.
3847
69ca5876
VS
38482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/osdep/windows/emuconsole.c: New file.
3851
d9d68ef0
AB
38522013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3853
3854 * conf/Makefile.extra-dist: Add osdep/*/init.c
3855
58e211cc
VS
38562013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
3859
588744d0
VS
38602013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 * util/grub-probe.c (probe): Separate different drives in hint-str
3863 by spaces and not newlines.
3864 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
3865
44016e52
AB
38662013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3867
3868 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3869 Handle CD-ROMs.
3870
6de9ee86
VS
38712013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 Pass-through unknown E820 types. It required reorganisation of mmap
3874 module.
3875
f8f3f155
AB
38762013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3877
3878 * Makefile.util.def: Add osdep/init.c to grub-mount files.
3879
b73249d2
VS
38802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
3883 fseeko.
3884
dac86b18 38852013-10-14 qwertial <qwertial>
3886
3887 * grub-core/gdb_grub.in: Fix overflow and wrong field.
3888
17614b84
JM
38892013-10-14 Jon McCune <jonmccune@google.com>
3890
3891 * docs/grub.texi: Document new signatures possibility.
3892
6de292cb
VS
38932013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
3896
84379b61
VS
38972013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
3900 missing prototype.
3901 (grub_util_tchar_to_utf8): Likewise.
3902
21d85db1
VS
39032013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
3906 * grub-core/kern/emu/main.c: Add missing include.
3907 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
3908 Don't call grub_util_init_nls.
3909 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
3910 Likewise.
3911
66a1b3ee
VS
39122013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
3915 stat.
3916
e19bec17
VS
39172013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
3920
ee8c1b29
VS
39212013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
3924
bb338aaf
VS
39252013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Add a wrapper for fopen. On unix-like systems just pass-through. On
3928 windows use unicode version.
3929
ae5540d3
VS
39302013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 Move set_program_name and init_nls to host_init. On windows
3933 fix in this fuction console and argument charset as well.
3934
4cd3c4fe
AB
39352013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
3936
3937 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
3938 GRUB_ENABLE_CRYPTODISK.
3939
3940 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
3941 GRUB_ENABLE_CRYPTODISK.
3942 * util/grub-mkconfig_lib.in: Likewise.
3943
78170f3e
CCZ
39442013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
3945
3946 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
3947
3414b6c0
MC
39482013-10-12 Melki Christian <Christian.melki@saabgroup.com>
3949
3950 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
3951 error when enabling debug.
3952
6d0740e8
IB
39532013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
3954
3955 * configure.ac: Use -melf_*_obsd on openbsd.
3956
ff2d4dc4
VS
39572013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
3960
eac6ae82
VS
39612013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * include/grub/misc.h: Use gnu_printf rather than printf as format
3964 template since our functions are independent of libc.
3965
ba9baabe
VS
39662013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * util/grub-setup.c (setup): Move copying of partition table as
3969 futher up as possible to avoid possible overwrite by floppy routines.
3970
39712013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
3972
3973 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
3974
145e2369
VT
39752013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3976
3977 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
3978 * docs/grub.texi: Likewise.
3979
3530bc9d
VS
39802013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
3983 it's mostly unused. Move vestiges to the callers.
3984
fb9f59c3
VS
39852013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
3988 version of salt and hash. Use grub_snprintf rather than snprintf.
3989
9be1c255
VS
39902013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * docs/grub.texi: Fix problem with braces.
3993
ed8c0887
VS
39942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * conf/Makefile.extra-dist: Fix extra-dist list.
3997 * grub-core/Makefile.core.def: Likewise.
3998
f72ab14e
VS
39992013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * docs/grub.texi: Document disk names used on Windows and AROS.
4002
2fe53a22
VS
40032013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4006 with AROS devs.
4007 * grub-core/osdep/aros/hostdisk.c: Likewise.
4008
71c1d67a
VS
40092013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 Avoid including hostfile.h when not necessarry as it pulls
4012 in OS-specific headers which may redefine generic names
4013 like "far".
4014
ad297ec7
VT
40152013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4016
4017 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4018 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4019 scrollbar_bottom_pad
4020 * docs/grub.texi: Likewise.
4021
6e9e5dc9
VT
40222013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4023
4024 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4025
761c718b
VS
40262013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4029
37149a2f
VS
40302013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4033 Removed.
4034 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4035 Made static.
4036
3837a151
VS
40372013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4040 leftover.
4041
caca1c70
VS
40422013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 Move OS-specific driver configuration to grub_util_fd_open. This
4045 moves OS-dependent parts from kern/emu/hostdisk.c to
4046 grub-core/osdep/*/hostdisk.c.
4047
f7676b70
VS
40482013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * util/grub-mkimage.c (generate_image): Use size_t instead of
4051 grub_size_t.
4052 * util/grub-mkimagexx.c (locate_sections): Likewise.
4053 (load_image): Likewise.
4054
22f98db2
VS
40552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4058 size_t.
4059 (grub_util_write_image): Likewise.
4060
b102ce69
VS
40612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4064 get random when no RNG is available.
4065 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4066
acbbe5cb
VS
40672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * include/grub/util/lvm.h: Removed.
4070
2112fb3f
VS
40712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4074 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4075
79f78fbf
VS
40762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4079
c2e6f705
VS
40802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4083
aabe433a
VS
40842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/net/drivers/emu/emunet.c: Move to ..
4087 * grub-core/osdep/linux/emunet.c: ..here.
4088
9a2c903f
VS
40892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * util/ieee1275/ofpath.c: Move to ...
4092 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4093 * grub-core/osdep/basic/ofpath.c: ..here.
4094
4a445f58
VS
40952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 Move password-querying (util-version) routines to grub-core/osdep.
4098
c1ca4244
VS
40992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 Move sleep routines to grub-core/osdep.
4102
672fa55e
VS
41032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Move OS-dependent files to grub-core/osdep and document it.
4106
a5b0365a
VS
41072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4110 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4111
29072e99
VS
41122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4115
f8772ea7
VS
41162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * util/misc.c: Remove leftover inclusion of malloc.h.
4119
a1a315e7
VS
41202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * include/grub/setjmp.h: Remove leftover GRUBOF.
4123
cef86fef
VS
41242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * util/raid.c: Fold into ...
4127 * util/getroot_linux.c: ... here. Make all functions static.
4128
c4cf25ee
VS
41292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4132 macros to GRUB ones.
4133
53a5f5c2
VT
41342013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4135
4136 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4137 occasional bug. If there are too many boot entries or too low
4138 scrollbar height then we need to use another formula to calculate
4139 the position and size of the scrollbar thumb.
4140
de300af2
VS
41412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4142
c4cf25ee 4143 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4144
c5827364
VT
41452013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4146
4147 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4148 * docs/grub.texi: Likewise.
4149
dd2ed8b0
VT
41502013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4151
4152 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4153 viewport.
4154
7286c384
VT
41552013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4156
ffdfc1f3
VT
4157 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4158 minimal width calculations.
7286c384 4159
ea547e14
VS
41602013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * docs/grub.texi: Update note on colors on emu console.
4163
b726be76
VS
41642013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4167 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4168 it's FS and not GRUB limitation.
4169
a5f6ade6
VS
41702013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4173
3b0f3aa2
VS
41742013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4177
1db38304
ST
41782013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4179
4180 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4181 kernels by version order.
4182
fb295fc0
VS
41832013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4186
47345010
VS
41872013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Add AROS hostdisk and getroot routines.
4190
bf25f879
VS
41912013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 Make cryptodisk and diskfilter probe data retrievable programmatically
4194 and not just printable.
4195
24ca4512
VS
41962013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Split random retrieving code into separate files.
4199
c7c177f0
VS
42002013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4203 R_ARM_V4BX.
4204
d71b45ae
VS
42052013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4208 condition.
4209 * grub-core/tests/fake_input.c: Likewise.
4210 * grub-core/tests/cmdline_cat_test.c: Likewise.
4211
e44b9a83
VS
42122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/video/capture.c: Do not do finalization when .fini
4215 is called as there is explicit capture_end.
4216
4fa60739
VS
42172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4220 changing windows to avoid crash.
4221
17c8bc37
VS
42222013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4225
9d4d7977
VS
42262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * po/exclude.pot: Add several strings to exclude.
4229
0caa407c
VS
42302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4233
9ae393da
VS
42342013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4237 ./util/grub-gen-asciih.c to exclude list.
4238
498d5033
VS
42392013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4242 and don't mark error strings for translation.
4243
7d93298f
VS
42442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4247 properly in case of missing block size.
4248
b2cae20c
VS
42492013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/lib/arm/setjmp.S: Add missing license section.
4252
3896d6b4
VS
42532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * po/swiss.sed: Add replacement for key names and for term computer.
4256
ebc1da55
VT
42572013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4258
4259 * grub-core/gfxmenu/theme_loader.c: New global options for the
4260 theme background image handling. desktop-image-scale-method,
4261 desktop-image-h-align, desktop-image-v-align.
4262 * grub-core/gfxmenu/view.c: Likewise.
4263 * include/gfxmenu_view.h: Likewise.
4264 * include/bitmap_scale.h: Proportional scale functions introduced.
4265 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4266 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4267 cases of unexpected input variables for scale functions.
4268 * docs/grub.texi: Updated documentation for new options.
4269
c5739143
VS
42702013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4273
be74aeb3
VT
42742013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4275
4276 * grub-core/tests/checksums.h: Corrected due to changes in
4277 bilinear interpolation function.
4278
d999ac72
VT
42792013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4280
4281 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4282 to eliminate artefacts in bilinear interpolation.
4283
2b131610
VS
42842013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/video/readers/tga.c: Support paletted tga.
4287
de6e5ff8
VS
42882013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4291 incorrect cbcr setting when in color mode.
4292
fa31ee9c
VS
42932013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/video/readers/png.c: Support paletted images and clean up
4296 greyscale support.
4297
e84f8188
VS
42982013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4301 usage of wrong table which resulted in mishandling of 4-byte
4302 sequences.
4303
43042013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4305
4306 * grub-core/term/terminfo.c: Add Home and End key sequences.
4307
d72bff09
VS
43082013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4311 Fix formula for computing total number of bytes.
4312
29648c5d
VS
43132013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4316 image processing, fix big-endian and support grayscale.
4317
4a876492
VS
43182013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4321 Correctly will with maximum transparency when using index color.
4322
3ccf16df
VS
43232013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/video/readers/png.c: Support grayscale
4326
43272013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4328
4329 * grub-core/video/readers/jpeg.c: Support grayscale.
4330
3ccf16df 43312013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4332
4333 * grub-core/commands/loadenv.c: Support skipping signature check
4334 and variable names filtering.
4335
30b7f58f
VS
43362013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4339 * grub-core/kern/emu/hostfs.c: Likewise.
4340 * util/getroot_unix.c: Likewise.
4341
bab7b1eb
VS
43422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4345 Migrate all explicit defines to this new one.
4346
43b1c99d
VS
43472013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4350 grub_util_fd_strerror when using grub_util_fd_*.
4351 (grub_util_fd_open_device): Likewise.
4352 (grub_util_biosdisk_read): Likewise.
4353 (grub_util_biosdisk_write): Likewise.
4354 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4355 (grub_util_fd_strerror): Likewise.
4356 (grub_util_fd_sync): Likewise.
4357 (grub_util_fd_close): Likewise.
4358 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4359 (grub_util_fd_close): Likewise.
4360 (grub_util_fd_strerror): Likewise.
4361 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4362 function proto rather than macro.
4363 (grub_util_fd_sync): Likewise.
4364 (grub_util_fd_open): Likewise.
4365 (grub_util_fd_strerror): New proto.
4366
e8fd80bc
VS
43672013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4370 platforms on which it doesn't work.
4371
bf645fda
VS
43722013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4375 stat immediately to where it's used.
4376
5177ba14
VS
43772013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * util/getroot.c (grub_util_check_block_device): Move to ...
4380 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4381 * util/getroot.c (grub_util_check_char_device): Move to ...
4382 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4383
9db826e1
VS
43842013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4387 disk closing logic.
4388
49120085
AB
43892013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4390
4391 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4392
b3328b68
AB
43932013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4394
4395 * docs/grub.texi (File name syntax): Document ZFS filenames
4396 (/volume@snapshot/...).
4397
3fff48ab
VS
43982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4401 Always return full path. Fixes a problem with mkrelpath.
4402
39cfdaa9
PFS
44032013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4404
4405 * util/grub-install.in: Add GPT PReP support.
4406 * util/grub-probe.c (probe): Support GPT partition type.
4407 (main): Support -t gpt_parttype.
4408
7c680e1f 44092013-09-23 Aleš Nesrsta <starous@volny.cz>
4410
4411 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4412
890bdabe
MM
44132013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4414
4415 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4416
9c262ff9
TH
44172013-09-23 Tim Hardeck <thardeck>
4418
4419 * util/grub.d/10_hurd.in: Filter out character for the class.
4420 * util/grub.d/10_kfreebsd.in: Likewise.
4421 * util/grub.d/10_linux.in: Likewise.
4422 * util/grub.d/20_linux_xen.in: Likewise.
4423
d755342a
MC
44242013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4425
4426 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4427 "changed".
4428
68b77707
JT
44292013-09-23 Josh Triplett <josh@joshtriplett.org>
4430
4431 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4432 boot partition.
4433
efa68bfa
VS
44342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4437 doesn't use posix_wrap. Keep literal -fno-builtin however.
4438
d9104204
VS
44392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4442
c248781a 44432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44442013-09-23 neil
4445
5830df88 4446 * configure.ac: Do not enable -Wmissing-noreturn as its
4447 usefulness is limited and creates problems on some OS notably with
4448 code generated by bison.
4449
44502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44512013-09-23 neil
4452
4453 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4454 supported by all gcc and when it is, it's already enabled by -Wall.
4455
621bed69
VS
44562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4459 desactivated use of EDID at all.
4460
71764dc8 44612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44622013-09-23 neil
4463
4464 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4465 video if no text is available.
4466
affce7d4 44672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
44682013-09-23 neil
4469
4470 * configure.ac: Substitute TARGET_RANLIB.
4471
44722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
44732013-09-23 neil
affce7d4
VS
4474
4475 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4476
4477 Based on patches from AROS.
4478
0e8daad0 44792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 44802013-09-23 neil
0e8daad0
VS
4481
4482 * grub-core/Makefile.am: Override STRIP and RANLIB.
4483 * configure.ac: compute TARGET_RANLIB.
4484 * INSTALL: Document TARGET_RANLIB
4485
4486 Based on patches from AROS.
4487
3f7d9c82
VS
44882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4491 that floppies are unpartitioned.
4492
bca8873a
VS
44932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4496 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4497
44982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4501 less nice but more portable.
4502 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4503
a47a78be
VS
45042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4507 for cheat_fd.
4508 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4509 functions.
4510 (grub_cryptodisk_cheat_insert): Likewise.
4511 (grub_cryptodisk_close): Likewise.
4512
e85a5d5c
VS
45132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4516 Use windows path for DEFAULT_DIRECTORY.
4517
dad9fa6b
VS
45182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4521 difference was likely just gcc version, not anything mingw-related.
4522
7e518ca8
VS
45232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 Use Winapi on both cygwin and mingw32 to share more code between both.
4526
d68d0157
AB
45272013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4528
4529 * util/grub-install.in: Add --grub-editenv option.
4530 * util/grub-install_header (grub_compress_file): Explicitly check for
4531 plain file to avoid cp error.
4532
775b284d
AB
45332013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4534
4535 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4536 names; fix LVM driver name (lvm, not lv).
4537 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4538 names.
4539
3ff4063d
VS
45402013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4543 files rather than one file with loads of #if's.
4544 * util/getroot.c: Likewise.
4545
287faafe
VS
45462013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4549
d1983764
VS
45502013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4553 GNU/Hurd to the list of checked PRNG.
4554
15ce95c4
VS
45552013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4558
207862dd 45592013-09-21 Ales Nesrsta <starous@volny.cz>
4560
7c680e1f 4561 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4562
63653cfd
VS
45632013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4566 * grub-core/disk/lvm.c: Add LVM UUIDs.
4567 * util/getroot.c: Use LVM UUIDs whenever possible.
4568
f5d3e7ef
AB
45692013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4570
4571 * docs/grub.texi (Networking commands): Add documentation for
4572 network related commands.
4573
53c6b7d6
VS
45742013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4577 to determine if device is handled by devmapper.
4578 (convert_system_partition_to_system_disk): Likewise.
4579 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4580 already done in grub_util_open_dm.
4581
e70d6736
LL
45822013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4583
4584 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4585 Clean up stack manipulation (sync_caches_armv*)
4586
90379808
VS
45872013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * util/lvm.c: Remove since unused. Remove remaining references.
4590
386701a8
VS
45912013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 Handle the case of partitioned LVM properly.
4594
4595 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4596 Stop on meeting LVM, mpath or DMRAID.
4597 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4598 (read_device_map): Likewise.
4599 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4600 device is full disk rather than erroring out on LVM and similar cases.
4601
53070787
VS
46022013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4605
1bc783bd
VS
46062013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4609 4K before the end.
4610 Reported by: Leif Lindholm
4611
436ad5c3
PW
46122013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
46132013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4616 codes.
4617
607319c9
CW
46182013-09-18 Colin Watson <cjwatson@ubuntu.com>
4619
4620 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4621 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4622
d404d154
DR
46232013-09-18 Douglas Ray <dougray@cpan.org>
4624
4625 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4626 as secure.
4627
28851ef6
AN
46282013-09-18 Aleš Nesrsta <starous@volny.cz>
4629
4630 * docs/grub.texi: Fix broken link.
4631
897c3bc6
MC
46322013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4633
4634 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4635 to break endless loop.
4636
f1630459
VS
46372013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * util/grub-fstest.c: Fix several printf formats.
4640 * util/grub-mkimage.c: Likewise.
4641 * util/grub-mkimagexx.c: Likewise.
4642 * util/grub-script-check.c: Likewise.
4643
64463dfd
VS
46442013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4647 error.
4648
48972495
VS
46492013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4652
5dd5e64b
VS
46532013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4656 removed in current versions cygwin_conv_*.
4657
1c1f31e5
VS
46582013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * configure.ac: Disable efiemu runtime on cygwin.
4661
c546a259
VS
46622013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4665 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4666
81690478
VS
46672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4670 error message.
4671
6b87c10a
VS
46722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4675 windows variant.
4676 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4677 data.
4678
8f0baaac
VS
46792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4682 when on x86 and not cygwin.
4683 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4684 -Wl,-melf_x86_64.
4685
b224c266
VS
46862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * configure.ac: Set CPP to build one when checkoing for freetype for
4689 build.
4690
506b336b
VS
46912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4694 [!GRUB_BUILD]: Remove has_argument.
4695
8c8c87b7
VS
46962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4699 Replace with a dummy.
4700
7dc5ca13
VS
47012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * configure.ac: Don't change host_os from mingw to cygwin.
4704
c3302aa5
VS
47052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * configure.ac: Change target_os from windows to cygwin.
4708
7b780018
VS
47092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4712
4713 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4714 (build-grub-gen-asciih): Likewise.
4715 (build-grub-gen-widthspec): Likewise.
4716 * Makefile.util.def (grub-pe2elf): Remove.
4717 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4718 * configure.ac: Separate tests for build.
4719 Move ./build-grub-pe2elf to grub-core.
4720 Fix typo.
4721 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4722 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4723 defined.
4724 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4725 constants.
4726 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4727 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4728 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4729
984cfd8a
VS
47302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4733 mingw32 as well based on grub_util_get_disk_size.
4734 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4735 grub_util_get_fd_size.
4736 (sync): Removed.
4737 (fsync): Moved to ...
4738 * grub-core/kern/emu/misc.c (fsync): ... here.
4739
f82d79c9
VS
47402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * include/grub/mm.h (grub_extend_alloc): Remove.
4743 * grub-core/loader/i386/pc/plan9.c: Use own version of
4744 grub_extend_alloc with appropriate types.
4745
fd7dd66d
VS
47462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4749
43ffba7c
VS
47502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4753
3c7eac44
VS
47542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 Fix dependencies on cygwin.
4757
4758 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4759 dependencies when used and defined.
4760 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4761
bdb5ba47
VS
47622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4765 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4766
ed7fbf43
VS
47672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4770 implementation available to cause compile-time rather than runtime
4771 error.
4772
fc46e9fc
VS
47732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * util/grub-fstest.c: Don't check for symlinks on windows.
4776
7f68269a
VS
47772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * INSTALL: Mention unavailability of man pages when cross-compiling.
4780
8ed358e0
VS
47812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4784 and gcry_log_bug.
4785 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4786
fc97214f
VS
47872013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * INSTALL: Document cross-compilation.
4790 * acinclude.m4: Determine whether nm support -P and --defined-only.
4791 * configure.ac: Add TARGET_ to all variables pertaining to target
4792 that don't have it yet.
4793 * gentpl.py: Likewise.
4794 * grub-core/Makefile.am: Likewise.
4795 * grub-core/genmod.sh.in: Likewise.
4796 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4797 as well.
4798
ca1fb563
IB
47992013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4800
4801 * configure.ac: Remove -Wempty-body. It's not essential and needs
4802 recent gcc.
4803
0031b229
IB
48042013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4805
4806 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4807 * util/getroot.c: Likewise.
4808
54ea2f44
VS
48092013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/disk/ahci.c: Add needed explicit cast.
4812 * grub-core/lib/backtrace.c: Likewise.
4813 * grub-core/net/ip.c: Likewise.
4814 * grub-core/net/tcp.c: Likewise.
4815 * grub-core/net/udp.c: Likewise.
4816
3c601f8c
VS
48172013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4820
1d679dda
VS
48212013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * util/import_gcry.py: Add final newline in visibility.h.
4824
00c28dd9
VS
48252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * conf/Makefile.common: Fix typo.
4828
32af299a
VS
48292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4832
e733cf52
VS
48332013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * Makefile.am (widthspec.h): Fix typo.
4836 * util/grub-gen-widthspec.c: Likewise.
4837
c6b066f2
VS
48382013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Move ascii.h and widthspec.h generation to a separate build-time-only
4841 tool.
4842
ad1fe3f9 48432013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4844
4845 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4846 Always fill bootdisk info and improve check for NetBSD disklabel.
4847
92a52dd4
VS
48482013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * conf/Makefile.extra-dist: Add util/bin2h.c.
4851 Reported by: floppym.
4852
b2e9d276
VS
48532013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
4856
7b966834
VS
48572013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * configure.ac: Disable unifont and starfield if no freetype was found.
4860
d5c1eef1
VS
48612013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
4864 on NetBSD and OpenBSD.
4865
66345b50 48662013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
4867
4868 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
4869
66345b50 48702013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
4871
4872 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
4873 reduced. Inheritant options are processed during the theme loading.
4874
66345b50 48752013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
4876
4877 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
4878
369508b3
AS
48792013-08-14 Avik Sil <aviksil@in.ibm.com>
4880
4881 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
4882
48832013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
4884
4885 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
4886 using qemu.
4887
6f27a3f6
PFS
48882013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4889
4890 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
4891 remove-potcdate.sed.
4892
c6ed362a
AB
48932013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4894
4895 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
4896 unused attribute from pull argument.
4897
5e7d9464
AB
48982013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4899
4900 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
4901 memory leak.
4902
dea55e2a
AB
49032013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
4904
4905 * util/getroot.c (pull_lvm_by_command): add --separator option
4906 to vgs call to disable padding of output to 10 characters.
4907
f0b94ded
VS
49082013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
4911 here ...
4912 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
4913 here.
4914
b828fb5d
VS
49152013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
4918 length.
4919
7c9d0c39
VS
49202013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 Fix handling of build-time grub-bin2h and grub-mkfont when doing
4923 full Canadian cross. Tested with build=x86_64, host=arm,
4924 target=ppc-ieee1275.
4925
816719c8
VS
49262013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * configure.ac: Error if no $BUILD_CC could be found.
4929 Reported by: DevHC.
4930
2af2353b
VS
49312013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
4934 i386-multiboot.
4935
797abd0a
VS
49362013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
4939 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
4940
36e87d25
CW
49412013-08-13 Colin Watson <cjwatson@ubuntu.com>
4942
4943 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
4944 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
4945 falling back to the partition device, otherwise a later call to this
4946 function may fail spuriously.
4947 Reported by Axel Beckert. Fixes Debian bug #708614.
4948
273349fe
GS
49492013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4950
4951 * autogen.sh: Replace find -not by the POSIX-compliant find !.
4952
418f86c6
GS
49532013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
4954
4955 Prevent shadowing of stdlib's devname(3) on BSD.
4956
4957 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
4958 and devlast to diskname and disklast, respectively.
4959
c137aea0
CW
49602013-08-11 Colin Watson <cjwatson@ubuntu.com>
4961
4962 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
4963
272dc8df 49642013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
4965
4966 * docs/grub.texi: Introduce terminal window position options:
4967 terminal-left: terminal window's left position
4968 terminal-top: terminal window's top position
4969 terminal-width: terminal window's width
4970 terminal-height: terminal window's height
4971 terminal-border: terminal window's border width
4972 * grub-core/gfxmenu/theme-loader.c: Likewise.
4973 * include/grub/gfxmenu_view.h: Likewise.
4974 * po/exlude.pot: Likewise.
4975 * grub-core/gfxmenu/view.c: Likewise.
4976 Also updated minimal window size.
4977 Also terminal_sanity_check function has been introduced.
272dc8df
VT
4978 * grub-core/tests/checksums.h: Update (terminal window height
4979 is adjusted now for low resolution screen)
b4743461 4980
748a4533
VS
49812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
4984 position).
4985
fca5f944
VS
49862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * po/exclude.pot: Add few recent exceptions.
4989
4f47d809
VS
49902013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * tests/grub_func_test.in: Add unicode.pf2.
4993
a62ae90c
VS
49942013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
4997 standard rather than noral color, in line with other terminals.
4998
4ed41392
VS
49992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5002 analysis.
5003
3719fbc5
VS
50042013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5007
459b1d91
VS
50082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5011 inappropriate printf.
5012
f4e1ab9d
AB
50132013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5014
5015 * .bzrignore: Remove grub-core/lib/dtc-grub,
5016 grub-core/Makefile.libfdt.def
5017 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5018
fa471bfa
VS
50192013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * include/grub/video.h (grub_video_register): Keep double-linked as
5022 well as single-linked invariants.
5023 Reported by: qwertial.
5024
d65be02b
VS
50252013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/commands/nativedisk.c (get_uuid): Handle
5028 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5029
ba8bc620
VT
50302013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5031
5032 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5033 maximum of NW, N, NE heights instead of N's height and maximum of
5034 NW, W, SW widths instead of W's width. (So the box will be always
5035 correctly drawn)
5036
4f0ad029
GS
50372013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5038
5039 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5040 Fix misuse of variable count.
5041
43d53b72
LL
50422013-07-18 Leif Lindholm <leif.lindholm@arm.com>
50432013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
50442013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5045
43d53b72
LL
5046 New ports to arm-uboot and arm-efi.
5047 Mostly by Leif Lindholm with some additions from
5048 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5049
88f8d146
VS
50502013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5053 and not before.
5054 Reported by: Leon Drugi.
5055
3f42504c
VS
50562013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5059 Reported by: Paulo Flabiano Smorigo.
5060
d110499b
VT
50612013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5062
5063 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5064
a8674ad3
VT
50652013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5066
5067 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5068
286fe4b3
VS
50692013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5072
1bd57aa3
VS
50732013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5076
7a87d69f
AB
50772013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5078
5079 * grub-core/net/bootp.c: Export net_* variables.
5080 * grub-core/net/net.c: Likewise.
5081
b2182299
VS
50822013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5085
795b3dc0
VS
50862013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5089
68714c43
VS
50902013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5093
af211bab
VS
50942013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5097
0036f02d
MM
50982013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5099
5100 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5101 <= 0.
5102
6d0ddff3
MM
51032013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5104
5105 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5106 functions.
5107
038016f4
MM
51082013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5109
5110 * grub-core/fs/zfs/zfs_lz4.c: New file.
5111 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5112
776bdce2
MM
51132013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5114
5115 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5116
c71dbd40
MM
51172013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5118
5119 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5120 (check_pool_label): Likewise.
5121 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5122
51232013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
5124
5125 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5126
8e67b50f
AB
51272013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5128
5129 * docs/grub.texi (Commands): Document postition parameters
5130 for menuentry command.
5131
f5ae3717
AB
51322013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5133
5134 * util/grub-mknetdir.in: Remove stray line from help output.
5135
9c28da2a
VS
51362013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 Remove early sm712 init as there is no reason for it (the "watchdog"
5139 effect was due to wrong GPIO map).
5140
139072b8
VS
51412013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/commands/pcidump.c: Remove static variables.
5144
c6a61bda
VS
51452013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5148
51369614
VS
51492013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * configure.ac: Move delimiter after the infos.
5152
efa8640a
VS
51532013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5156
6f80a7b2
VS
51572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5160 not filling whole 8x16 space.
5161
a2371e19
VS
51622013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5165
64fce2d8
VS
51662013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * configure.ac: Indicate which liblzma is used if any.
5169
eb272d84
PW
51702013-06-21 Paul Wise <pabs3@bonedaddy.net>
51712013-06-21 Craig Sanders <savannah@taz.net.au>
5172
5173 * util/grub-reboot.in: Document submenu usage.
5174
a9e5abee
CW
51752013-06-25 Colin Watson <cjwatson@ubuntu.com>
5176
5177 * .bzrignore: Update with a number of new test-related files.
5178
e639c204
CW
51792013-06-25 Colin Watson <cjwatson@ubuntu.com>
5180
5181 * util/grub-script-check.c: Fail on scripts containing no
5182 commands, to guard against corrupted grub-mkconfig setups that
5183 produce no useful output.
5184 * tests/grub_script_no_commands.in: New test.
5185 * Makefile.util.def (grub_script_no_commands): Add.
5186 Reported by Hans Putter. Fixes Debian bug #713886.
5187
a4c89b17
AB
51882013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5189
5190 * grub-core/disk/diskfilter.c: Forgot to remove comment
5191 from previous commit.
5192
5b06b53c
AB
51932013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5194
5195 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5196 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5197
702da5c9
AB
51982013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5199
5200 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5201
aa62a5b7
AB
52022013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5203
5204 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5205 rescan diskfilter devices until nothing new is found.
5206
4aa237c8
VS
52072013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5210
93d8479b
VS
52112013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Don't try to detect cbfs on *-emu.
5214
837222cc
VS
52152013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5218
99c971af
VS
52192013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 Add support for processed coreboot payload chainloading.
5222
e6930a45
VS
52232013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Enable coreboot information commands even when not loaded as
5226 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5227
5027af38
VS
52282013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Support for cbfs. Also factor out the part which is common
5231 for all archives to a separate module. This splits tar from cpio
5232 as they are very different but keeps cpio, cpio_be, odc and newc
5233 together since they're very similar.
5234
a5b55c4b
DM
52352013-06-15 David Michael <fedora.dm0@gmail.com>
5236
5237 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5238 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5239
0301a8b3
VS
52402013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * tests/grub_script_eval.in: Really add the eval test.
5243
3d84cb17
VS
52442013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 Move flavour-specific parts out of common cpio.c file and
5247 rename remaining to cpio_common.c
5248
593e430c
AB
52492013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5250
5251 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5252 off new function grub_script_execute_new_scope. Change callers to use
5253 either of them as appropriate.
5254 * grub-core/commands/eval.c: New command eval.
5255 * docs/grub.texi (Commands): Document it.
5256
63c29849
AB
52572013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5258
5259 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5260 to fetch values when listing.
5261
cc284112
AB
52622013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5263
5264 Fix make dist on non-pc.
5265
52662013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5267
5268 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5269 without a device name.
5270
69544d1e
VS
52712013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Remove enable_executable_check as it's not needed anymore.
5274 Reported by: dougray.
5275
96dbe648
VS
52762013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5279 ambigouos RAID before discovering RAIDs on top of it.
5280 Reported by: bodom.
5281
ccfc0bdb
VS
52822013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 Fix typo (failback vs fallback).
5285
f2587088
AB
52862013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5287
5288 * util/grub.d/30_os-prober.in: Add support for probing EFI
5289 System Partition (as of os-prober 1.58).
5290
cec5cf0c
VS
52912013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * configure.ac: Add yet another path to unifont. For parabola.
5294
e40b4596
JT
52952013-05-30 Josh Triplett <josh@joshtriplett.org>
5296
5297 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5298 handling to copy the killed characters to the kill buffer as
5299 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5300 stored as char. Eliminates UCS4 truncation and corruption
5301 observed when killing characters with Ctrl-u and yanking them
5302 back with Ctrl-y.
5303
fc4c4fdd
VS
53042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5305
5306 Detach optional parts of gfxterm and integrate in with coreboot init.
5307
6570b205
VS
53082013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 Move blit and fill dispatcher to appropriate files to decrease export
5311 and relocation overhead.
5312
b8323067
VS
53132013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5316 functions.
5317
3cc1878f
VS
53182013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/Makefile.am: Fix compilation problem with some
5321 automake versions.
5322
4b80e43c
VS
53232013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5326
57e0c20c
VS
53272013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5330 automake versions.
5331
4fd42c53
VS
53322013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5335 SSDT.
5336
1e908b34
RS
53372013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5338
5339 * grub-core/partmap/dfly.c: New partition map.
5340
1359e474
VS
53412013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5344 checking.
5345 Reported by: Francesco Lavra.
5346
17806392
AB
53472013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5348
5349 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5350 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5351 false conditions.
5352 * conf/Makefile.common: define dist_grubconf_DATA
5353
cdce14fa
VS
53542013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Progressively skip menu elements on small terminals rather
5357 than crashing.
5358
c8d6cc3c
VS
53592013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5362 to avoid losing last column.
5363
a73b31ce
VS
53642013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * po/exclude.pot: Add missing string "%C".
5367
1202c764
VS
53682013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5371 after the test.
5372
50268344
VS
53732013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * util/grub-install.in: Gettextize "Not found" message.
5376
62b15edf
VS
53772013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Fix distfiles list.
5380 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5381
53822013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5383
5384 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5385 present.
5386 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5387
709ad61b
VS
53882013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5391
d128901a
VS
53922013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5395 attribute since structure is not necessarily aligned.
5396
34b22f5c
AB
53972013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5398
5399 * docs/grub.texi (Device syntax): Clarify description of network
5400 drives.
5401
0f7e980b
VS
54022013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5405 for vasprintf presence.
5406
30b03dc2
VS
54072013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * util/grub-install.in: Handle efibootmgr presence check.
5410 Reported by: Leif Lindholm.
5411
0dc11c08
VS
54122013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5415 new strings to translate.
5416
f8024c3f
VS
54172013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5420 yet another string (pun intended) to translate.
5421
b4c1da62
VS
54222013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * po/POTFILES-shell.in: Autogenerate it.
5425
0ef7478b
VS
54262013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5429
8200fa15
VS
54302013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5433 misnomer.
5434
091945b2
AB
54352013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5436
5437 * docs/grub.texi (Network): Add description of net_default_interface,
5438 net_default_ip and net_default_mac. Rewrite variables description
5439 to emphasize that they are per-interface.
5440
0e7b2e32
VS
54412013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 New test: cmdline and cat.
5444
16f7c8f6
VS
54452013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/commands/cat.c: Show UTF-8 characters.
5448
3e912fda
VS
54492013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * conf/Makefile.common: Poison float and double on non-emu.
5452
ee0220bc
VS
54532013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * configure.ac: Don't disable extended registers on emu.
5456
89e0240c
VS
54572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * configure.ac: Don't use extended registers on x86_64.
5460 Reported by: Peter Jones.
5461
e56d9637
VS
54622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/term/efi/console.c: Fix compile error.
5465
8098f655
VS
54662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Compressed HFS+ support.
5469
16940e07
VS
54702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5473 pixel".
5474
c5dbc13d
VS
54752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 Menu color test.
5478
011f8ae8
VS
54792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/tests/setjmp_test.c: New test.
5482
2aa072d7
VS
54832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 New variables 'net_default_*' to determine MAC/IP of default interface.
5486
43fe02cb
VS
54872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * tests/gettext_strings_test.in: A test to check for strings not
5490 marked for translation.
5491
bed06142
VS
54922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * autogen.sh: Exclude unused libgcrypt files from translation.
5495
fb2666b5
VS
54962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Simplify few strings.
5499
d22840ec
VS
55002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Mark few forgotten strings for translation.
5503
e34092fd
VS
55042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5507 rather than printf.
5508
47cf82b4
VS
55092013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5512 rather than printf.
5513 * grub-core/video/readers/tga.c: Likewise.
5514
1eed0e6e
VS
55152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * tests/priority_queue_unit_test.cc: New test.
5518
c5b7697b
VS
55192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5522 than printf.
5523
5945c2f8
AB
55242013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5525
5526 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5527 variable for one time boot menu entry.
5528
fa292343
B
55292013-05-05 Bean <bean123ch@gmail.com>
5530
5531 * grub-core/commands/testspeed.c: New command testspeed.
5532
310d4214
VS
55332013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 Factor-out human-size printing.
5536
85002bf3
VS
55372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 Agglomerate more mallocs to speed-up gfxterm.
5540
22b06e96
VS
55412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 Speed-up gfxterm by slightly agglomerating mallocs.
5544
b7c036bc
VS
55452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 More video checks.
5548
92323d1f
VS
55492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Speed-up gfxterm by saving intermediate results in index+alpha
5552 format.
5553
0fb356a3
VS
55542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5557 test.
5558
44dea3f9
VS
55592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5562 line of timeout as it may contain the rest of long line.
5563
14af86e4
VS
55642013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/normal/main.c: Fix freed memory dereference.
5567
03f7c8c3
VS
55682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Fix several memory leaks.
5571
c686014c
VS
55722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5575
0788a695
VS
55762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5579
daf01d61
VS
55802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 Fix test -a and -o precedence.
5583 Reported by: adrian15.
5584
82ae74d7
VS
55852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5588
8cec7bd4
AB
55892013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5590
5591 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5592 and add it as source to functional_test module.
5593
aa73d688
VS
55942013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5597
c104b6f9
VS
55982013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 New series of tests for gfxterm and gfxmenu.
5601
7391c4d5
VS
56022013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5605 the theme path relative to $prefix/themes.
5606
cff50118
VS
56072013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5610 Fix order bug.
5611 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5612
7c332bdc
VS
56132013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5616 descriptor.
5617
a4f9a5ff
VS
56182013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5621 grub_gfxmenu_timeout_notifications.
5622 (grub_gfxmenu_view_destroy): Likewise.
5623
b5a2114d
VS
56242013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5627
a8905e8a
VS
56282013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 Several fixes to ieee1275 and big-endian video.
5631
813c1622
VS
56322013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Add missing exports on mips.
5635
3f3e7326
VS
56362013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5639 if no unifont is found.
5640 Restore original keyboard.
5641
095accd1
VS
56422013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5645 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5646
50361660
VS
56472013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 First automated video test (running videotest and comparing results)
5650
cd0f6eec
VS
56512013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5654 instead of 2 to have full RGB/CMY test pattern.
5655
3f9634e5
VS
56562013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 Add few more tests.
5659
583e5b64
VS
56602013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5663 ARCS. All users updated.
5664
aa7bcb99
VS
56652013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5668
95ef1a54
VS
56692013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5672
46546fc5
VS
56732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5676 Reported by: qwertial.
5677
3476e0ef
VT
56782013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5679
5680 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5681 with syntax "XXX deg"/"XXX °".
5682
96f33fed
VS
56832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 Make PCI init in i386-qemu port more robust.
5686
56872013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5688
5689 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5690 cached view is reused.
5691 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5692 open boot menus.
5693
c53b4e67
VS
56942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Unify more code in grub-install_header.
5697
f7457fb2
VS
56982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 Add few new tests.
5701
e2f27a8c
VS
57022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 Enforce disabling of firmware disk drivers when native drivers kick in.
5705
ef9d8cd5
VS
57062013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/commands/nativedisk.c: Customize the list of modules on
5709 platform. Don't try to search for disks already using native drivers.
5710
f7bf6c31
VS
57112013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5714 platforms.
5715
bdc4add8
VS
57162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5719 handling of variables containing backslash.
5720
e9e46c9a
VS
57212013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5724 dereference.
5725 Reported by: qwertial.
5726
0e90dee8
VS
57272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5730
e0aacf24
VS
57312013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5734 dereference.
5735 Reported by: qwertial.
5736
3c0003c3
VS
57372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5740
adb7d667
VS
57412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5744
7cd0df84
VS
57452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 New command `nativedisk'.
5748
02adbb93
VS
57492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5752 * grub-core/loader/i386/bsd.c: Likewise.
5753
9fb0fd4f
VS
57542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5757
bd69257a
VS
57582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5761 grub_get_unaligned16 rather than shifts.
5762
178c2764
VS
57632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/kern/file.c: Use const char * rather than casting to
5766 non-const.
5767
eadfad24
VS
57682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/commands/probe.c: Add missing grub_device_close.
5771
9f73ebd4
VS
57722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * INSTALL: Document linguas.sh.
5775
965fa829
VS
57762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 Remove POTFILES.in and regenerate it in autogen.sh.
5779
d417ddc4
VS
57802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 Move --directory/--override-directorry to grub-install_header and unify.
5783
f97ec546
VS
57842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/term/morse.c: Macroify dih and dah.
5787
b2d7470c
PFS
57882013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5789
5790 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5791
141e2a78
VS
57922013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/term/ns8250.c: Systematically probe ports by writing
5795 to SR before using them.
5796
1dd70ebd
PFS
57972013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5798
5799 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5800 disks.
5801 (check_sas): Get sas_adress info.
5802
c796a107
VS
58032013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5806 ports.
5807
43168646
LD
58082013-04-27 Leon Drugi <eyak>
5809
5810 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5811 BSS clearing.
5812
e7b8fd08
VS
58132013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Core compression test.
5816
17f9fd29
VS
58172013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 Implement grub_machine_get_bootlocation for ARC.
5820
dc2a6c8b
VS
58212013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Improve AHCI detection and command issuing.
5824
f25a2ba6
VS
58252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Fix pseries test.
5828
a6393224
VS
58292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Make 'make check' work on emu.
5832
db99fbe8
VS
58332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 Replace libcurses with our own vt100 handling for the ease of testing
5836 and decreasing prerequisites.
5837
b24ca7cd
VS
58382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5841
63314aa4
VS
58422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5845 compile when not needed.
5846
c1b00fff
VS
58472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * tests/pseries_test.in: New test.
5850
f93e89ef
VS
58512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 Add test to check that different boot mediums work.
5854
c4b456d3
VS
58552013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
5858 ofw limited ISO support.
5859
5fe67f39
VS
58602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * configure.ac: Fix loongson conditional.
5863
7f63a64f
VS
58642013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 Enable mipsel-arc.
5867
b04b5990
VS
58682013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 Add serial on ARC platform.
5871
88d2f302
VS
58722013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
5875 commit.
5876
86eb23bc
VS
58772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * tests/partmap_test.in: Add missing double semicolon.
5880
eec3bb75
VS
58812013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * util/grub-mkrescue.in: Fix loongson filename.
5884
e0810df3
VS
58852013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * util/grub-mkrescue.in: Move all files that don't have a location
5888 set in stone under /boot/grub. Use ISO hard links rather than copies
5889 to save some space.
5890
65a6b30b
VS
58912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
5894 bogus SLOF values.
5895
6aff0107
VS
58962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 Make check work on mips-arc.
5899
5e013e56
VS
59002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * util/grub-mkrescue.in: Alias sashARCS as sash.
5903
d1989e2e
VS
59042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
5907 it's serial.
5908
1a25e72c
VS
59092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * util/grub-install.in: Fix target fo qemu_mips.
5912 Fix extension on EFI.
5913
a59a9826
VS
59142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
5917 in front of chosen entry to mark it even if highlighting is lost.
5918
1a40f80c
VS
59192013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
5922 gfxpayload=keep if cbfb is active.
5923
e343549c
VS
59242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
5927
45fbd9a2
VS
59282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Add missing video ids to coreboot and ieee1275 video.
5931
ab1440bd
VS
59322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * util/grub-mkrescue.in: Add mips-arc support.
5935
cdeb8324
VS
59362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
5939
8528c879
VS
59402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 Move mips-arc link address. Previous link address was chosen
5943 in belief that RAM on SGI platforms grows down while in fact it
5944 grows up from an unusual base.
5945
17fca573
VS
59462013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
5949 Fix a type which prevented CD-ROM and floppy boot.
5950
d178788e
VS
59512013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Support coreboot framebuffer.
5954
5955 * grub-core/video/i386/coreboot/cbfb.c: New file.
5956
fe4c3e7e
VS
59572013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
5960 detecting too small regions.
5961
ec2dd179
VS
59622013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
5965
872dac83
VS
59662013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
5969 Remove dprintf.
5970 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5971
90ec4b7f
VS
59722013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
5975 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5976 * grub-core/loader/powerpc/ieee1275/linux.c
5977 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
5978
f32555dd
VS
59792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5982 Look for /boot-rom as well as /rom/boot-rom.
5983
38649799
VS
59842013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
5987 handling when creating text_layer failed.
5988 * grub-core/video/video.c (grub_video_create_render_target):
5989 Set result to 0 on error.
5990 (grub_video_delete_render_target): Do not dereference NULL.
5991
aeace7f7
VS
59922013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
5995 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
5996 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
5997 (grub_linux_load64): Mask out 2 high bits.
5998
4eafa175
AB
59992013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6000
6001 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6002 more place.
6003
daaa64bd
VS
60042013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 Add support for pseries and other bootinfo machines to grub-mkrescue.
6007
6008 Tested by: Paulo Flabiano Smorigo.
6009
d0d2daa6
VS
60102013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * util/grub-mkrescue.in: Add GPT for EFI boot.
6013
b193e100
VS
60142013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6017 It improves performance in qemu.
6018
a0f8f3ac
VS
60192013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * build-aux/snippet: Add missing gnulib files.
6022
284df0e2
AB
60232013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6024
6025 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6026
740201f3
AB
60272013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6028
6029 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6030
a7e03923
PJ
60312013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
60322013-04-15 Peter Jones <pjones@redhat.com>
6033
6034 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6035 sectors.
6036 Based on patch by Peter Jones.
6037
25fc51a8
VS
60382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 Fix DMRAID partition handling.
6041
88017d47
VS
60422013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * tests/grub_cmd_date.in: Skip on sparc64.
6045
fa7d914e
VS
60462013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6049 firmware error messages.
6050
cbe57a48
VS
60512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6054 source and destination differ.
6055
21aecce0
VS
60562013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6059 detection.
6060
25092d29
VS
60612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6064 match config-util.h to avoid warnings and increase compatibility.
6065
79451522 60662013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 60672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6068
6069 Add option to compress files on install/image creation.
6070
78b7d77b
VS
60712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * docs/grub-dev.texi: Rearrange menu to match the section order.
6074 Reported by: Bryan Hundven.
6075
cc2fa5ec
VS
60762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6079
b49fe879
VS
60802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 Move GRUB out of system area when using xorriso 1.2.9 or later.
6083
5351da81
VS
60842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * tests/grub_cmd_date.in: Add missing exit 1.
6087
c9d586ea
VS
60882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * tests/partmap_test.in: Skip on sparc64.
6091
3f729741
VS
60922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 Support grub-shell on sparc64.
6095
8ca86b3a
VS
60962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Support mkrescue on sparc64.
6099
aa1af9bb
VS
61002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6103 Needed on OpenBIOS due to incomplete device tree.
6104
ac4fea79
VS
61052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6108 would be otherwise excluded.
6109
61102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
6111
6112 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6113 Inline name defines used only once.
6114
fe22b071
VS
61152013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 Fix memory leaks in ofnet.
6118 Reported by: Francesco Lavra.
6119
9d21381b
VS
61202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * docs/man/grub-glue-efi.h2m: Add missing file.
6123
07aec23c
VS
61242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6127
67ab8353
VS
61282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 Better support Apple Intel Macs on CD.
6131
ba44ca6d
VS
61322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Replace stpcpy with grub_stpcpy in tools.
6135
bbdd6305
VS
61362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Handle Japanese special keys.
6139 Reported by: Hiroyuki YAMAMORI.
6140 Codes supplied by: Hiroyuki YAMAMORI.
6141
8573d302
VS
61422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * util/grub-mkimage.c: Document memdisk implying --prefix.
6145
d70dbab7
VS
61462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6149 much we can do about it anyway.
6150
51a4c3e3
AN
61512013-04-12 Aleš Nesrsta <starous@volny.cz>
6152
6153 Fix handling of split transfers.
6154
92c8f58d
VS
61552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * grub-core/net/http.c: Fix bad free.
6158
b7d17a49
VS
61592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6162 than buffer size.
6163
a3d566d4
VS
61642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6167
a936af56
VS
61682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * tests/util/grub-shell.in: Fix it on powerpc.
6171
51212234
VS
61722013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 Turn off QEMU ACPI-way since new releases don't have shutdown port
6175 anymore.
6176
a21eec9e
VS
61772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * docs/grub.texi: Update coreboot status info.
6180
e3734b84
VS
61812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * tests/grub_cmd_date.in: New test for datetime.
6184
f9d40055
VS
61852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * tests/partmap_test.in: Fix missing qemudisk setting.
6188
dbc56d8f
VS
61892013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 Support i386-ieee1275 grub-mkrescue and make check on it.
6192
a79b8a15
VS
61932013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6196 feature for it.
6197
48f39bb4
VS
61982013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6201 GRUB_CMDLINE_XEN_DEFAULT.
6202 Reported by: Marc Warne (GigaTux) <gigatux>
6203
053cfcdd
VS
62042013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Import new gnulib.
6207
93cd84df
VS
62082013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 Use ACPI shutdown intests as traditional port was removed.
6211
f4b1fa4f
AB
62122013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6213
6214 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6215 distinction.
6216
49818a59
VS
62172013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6220 Fix few warining messages and leaks while on it.
6221
9277a306
AB
62222013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6223
6224 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6225 links under grub-core/lib/libgcrypt-grub/mpi.
6226
d5e2a158
VS
62272013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 Fix ia64-efi image generation on big-endian machines. Deduplicate
6230 some code while on it.
6231 Reported by: Leif Lindholm.
6232
18866643
AB
62332013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6234
6235 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6236 as extra_dist.
6237
ca53deb8
AB
62382013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6239
6240 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6241
d4c4b8e1
BH
62422013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6243
6244 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6245 texinfo-5.1.
6246
47043f95
VS
62472013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * grub-core/normal/term.c: Few more fixes for menu entry editor
6250 rendering.
6251 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6252
a3216068
VS
62532013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/normal/term.c: Few more fixes for menu entry editor
6256 rendering.
6257 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6258
21026747
AB
62592013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6260
6261 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6262 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6263
59624ca8
AB
62642013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6265
6266 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6267 instead of hardcoding grub.mo.
6268
1f44478c
FN
62692013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6270
6271 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6272
eeada7b1
VS
62732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6276 grub-core/disk/geli.c.
6277
132867de
VS
62782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * util/grub-mkfont.c: Prefer enum to #define.
6281
de73de17
VS
62822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6285
1865baa7
VS
62862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6289
ce7d92a9
VS
62902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6293
52eab656
VS
62942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6297
98b23b95
VS
62982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * include/grub/bsdlabel.h: Use enums.
6301
0467a5dd
VS
63022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 Move GRUB_CHAR_BIT to types.h.
6305
16cc9f03
AB
63062013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6307
6308 * docs/grub.texi: Document more user commands.
6309
3152aecb
AB
63102013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6311
6312 * docs/grub.texi: Document menuentry --id option.
6313
c506fc30
FL
63142013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6315
6316 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6317
aa428238
VS
63182013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 Unify file copying setup across different install scripts. Add
6321 options for performing partial install.
6322
efe0cdda
PJ
63232013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
63242013-04-04 Peter Jones <pjones@redhat.com>
6325
6326 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6327
f75835bd
VS
63282013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Use TSC as a possible time source on i386-ieee1275.
6331
2cd5ce6c
VS
63322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6335 Init err.
6336
c9625630
VS
63372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * util/grub-setup.c (setup): Handle some corner cases.
6340
be008941
VS
63412013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6344
1a78d573
VS
63452013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/commands/verify.c: Save verified file to avoid it being
6348 tampered with after verification was done.
6349
db8ff59f
VS
63502013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6353 reported width by one to compensate for curesor algorithm problem.
6354
91bf46b1
VS
63552013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 Fix screen corruption in menu entry editor and simplify the code
6358 flow while on it.
6359
a7b1d693
AB
63602013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6361
6362 * util/grub-mount.c (fuse_init): Return error if fuse_main
6363 failed.
6364
31df9ad8
FL
63652013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6366
6367 * include/grub/elf.h: Add missing ARM relocation codes and fix
6368 existing ones.
6369
07f392eb
VT
63702013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6371
6372 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6373
9efd73ec 63742013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
63752013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6378 into account when calculating radius.
6379
63802013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6381
6382 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6383
4985ddaa
VT
63842013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6385
6386 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6387
8c3635ff
RS
63882013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6389
6390 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6391 missing closing bracket.
6392
74a35e69
RS
63932013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6394
6395 * INSTALL: Mention xorriso requirement.
6396
40f1c000
AB
63972013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6398
6399 * grub-core/commands/verify.c: Fix hash algorithms values for
6400 the first three hashes - they start with 1, not with 0.
6401
e75fdee4
VS
64022013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6405 Try terminating EFI services several times due to quirks in some
6406 implementations.
6407
33028f4c
CW
64082013-03-26 Colin Watson <cjwatson@ubuntu.com>
6409
6410 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6411 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6412 BankField extended opcodes.
6413 (get_sleep_type): Add minimal scope handling (just enough to
6414 handle setting the scope to the root path).
6415 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6416 * include/grub/acpi.h: Add enumeration values for Event, Device,
6417 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6418
33871a10
VT
64192013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6420
6421 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6422 memory leak.
6423
8990963a
VS
64242013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/disk/ahci.c: Give more time for AHCI request.
6427
daae8f9e
VS
64282013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6431 command.
6432
6a7fb94b
VS
64332013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Replace the region at 0 from coreboot tables to available in BSD
6436 memory map.
6437
ff99babd
VS
64382013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6441 non-BIOS platforms.
6442
30d6b1b2
VS
64432013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6446 platforms.
6447
6ccd0b31
VS
64482013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6451 handling of multi-device filesystems.
6452
23c9cc04
VS
64532013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6456 platforms.
6457
ce50dbd7
VS
64582013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 Add new 'proc' filesystem framework and put luks_script into it.
6461
d975e8d5
VS
64622013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6465 and qemu.
6466
e73ba5e8
VS
64672013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6470
92750e4c
VS
64712013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 Add ability to generate newc additions on runtime.
6474
0ec45a68
VS
64752013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6478 description.
6479
320abd43
VS
64802013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * po/POTFILES.in: Regenerate.
6483
d7a6506e
VS
64842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/commands/verify.c (hashes): Add several hashes
6487 from the spec.
6488
8fe05def
VS
64892013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 Slight improve in USB-related boot-time checkpoints.
6492
524e2766
VS
64932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/commands/boottime.c: Fix copyright header.
6496
cc19857a
VS
64972013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6500 coreboot tables content. Support for cbmemc.
6501
ef8810e9
VS
65022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 Fix a conflict between ports structures with 2 controllers of
6505 same kind.
6506
e9dabdfa
VS
65072013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * include/grub/boottime.h: Add missing file.
6510
f6df57d2
VS
65112013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 Initialize USB ports in parallel to speed-up boot.
6514
d745dda7
VS
65152013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 Fix USB devices not being detected when requested
6518 due to delayed attach.
6519
e5a2dd7b
VS
65202013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6521
e744219b
VS
6522 Implement boot time analysis framework.
6523
65242013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6527 descriptor to just receive it as argument rather than endpoint
6528 address.
6529
5dd6f587
VS
65302013-03-19 Aleš Nesrsta <starous@volny.cz>
6531
6532 Better estimate the maximum USB transfer size.
6533
2f1071d5
VS
65342013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Resend a packet if we got the wrong buffer in status.
6537
46ecfc49
VS
65382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6541 multiplication rather than division.
6542
ea811130
VS
65432013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6546 than divisions.
6547
d2789cf0
VS
65482013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6551 operations to have intended shifts and not divisions.
6552
a9c94590
VS
65532013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6556 intended shifts rather than division.
6557
84cfe81b
VS
65582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6561 computation for some years before epoch. Avode confusing division
6562 while on it.
6563
21344ef6
VS
65642013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/video/i386/pc/vbe.c
6567 (grub_video_vbe_print_adapter_specific_info): Replace division by
6568 shifts.
6569
3f2b4d1a
VS
65702013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Adjust types in gdb module to have intended unsigned shifts rather than
6573 signed divisions.
6574
3dac5878
VS
65752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6578 maximum size is 4G - 1 on hfs
6579
5341c0fb
VS
65802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6583
fc3ff2a2
VS
65842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6587 function.
6588
81455e8e
AB
65892013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6590
6591 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6592 causing gcc error with gcc 4.7.1.
6593
efd4f117
NZ
65942013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6595
6596 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6597 dereference null pointer. While the code is technically correct, gcc
6598 may eliminate a null check if pointer is already dereferenced.
6599
e11645f4
NZ
66002013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6601
6602 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6603 OOM check.
6604 * grub-core/normal/term.c (read_terminal_list): Likewise.
6605
77468368
VS
66062013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 Lift up core size limits on some platforms. Fix potential memory
6609 corruption with big core on small memory systems. Document remaining
6610 limits.
6611
f6b58fe5
VS
66122013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6615 gotoxy to 0,0.
6616
19ce697d
VS
66172013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 Remove all trampoline support. Add -Wtrampolines when
6620 present. Remove symbols used for trampolines to make
6621 link fail if trampolines are present.
6622
73b5d90f
VS
66232013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6626 append out of its parent.
6627
cb758e96
VS
66282013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6631 parent.
6632
3188131f
VS
66332013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6636 all vars to a macro. All users updated.
6637
e42b2514
VS
66382013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6641 i386-ieee1275.
6642
83e1a1a1
VS
66432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6646
1d5a880f
VS
66472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6650
6e4146c4
VS
66512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 Move to more hookless approach in IEEE1275 devices handling.
6654
99fcda8a
VS
66552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/kern/term.c (grub_term_normal_color),
6658 (grub_term_highlight_color): Add back lost defaults.
6659
73bf57e2
VS
66602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 Make elfload not use hooks. Opt for flags and iterators instead.
6663
7f8c105f
VS
66642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6667 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6668
396d4091
VS
66692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6672
66732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6676 hook pass-through parameter. All users updated and unnested.
6677
74a27421
VS
66782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6681 out of its parent.
6682
b46d4213
VS
66832013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/fs/hfs.c: Remove nested functions.
6686
e114c3cc
VS
66872013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6690 the context through.
6691 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6692
f9b7d780
VS
66932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * util/grub-editenv.c (list_variables): Move print_var out of its
6696 parent.
6697
ca9c2608
VS
66982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6701 function.
6702
5d983f5f
VS
67032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/gentrigtables.c: Make tables const.
6706
3056d3e7
VS
67072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 Remove nested functions from videoinfo iterators.
6710
e2303774
VS
67112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6714 for 64-bit platforms.
6715
f42e3a2f
VS
67162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6719 a FOR_CHILDREN macro.
6720
be174e5e
VS
67212013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6724 platform from firmware path.
6725
0789b672
VS
67262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Enable linux16 on non-BIOS systems for i.a. memtest.
6729
6730 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6731 correctly.
6732 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6733
005a9c32
VS
67342013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6737 Fix end of table condition.
6738
ff2b3cd9
VS
67392013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6742 out of its parent.
6743
4fc40ff8
VS
67442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/fs/jfs.c: Remove nested functions.
6747
be42d97a
VS
67482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/fs/minix.c: Remove nested functions.
6751
99373ce4
VS
67522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/fs/iso9660.c: Remove nested functions.
6755
5aec2afe
VS
67562013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6759 of parent function.
6760
6c69e691
VS
67612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * util/grub-fstest.c: Remove nested functions.
6764
43c91882
VS
67652013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/loader/machoXX.c: Remove nested functions.
6768
4eb8b756
CW
67692013-02-27 Colin Watson <cjwatson@ubuntu.com>
6770
6771 Remove nested functions from disk and file read hooks.
6772
6773 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6774 (struct grub_disk): Add read_hook_data member.
6775 * include/grub/file.h (struct grub_file): Likewise.
6776 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6777 argument.
6778
6779 Update all callers.
6780
df6da5a5
AB
67812012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6782
6783 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6784 Fix off by one error in enumerating extended partitions.
6785
21aecde5
AB
67862013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6787
6788 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6789 memory leak if device name is not found.
6790
f1a19118
AB
67912013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6792
6793 * grub-core/normal/menu_entry.c (update_screen): remove
6794 unused variable `off' which caused scroll down arrow to be always shown.
6795
958bfd20
AB
67962013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6797
6798 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6799 access to unallocated memory.
6800
b7b78edb
AB
68012013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6802
6803 * Makefile.util.def: Add partmap/msdos.c to common library.
6804 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6805 * grub-core/disk/ldm.c: Check for existence of
6806 GRUB_PC_PARTITION_TYPE_LDM.
6807
28d468d6
VS
68082013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6811 sizes and display sector size.
6812
d55ffb02
VS
68132013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 Implement new command cmosdump.
6816
b5ea6ce0
VS
68172013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6818
6819 Support Openfirmware disks with non-512B sectors.
6820
6821 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6822 size of the disk.
6823 * (grub_ofdisk_get_block_size): New function.
6824 * (grub_ofdisk_prepare): Use the correct block size.
6825 * (grub_ofdisk_read): Likewise.
6826 * (grub_ofdisk_write): Likewise.
6827 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6828 New proto.
6829
cc0e476f
VS
68302013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6833
c5dbdc33
VS
68342013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6837 on first error.
6838
3f078c0f
VS
68392013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6842 freeing it.
6843
66a93674
VS
68442013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Implement USBDebug (full USB stack variant).
6847
c9f0c134
VS
68482013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6851 unless they have unexpected values.
6852
cfe1288b
VS
68532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
6856 grub_print_error.
6857
e42b9969
VS
68582013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
6861 zero-out of port structure.
6862
cf94fd62
VS
68632013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
6866 of extended attributes.
6867
f81ef4b5
AB
68682013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
6869
6870 * util/grub-install.in: change misleading comment about
6871 device.map creation
6872
af18fdb4
VS
68732013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
6876 when menu highlight color isn't set.
6877
08bcec50
M
68782013-01-27 C. Masloch <pushbx@38.de>
6879
6880 Improve FreeDOS direct loading support compatibility.
6881
6882 * include/grub/i386/relocator.h (grub_relocator16_state):
6883 New member ebp.
6884 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
6885 variable.
6886 (grub_relocator16_boot): Handle %ebp.
6887 * grub-core/lib/i386/relocator16.S: Likewise.
6888 * grub-core/loader/i386/pc/freedos.c:
6889 Load BPB to pass kernel which partition to load from.
6890 Check that kernel file is not too large.
6891 Set register dl to BIOS unit number as well.
6892
7782b8a6
CW
68932013-01-22 Colin Watson <cjwatson@ubuntu.com>
6894
6895 * util/grub-reboot.in (usage): Document the need for
6896 GRUB_DEFAULT=saved.
6897 * util/grub-set-default.in (usage): Likewise.
6898 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
6899
e661c180
VS
69002013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
6903 than defining WORDS_BIGENDIAN manually.
6904
1c22ca9a
VS
69052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
6908 invariants.
6909
d44892fe
CW
69102013-01-21 Colin Watson <cjwatson@ubuntu.com>
6911
6912 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
6913 nested.
6914 (blit_comb: add_device_width): Likewise.
6915
5fdbaed1
CW
69162013-01-21 Colin Watson <cjwatson@ubuntu.com>
6917
6918 Remove nested functions from USB iterators.
6919
6920 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
6921 (grub_usb_controller_iterate_hook_t): Likewise.
6922 (grub_usb_iterate): Add hook_data argument.
6923 (grub_usb_controller_iterate): Likewise.
6924 (struct grub_usb_controller_dev.iterate): Likewise.
6925
6926 Update all implementations and callers.
6927
4250985a
VS
69282013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
6931 margin when not needed.
6932
7d8848f3
VS
69332013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6934
bc136973 6935 Make color variables global instead of it being per-terminal.
7d8848f3
VS
6936
69372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6938
bc136973
VS
6939 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
6940 asterisk.
7d8848f3 6941
ed12a003
CW
69422013-01-21 Colin Watson <cjwatson@ubuntu.com>
6943
6944 Fix powerpc and sparc64 build failures caused by un-nesting memory
6945 map iterators.
6946
6a0db449
CW
69472013-01-21 Colin Watson <cjwatson@ubuntu.com>
6948
6949 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
6950 parameter declarations.
6951
ccd86b21
VS
69522013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
6955
822b726b
VS
69562013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Improve spkmomdem reliability by adding a separator between bytes.
6959
115c2cc1
CW
69602013-01-21 Colin Watson <cjwatson@ubuntu.com>
6961
6962 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
6963 an Acer registration utility with several sightings in the wild.
6964 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
6965
fc524edf
CW
69662013-01-21 Colin Watson <cjwatson@ubuntu.com>
6967
6968 Remove nested functions from filesystem directory iterators.
6969
6970 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
6971 (struct grub_fs.dir): Add hook_data argument.
6972
6973 Update all implementations and callers.
6974
53d3e4e3
CW
69752013-01-21 Colin Watson <cjwatson@ubuntu.com>
6976
6977 * docs/grub.texi (Multi-boot manual config): Fix typo for
6978 "recommended".
6979
c821711f
LL
69802013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6981
6982 * util/grub-mkimage.c (main): Postpone freeing arguments.output
6983 until after its use in generate_image.
6984
6a0debbd
CW
69852013-01-20 Colin Watson <cjwatson@ubuntu.com>
6986
6987 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
6988 initrd size to addr_min, since the initrd will be allocated after
6989 this address.
6990
f41e08db
AB
69912013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
6992
6993 * conf/Makefile.common: Fix autogen rules to pass definition
6994 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
6995
77529e0f
LL
69962013-01-20 Leif Lindholm <leif.lindholm@arm.com>
6997
6998 * include/grub/elf.h: Update ARM definitions based on binutils.
6999
b879aa7b
VS
70002013-01-20 Aleš Nesrsta <starous@volny.cz>
7001
7002 Split long USB transfers into short ones.
7003
8eb8284d
AB
70042013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7005
7006 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7007 is interrupted by ESC.
7008
08dad2dc
VS
70092013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/grub-script-check.c (main): Uniform the error message.
7012
6c724b85
CW
70132013-01-20 Colin Watson <cjwatson@ubuntu.com>
7014
7015 Remove nested functions from ELF iterators.
7016
25239370
CW
70172013-01-20 Colin Watson <cjwatson@ubuntu.com>
7018
7019 Remove nested functions from device iterators.
7020
7021 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7022 (grub_arc_iterate_devs): Add hook_data argument.
7023 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7024 (struct grub_ata_dev.iterate): Add hook_data argument.
7025 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7026 (grub_device_iterate): Add hook_data argument.
7027 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7028 (struct grub_disk_dev.iterate): Add hook_data argument.
7029 (grub_disk_dev_iterate): Likewise.
7030 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7031 Likewise.
7032 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7033 Likewise.
7034 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7035 type.
7036 (struct grub_partition_map.iterate): Add hook_data argument.
7037 (grub_partition_iterate): Likewise.
7038 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7039 (struct grub_scsi_dev.iterate): Add hook_data argument.
7040
7041 Update all callers.
7042
6c0314d6
CW
70432013-01-20 Colin Watson <cjwatson@ubuntu.com>
7044
7045 Fix typos for "developer" and "development".
7046
600dc5f1
VS
70472013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 Add license header to spkmodem-recv.c.
7050
17334a6b
VS
70512013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 Rewrite spkmodem to use PIT for timing. Double the speed.
7054
7d462559
VS
70552013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 Add new command pcidump.
7058
b78d6c32
VS
70592013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 New terminal outputs using serial: morse and spkmodem.
7062
34f71cb8
VS
70632013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 Improve bidi handling in entry editor.
7066
4542e71b
VS
70672013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7070 argument to prevent name collision.
7071
09fd6d82
CW
70722013-01-15 Colin Watson <cjwatson@ubuntu.com>
7073
7074 Remove nested functions from script reading and parsing.
7075
7076 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7077 getline_data argument, passed to getline.
7078 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7079 getline_data argument, passed to grub_parser_split_cmdline.
7080 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7081 lexerstate->getline_data to lexerstate->getline.
7082 (grub_script_lexer_init): Add getline_data argument, saved in
7083 lexerstate->getline_data.
7084 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7085 argument, passed to grub_script_parse.
7086 * grub-core/script/script.c (grub_script_parse): Add getline_data
7087 argument, passed to grub_script_lexer_init.
7088 * include/grub/parser.h (grub_parser_split_cmdline): Update
7089 prototype. Update all callers to pass appropriate getline data.
7090 (struct grub_parser.parse_line): Likewise.
7091 (grub_rescue_parse_line): Likewise.
7092 * include/grub/reader.h (grub_reader_getline_t): Add void *
7093 argument.
7094 * include/grub/script_sh.h (struct grub_lexer_param): Add
7095 getline_data member.
7096 (grub_script_parse): Update prototype. Update all callers to pass
7097 appropriate getline data.
7098 (grub_script_lexer_init): Likewise.
7099 (grub_normal_parse_line): Likewise.
7100
7101 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7102 data argument.
7103 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7104 static instead of nested. Rename to ...
7105 (grub_parser_execute_getline): ... this.
7106 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7107 data argument.
7108 * grub-core/normal/main.c (read_config_file: getline): Make static
7109 instead of nested. Rename to ...
7110 (read_config_file_getline): ... this.
7111 (grub_normal_read_line): Add unused data argument.
7112 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7113 getline): Make static instead of nested. Rename to ...
7114 (grub_script_execute_sourcecode_getline): ... this.
7115 * util/grub-script-check.c (main: get_config_line): Make static
7116 instead of nested.
7117
d0d4b8a0
CW
71182013-01-15 Colin Watson <cjwatson@ubuntu.com>
7119
7120 Remove nested functions from memory map iterators.
7121
7122 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7123 argument, passed to hook.
7124 * grub-core/kern/i386/coreboot/mmap.c
7125 (grub_linuxbios_table_iterate): Likewise.
7126 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7127 instead of nested.
7128 (grub_machine_mmap_iterate): Add hook_data argument.
7129 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7130 Add hook_data argument, passed to hook.
7131 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7132 Likewise.
7133 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7134 Likewise.
7135 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7136 Likewise.
7137 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7138 Likewise.
7139 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7140 Likewise.
7141 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7142 Likewise.
7143 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7144 (grub_machine_mmap_iterate): Likewise.
7145 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7146 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7147 prototype.
7148 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7149 Remove NESTED_FUNC_ATTR from here and from all users.
7150 (grub_mmap_iterate): Update prototype.
7151 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7152 pass appropriate hook data.
7153 (grub_machine_mmap_iterate): Likewise.
7154
7155 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7156 static instead of nested.
7157 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7158 Rename to ...
7159 (lsmmap_hook): ... this.
7160 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7161 Likewise.
7162 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7163 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7164 heap_init): Likewise.
7165 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7166 Rename to ...
7167 (mmap_iterate_hook): ... this.
7168 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7169 Likewise.
7170 * grub-core/lib/ieee1275/relocator.c
7171 (grub_relocator_firmware_get_max_events: count): Likewise.
7172 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7173 to ...
7174 (grub_relocator_firmware_fill_events_iter): ... this.
7175 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7176 hook): Likewise. Rename to ...
7177 (grub_relocator_alloc_chunk_align_iter): ... this.
7178 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7179 Rename to ...
7180 (generate_e820_mmap_iter): ... this.
7181 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7182 Rename to ...
7183 (count_hook): ... this.
7184 (grub_linux_boot: hook): Likewise. Rename to ...
7185 (grub_linux_boot_mmap_find): ... this.
7186 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7187 (grub_linux_boot_mmap_fill): ... this.
7188 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7189 hook): Likewise. Rename to ...
7190 (grub_fill_multiboot_mmap_iter): ... this.
7191 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7192 hook): Likewise. Rename to ...
7193 (count_hook): ... this.
7194 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7195 hook): Likewise. Rename to ...
7196 (grub_fill_multiboot_mmap_iter): ... this.
7197 * grub-core/loader/powerpc/ieee1275/linux.c
7198 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7199 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7200 Likewise. Rename to ...
7201 (alloc_phys_choose): ... this.
7202 (determine_phys_base: get_physbase): Likewise.
7203 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7204 find_hook): Likewise.
7205 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7206 (malloc_hook: count_hook): Likewise.
7207 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7208 Likewise. Rename to ...
7209 (lower_hook): ... this.
7210 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7211 (upper_hook): ... this.
7212 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7213 (post64_hook): ... this.
7214 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7215 Likewise. Rename to ...
7216 (lower_hook): ... this.
7217 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7218 (upper_hook): ... this.
7219 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7220 (grub_mmap_iterate: fill_hook): Likewise.
7221 (fill_mask): Pass addr and mask within a single struct.
7222 (grub_cmd_badram: hook): Make static instead of nested. Rename
7223 to ...
7224 (badram_iter): ... this.
7225 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7226 (cutmem_iter): ... this.
7227
22099030
VS
72282013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7231 delimit path in strings using quotes.
7232 * util/getroot.c (grub_guess_root_devices): Likewise.
7233 (grub_make_system_path_relative_to_its_root): Likewise.
7234 * util/grub-probe.c (probe): Likewise.
7235 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7236 (xrealpath): Likewise.
7237
4a9950ec
VS
72382013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 Fix compilation with older compilers.
7241
7242 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7243 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7244 declarations.
7245 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7246 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7247 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7248 identifier with b.
7249 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7250 * include/grub/crypto.h: Add type defines.
7251 * util/import_gcrypth.sed: Remove duplicate type defines.
7252
adcc6020
VS
72532013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 New command list_trusted.
7256
7257 * grub-core/commands/verify.c (grub_cmd_list): New function.
7258
a4528937
CW
72592013-01-13 Colin Watson <cjwatson@ubuntu.com>
7260
7261 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7262 info message.
7263
ca3a7446
CW
72642013-01-13 Colin Watson <cjwatson@ubuntu.com>
7265
7266 Remove nested functions from PCI iterators.
7267
7268 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7269 passed to hook. Update all callers to pass appropriate hook data.
7270 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7271 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7272 Remove NESTED_FUNC_ATTR from here and from all users.
7273 (grub_pci_iterate): Update prototype.
7274 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7275 instead of nested. Rename to ...
7276 (grub_cs5536_find_iter): ... this.
7277 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7278 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7279 Likewise.
7280 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7281 Likewise.
7282 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7283 Likewise.
7284 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7285 Likewise.
7286 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7287 * grub-core/video/radeon_fuloong2e.c
7288 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7289 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7290 find_card): Likewise.
7291 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7292 Likewise.
7293
f8e98fee
VS
72942013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/commands/verify.c: Mark messages for translating.
7297
055b36b6
VS
72982013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7301 fatal.
7302
f7ff879b
VS
73032013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7306 fatal.
7307
73082013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7309
7310 * autogen.sh: Do not try to delete nonexistant files.
7311 * util/import_gcrypth.sed: Add some missing header removals.
7312
01323d49
CW
73132013-01-12 Colin Watson <cjwatson@ubuntu.com>
7314
7315 Clean up dangling references to grub-setup.
7316 Fixes Ubuntu bug #1082045.
7317
7318 * docs/grub.texi (Images): Refer generally to grub-install rather
7319 than directly to grub-setup.
7320 (Installing GRUB using grub-install): Remove direct reference to
7321 grub-setup.
7322 (Device map) Likewise.
7323 (Invoking grub-install): Likewise.
7324 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7325 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7326 * util/grub-install.in (usage): Likewise.
7327
7328 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7329 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7330 grub-setup.
7331 * configure.ac: Remove grub_setup output variable.
7332
7333 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7334 to grub-bios-setup.
7335 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7336 grub-setup to grub-sparc64-setup.
7337
5e3b8dcb
VS
73382013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 Import gcrypt public-key cryptography and implement signature checking.
7341
535714bd
VS
73422013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/fs/ntfs.c: Ue more appropriate types.
7345 * grub-core/fs/ntfscomp.c: Likewise.
7346 * include/grub/ntfs.h: Likewise.
7347
3e4f3566
VS
73482013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 Support Apple FAT binaries on non-Apple platforms.
7351
7352 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7353 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7354 Likewise.
7355 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7356 Apple FAT binaries.
7357
4dedb13f
VS
73582013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7361 sector devices.
7362
f8861eaf
CW
73632013-01-07 Colin Watson <cjwatson@ubuntu.com>
7364
7365 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7366 explicitly zeroing elements.
7367 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7368 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7369 of elements in a structure already allocated using grub_zalloc.
7370 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7371
86065b0a
CW
73722013-01-07 Colin Watson <cjwatson@ubuntu.com>
7373
7374 * docs/grub.texi (grub_cpu): New subsection.
7375 (grub_platform): Likewise.
7376
c6f1e92f
VS
73772013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7380
f797ec85
VS
73812013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7384 divisions.
7385
033d0b4b
VS
73862013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7389 * grub-core/fs/ntfscomp.c: Likewise.
7390 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7391 (grub_ntfs_comp): Likewise.
7392
21d1b9a0
VS
73932013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7396 Rename to ...
7397 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7398 of groups_per_block. All users updated.
7399
10ca8645
VS
74002013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7403 grub_error properly.
7404 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7405 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7406
a4c3ed4c
VS
74072013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7410 always in /boot/zfs.
7411 Reported by: Yuta Satoh.
7412
0b716507
YS
74132013-01-03 Yuta Satoh <nigoro>
7414
7415 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7416 ${grub_probe}
7417
00c05e22
VS
74182013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * configure.ac: Extend -Wno-trampolines to host.
7421
dadddb76
VS
74222013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7425 entry->len = 0.
7426
54ce53ca
CW
74272013-01-03 Colin Watson <cjwatson@ubuntu.com>
7428
7429 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7430 (Invoking grub-script-check): Likewise.
7431
8912efca
CW
74322013-01-03 Colin Watson <cjwatson@ubuntu.com>
7433
7434 * docs/grub.texi (Invoking grub-mount): New section.
7435 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7436
c3fc8394
CW
74372013-01-02 Colin Watson <cjwatson@ubuntu.com>
7438
7439 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7440 test failures, so that a failing unit test correctly causes 'make
7441 check' to fail.
7442
45d26abb
CW
74432013-01-02 Colin Watson <cjwatson@ubuntu.com>
7444
7445 Fix failing printf test.
7446
7447 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7448 '$' in the correct order when collecting type information.
7449
971dd2c6
CW
74502013-01-02 Colin Watson <cjwatson@ubuntu.com>
7451
7452 * docs/grub.texi (configfile): Explain environment variable
7453 handling.
7454 (source): New section.
7455 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7456
5c67ea6c
CW
74572012-12-31 Colin Watson <cjwatson@ubuntu.com>
7458
7459 Remove several trivially-unnecessary uses of nested functions.
7460
7461 * grub-core/commands/i386/pc/sendkey.c
7462 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7463 instead of nested.
7464 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7465 Rename to ...
7466 (legacy_file_getline): ... this.
7467 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7468 Likewise.
7469 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7470 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7471 to ...
7472 (probe_dummy_iter): ... this.
7473 * grub-core/kern/i386/coreboot/mmap.c
7474 (grub_linuxbios_table_iterate: check_signature): Likewise.
7475 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7476 check_varstate): Likewise. Mark inline.
7477 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7478 an additional parameter.
7479 (find_long: fnd_long): Likewise. Pass two additional parameters.
7480 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7481 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7482 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7483 Likewise. Rename to ...
7484 (grub_cmos_find_port_iter): ... this.
7485 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7486 Rename to ...
7487 (find_rtc_iter): ... this.
7488
7489 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7490 function directly into the function body, since it is only called
7491 once.
7492
33a68ac6
CW
74932012-12-30 Colin Watson <cjwatson@ubuntu.com>
7494
7495 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7496 __attribute__ ((unused)).
7497 * grub-core/video/bochs.c (find_card): Likewise.
7498 * grub-core/video/cirrus.c (find_card): Likewise.
7499 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7500 * grub-core/video/sis315pro.c (find_card): Likewise.
7501 * grub-core/video/sm712.c (find_card): Likewise.
7502
608b647a
CW
75032012-12-28 Colin Watson <cjwatson@ubuntu.com>
7504
7505 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7506 Fixes Savannah bug #37821.
7507
fd49ceb3
CW
75082012-12-28 Colin Watson <cjwatson@ubuntu.com>
7509
7510 Apply program name transformations at build-time rather than at
7511 run-time. Fixes Debian bug #696465.
7512
7513 * acinclude.m4 (grub_TRANSFORM): New macro.
7514 * configure.ac: Create output variables with transformed names for
7515 most programs.
7516 * util/bash-completion.d/grub-completion.bash.in: Use
7517 pre-transformed variables for program names.
7518 * util/grub-install.in: Likewise.
7519 * util/grub-kbdcomp.in: Likewise.
7520 * util/grub-mkconfig.in: Likewise.
7521 * util/grub-mkconfig_lib.in: Likewise.
7522 * util/grub-mknetdir.in: Likewise.
7523 * util/grub-mkrescue.in: Likewise.
7524 * util/grub-mkstandalone.in: Likewise.
7525 * util/grub-reboot.in: Likewise.
7526 * util/grub-set-default.in: Likewise.
7527 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7528 * tests/util/grub-shell-tester.in: Remove unused assignment.
7529 * tests/util/grub-shell.in: Likewise.
7530 * util/grub.d/00_header.in: Likewise.
7531
7024b3c0
CW
75322012-12-28 Colin Watson <cjwatson@ubuntu.com>
7533
7534 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7535
7536 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7537 HAVE_RAW_DECL_GETS.
7538 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7539
e3501b13
VS
75402012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7543 Reported by: Eriks Latosheks <foresterlv>.
7544
b40c88a9
VS
75452012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * docs/grub.texi (Network): Update instructions on generating netboot
7548 image.
7549
ce96d01c
VS
75502012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7553 around device name if necessarry.
7554
0f596201
PFS
75552012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7556
7557 * util/grub-install.in: Follow the symbolic link parameter added
7558 to the file command.
7559
600d5bdb
AB
75602012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7561
7562 * util/grub-install.in: Remove stale TODO.
7563
64ebd2f4
PFS
75642012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7565
7566 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7567 dynamic allocation for the bootpath buffer.
7568
74b2fe3e
DTB
75692012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7570
7571 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7572 window too small.
7573
969b804f
VS
75742012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7577 argument rather than font name. All users updated.
7578 (grub_gfxterm_set_window): Likewise.
7579
b9f5ebd6
VT
75802012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7581
7582 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7583 from working.
7584
258f43b7
VS
75852012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/getroot.c (convert_system_partition_to_system_disk): Support
7588 nbd disks.
7589
cc1ce5f9
VS
75902012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7593 infinite loop on corrupted FS.
7594
e77a16ca
VS
75952012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 Fix big-endian mtime.
7598
7599 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7600 together sec and usec.
7601 (grub_ufs_dir): Use correct byteswapping for UFS time.
7602
d9c48c7b
VS
76032012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Support big-endian UFS1.
7606
7607 * Makefile.util.def (libgrubmods): Add ufs_be.c
7608 * grub-core/Makefile.core.def (ufs1_be): New module.
7609 * grub-core/fs/ufs_be.c: New file.
7610 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7611 the file.
7612
2f9f40ba
LL
76132012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7614
7615 * include/grub/types.h: Fix functionality unaffecting typo in
7616 GRUB_TARGET_WORDSIZE conditional macro.
7617
48ff0889
PFS
76182012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7619
7620 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7621
03711240
GS
76222012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7623
7624 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7625 that /netbsd appears first (when it exists).
7626
a31b11bd
CJ
76272012-10-12 Christoph Junghans <ottxor@gentoo.org>
7628
7629 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7630 Fixes Savannah bug #37558.
7631
e8a5d5d4
CW
76322012-10-12 Colin Watson <cjwatson@ubuntu.com>
7633
7634 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7635 description of extract_entries_configfile.
7636
76372012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7638
7639 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7640 preferred_address.
7641 (grub_cmd_linux): Likewise.
7642 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7643 preferred_lifetime. Update all users.
7644
288c757d
CW
76452012-09-26 Colin Watson <cjwatson@ubuntu.com>
7646
7647 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7648 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7649
0d35da3f
CW
76502012-09-26 Colin Watson <cjwatson@ubuntu.com>
7651
7652 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7653 errors from grub-probe to /dev/null, not stdout.
7654
b78c3127
VS
76552012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7658 sector 1.
7659
473959f0
CW
76602012-09-24 Colin Watson <cjwatson@ubuntu.com>
7661
7662 * util/grub-install.in: Make the error message if $source_dir
7663 doesn't exist more useful.
7664
794c8c33
CW
76652012-09-22 Colin Watson <cjwatson@ubuntu.com>
7666
7667 Fix grub-emu build on FreeBSD.
7668
7669 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7670 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7671 headers on Linux.
7672 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7673 implementation is currently Linux-specific.
7674 * util/getroot.c (exec_pipe): Define only on Linux or when either
7675 libzfs or libnvpair is unavailable.
7676 (find_root_devices_from_poolname): Remove unused path variable.
7677
86d08fdb
CW
76782012-09-19 Colin Watson <cjwatson@ubuntu.com>
7679
7680 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7681 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7682 should fit before end == 63.
7683
735abf54
CW
76842012-09-19 Colin Watson <cjwatson@ubuntu.com>
7685
7686 * util/grub-setup.c (write_rootdev): Remove unused core_img
7687 parameter. Update all callers.
7688 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7689 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7690 GRUB_SETUP_BIOS.
7691
140acd3c
VS
76922012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7695 (grub_add_tab): New function.
7696 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7697 * util/grub.d/10_illumos.in: Likewise.
7698 * util/grub.d/10_kfreebsd.in: Likewise.
7699 * util/grub.d/10_linux.in: Likewise.
7700 * util/grub.d/10_netbsd.in: Likewise.
7701 * util/grub.d/10_windows.in: Likewise.
7702 * util/grub.d/10_xnu.in: Likewise.
7703 * util/grub.d/20_linux_xen.in: Likewise.
7704 * util/grub.d/30_os-prober.in: Likewise.
7705
7ddffdad
VS
77062012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7709 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7710 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7711 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7712 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7713 ieee1275-nocursor.
7714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7715 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7716
4e092454
VS
77172012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7720 le-conversion.
7721 Reported by: BURETTE, Bernard.
7722
735abf54 77232012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7724
7725 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7726 from comment.
7727
dfd39dbd
CW
77282012-09-14 Colin Watson <cjwatson@ubuntu.com>
7729
7730 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7731 IEEE1275 machines. Fixes powerpc-emu compilation.
7732 * include/grub/terminfo.h: Likewise.
7733
3bfa763c
VS
77342012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7737 a const pointer.
7738 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7739 const pointer.
7740 (efiemu_set_variable): Make vendor_guid a const pointer.
7741
250e475b
VS
77422012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Don't require grub-mkconfig_lib to generate manpages for programs.
7745
7746 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7747 dependencies, don't add grub-mkconfig_lib.
7748 (program): Pass empty adddeps.
7749 (script): Pass grub-mkconfig_lib as adddeps.
7750
592fd0e4
VS
77512012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7754 * util/getroot.c (grub_find_device): Likewise.
7755 (get_mdadm_uuid): Likewise.
7756 (grub_util_is_imsm): Likewise.
7757 (grub_util_pull_device): Likewise.
7758 * util/grub-probe.c (probe): Likewise.
7759
801a3027
BG
77602012-09-10 Benoit Gschwind <gschwind>
7761
7762 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7763 (devs): Add devpath_8.
7764
c5052c81
PJ
77652012-09-08 Peter Jones <pjones@redhat.com>
7766
7767 * grub-core/Makefile.core.def (efifwsetup): New module.
7768 * grub-core/commands/efi/efifwsetup.c: New file.
7769 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7770 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7771 New define.
7772 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7773
8e832f71
JS
77742012-09-05 Jiri Slaby <jslaby@suse.cz>
7775
7776 * configure.ac: Add SuSe path.
7777
f0f55752
CW
77782012-09-05 Colin Watson <cjwatson@ubuntu.com>
7779
7780 * NEWS: Fix typo.
7781
ecadc4c2
CW
77822012-09-05 Colin Watson <cjwatson@ubuntu.com>
7783
7784 * util/import_gcry.py: Sort cipher_files, to make build system
7785 generation more deterministic.
7786
64498f25
VS
77872012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7790 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7791 (grub_set_datetime): Likewise.
7792
9cc836a2
VS
77932012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7796 warnings.
7797
bcfcea01
VS
77982012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7801
a4099485
VS
78022012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7805
265c162a
CW
78062012-09-04 Colin Watson <cjwatson@ubuntu.com>
7807
7808 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7809 required for checkouts from bzr, but it may be useful for users or
7810 distributors wishing to update translations against a tarball
7811 distribution, and it can be helpful for the tarball to be a superset
7812 of what's in bzr.
7813
3d171e95
CW
78142012-09-04 Colin Watson <cjwatson@ubuntu.com>
7815
7816 * Makefile.am (EXTRA_DIST): Add
7817 grub-core/tests/boot/linux.init-mips.S,
7818 grub-core/tests/boot/linux.init-ppc.S, and
7819 grub-core/tests/boot/linux-ppc.cfg.
7820
f2c2503e
CW
78212012-09-04 Colin Watson <cjwatson@ubuntu.com>
7822
7823 * grub-core/mmap/mips/loongson: Remove empty directory.
7824
78252012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7826
7827 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7828 gone.
7829
ab2163d5
CW
78302012-09-04 Colin Watson <cjwatson@ubuntu.com>
7831
7832 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7833 grub-sparc64-setup.
7834
ce938140
GS
78352012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7836
7837 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7838
529f58a5
GS
78392012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7840
7841 * po/POTFILES.in: Regenerated.
7842
16cf79e9
GS
78432012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7844
7845 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7846 (NetBSD): New subsection.
7847
39b27f1e 78482012-07-22 Ales Nesrsta <starous@volny.cz>
7849
7850 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7851 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7852
a885261b
VS
78532012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
7856 * util/grub.d/10_hurd.in: Add missing quoting.
7857 * util/grub.d/10_illumos.in: Likewise.
7858 * util/grub.d/10_kfreebsd.in: Likewise.
7859 * util/grub.d/10_linux.in: Likewise.
7860 * util/grub.d/20_linux_xen.in: Likewise.
7861
7bd29c01
VS
78622012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 New command `lsefi'.
7865
7866 * grub-core/Makefile.core.def (lsefi): New module.
7867 * grub-core/commands/efi/lsefi.c: New file.
7868 * include/grub/efi/api.h: Add more GUIDs.
7869
ac625d8f
VS
78702012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
7873 (grub_bsd_elf32_hook): Likewise.
7874 (grub_bsd_elf64_size_hook): Likewise.
7875 (grub_bsd_elf64_hook): Likewise.
7876 (grub_bsd_load_elf): Likewise.
7877
e73bb801
VS
78782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
7881 if hash function is unavailable.
7882 (dec_stream_header): Likewise.
7883
e81db8b5
VS
78842012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
7887 filter state.
7888
d187a1c3
VS
78892012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Fix coreboot compilation.
7892
7893 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
7894 (grub_vga_text_init_real): ... this.
7895 (grub_vga_text_fini): Rename to ...
7896 (grub_vga_text_fini_real): ... this.
7897
91a05f64
VS
78982012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
7901
6af96df7
VS
79022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/lib/legacy_parse.c: Support clear and testload.
7905
4d569e12
VS
79062012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
7909
073b57bb
VS
79102012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/fs/ext2.c: Experimental support for 64-bit.
7913
a706f4cc
VS
79142012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * grub-core/net/tftp.c (ack): Fix endianness problem.
7917 (tftp_receive): Likewise.
7918 Reported by: Michael Davidsaver.
7919
e7850aa9
VS
79202012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * gentpl.py: Make mans depend on grub-mkconfig_lib.
7923
79242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
7927 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
7928 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
7929
35692881
VS
79302012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
7933 efi_mmap_size.
7934 Reported by: Stuart Hayes.
7935
c35fc5bd
VS
79362012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
7939
7940 * grub-core/Makefile.core.def (mda_text): New module.
7941 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
7942 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
7943 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
7944 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
7945 here.
7946 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
7947 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
7948 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
7949 here.
7950 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
7951 to ..
7952 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
7953 ... here
7954 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
7955 here.
7956 * grub-core/term/i386/vga_common.c: Removed.
7957 * include/grub/i386/vga_common.h: Likewise.
7958 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
7959 (grub_vga_cr_bw_read): Likewise.
7960 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
7961 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
7962 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
7963 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
7964 grub_vga_cr_read/grub_vga_cr_write.
7965 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
7966
5f91f701
VS
79672012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * configure.ac: Bump version to 2.00.
7970 * grub-core/normal/main.c (features): Add feature_200_final.
7971
0c4f85f6
VS
79722012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
79732012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
7974
7975 * NEWS: Fix unclarity and language mistakes.
7976
f923ad22
VS
79772012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
7980 additional size to 3 pages.
7981 Reported by: Stuart Hayes.
7982
d22029ba
VS
79832012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * NEWS: Add 2.00 entry.
7986
58eee08f
VS
79872012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
7990 put explicit "/" for empty path.
7991 (wildcard_expand): Improve dprintf.
7992
c59bdff7
VS
79932012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
7996 it's equal to currnode. This can happen with "" symlink.
7997
5e6a440a
YB
79982012-06-27 Yves Blusseau <blusseau@zetam.org>
7999
8000 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8001 echo shell command by printf command.
8002
73a68bcb
VS
80032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8006 the value returned by firmware is the maximal position, not diumension.
8007 (grub_terminfo_output_state): Use a more sane fallback.
8008
392a603b
VS
80092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8012
42d0867f
VS
80132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8016 frequency to 150 MHz.
8017
489509f4
VS
80182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 Apple fixes.
8021
8022 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8023 __APPLE_
8024 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8025 definition.
8026 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8027
9f3fc883
VS
80282012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 Handle slash in HFS label.
8031
8032 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8033 (grub_hfs_dir): Tanslate slash.
8034 (grub_hfs_label): Don't translate slash.
8035
54853fd7
VS
80362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8039 network protocol listing since it introduces problematic dependency on
8040 net module.
8041
4dc02ddf
VS
80422012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8045
c50c867d
VS
80462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Init video early on yeeloong to avoid being rebooted by watchdog.
8049
8050 * grub-core/Makefile.am (gensm712): New target.
8051 (sm712_start.S): Likewise.
8052 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8053 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8054 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8055 description.
8056 * include/grub/vga.h: Move registry definitions to...
8057 * include/grub/vgaregs.h: ... here.
8058
5f92c8a1
VS
80592012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8062 signedness.
8063
e9e6f111
VS
80642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8067 platforms with firmware disk drivers in the core.
8068
754ad9eb
VS
80692012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8072 informative verbose message.
8073 (read_lv): Handle 64-bit segment size.
8074
315654c2
VS
80752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8078
fb022c79
VS
80792012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8082 character but still remove trainling spaces.
8083 (grub_fat_label): Ignore archive flag.
8084
8645f72c
VS
80852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8088 cast between linux_kernel_header and linux_kernel_params.
8089
36498496
VS
80902012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8093 type for size.
8094 (grub_raid6_recover_func_t): Likewise.
8095 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8096 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8097
0b5ea6b8
VS
80982012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8101
650cfcfe
GS
81022012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8103
8104 Fix overflow.
8105
8106 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8107 [__NetBSD__]: Add explicit cast before bitshift.
8108
8a4d6a44
VS
81092012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * configure.ac: Bump to 2.00~rc1.
8112
2fb97ed3
VS
81132012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8116 half of $a0.
8117
1fa097dc
VS
81182012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
81192012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8120
8121 * docs/grub.texi: Fix search syntax.
8122 (Multi-boot manual config): Put msdos rather than GPT example.
8123 Grammar corrections.
8124
c890ba78
VS
81252012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8128
0f92dca7
VS
81292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8132
3988c4a0
VS
81332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8136 message on double free. Put the value of magic in case of mismatch.
8137
9e86d4c5
VS
81382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 Speed-up video on yeeloong.
8141
8142 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8143 add cached_ptr.
8144 (grub_video_sm712_video_fini): Unmap cached_ptr.
8145 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8146 (grub_video_sm712_set_active_render_target): Removed.
8147 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8148 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8149 sync caches.
8150
ed24c312
VS
81512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 Avoid flushing the same line multiple times on loongson.
8154
8155 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8156 Step in 32 bytes and not 1 byte.
8157 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8158 Likewise.
8159
d1718e7d
VS
81602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8163 subvolumes.
8164
982f1909
VS
81652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 Implement flow control for http.
8168
8169 * grub-core/net/http.c (parse_line): Handle response 206.
8170 (http_receive): Stall if too many packets are in the queue.
8171 (http_establish): Fix range header.
8172 (http_seek): Fix double free.
8173 (http_close): Likewise.
8174 (http_packets_pulled): New function.
8175 (grub_http_protocol): Set http_seek
8176 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8177 (ack_real): Set window depending on i_stall.
8178 (grub_net_send_tcp_packet): Likewise.
8179 (grub_net_tcp_stall): New function.
8180 (grub_net_tcp_unstall): Likewise.
8181 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8182 (grub_net_tcp_unstall): Likewise.
8183
bd407d6e
VS
81842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8187
c7564b8e
VS
81882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8191
a3706162
VS
81922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * tests/util/grub-shell.in: Fix a typo.
8195
b27069e0
VS
81962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Implement flow control for tftp.
8199
8200 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8201 packets but stop only if stop condition is satisfied.
8202 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8203 `stall' instead of `eof' as stop condition.
8204 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8205 (http_err): Likewise.
8206 * grub-core/net/tftp.c (ack): Replace the first argument with data
8207 instead of socket.
8208 (tftp_receive): Stall if too many packets are in wait queue.
8209 (tftp_packets_pulled): New function.
8210 (grub_tftp_protocol): Set packets_pulled.
8211 * include/grub/net.h (grub_net_packets): New field count.
8212 (grub_net_put_packet): Increment count.
8213 (grub_net_remove_packet): Likewise.
8214 (grub_net_app_protocol): New field `packets_pulled'.
8215 (grub_net): New field `stall'.
8216
6b9cfac6
VS
82172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8220 sync part to handle them.
8221
f35abd81
VS
82222012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8225 * grub-core/net/drivers/ieee1275/ofnet.c
8226 (grub_ieee1275_net_config_real): Likewise.
8227
0e7ec820
VS
82282012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8231 the direct route for server/gateway.
8232
9d611a31
VS
82332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8236 IP address to server name since we may not hame the DNS.
8237
418f45ab
VS
82382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8241 freeing random buffer on failure.
8242 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8243
44a0efc1
VS
82442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8247
531e2241
VS
82482012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8251 reserved bytes.
8252 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8253 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8254 Handle malloc error correctly.
8255
cde393c9
VS
82562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8259 blocks.
8260
538478d0
VS
82612012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8264 increment.
8265
9b55efe0
VS
82662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8269 none is explicitly specified.
8270
9eb832c3
VS
82712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8274 while reallocating.
8275
d6b7c7c9
VS
82762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 Respect netmask from bootp/dhcp.
8279
8280 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8281 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8282 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8283 into ...
8284 (grub_net_add_ipv4_local): ... this.
8285 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8286 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8287 (grub_net_add_ipv4_local): New proto.
8288
67caf9eb
VS
82892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8292 determining EFI memory map size.
8293
43657558
VS
82942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8297
eb6d0dd3
VS
82982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8301 when looking for partition separator.
8302
31230544
VS
83032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8306 Escape commas.
8307
918a2517
VS
83082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 Restructure FAT driver to avoid hook in label reading as it hits a
8311 GCC bug.
8312
8313 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8314 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8315 (grub_fat_iterate_dir): Split into ...
8316 (grub_fat_iterate_init): ... this, ...
8317 (grub_fat_iterate_fini): ... this, ...
8318 (grub_fat_iterate_dir_next): ... and this. All users updated.
8319
9f1d654e
VS
83202012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8323 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8324 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8325 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8326 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8327 New fields last_key and last_key_time.
8328 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8329 extended key-esc into extended key-extended key.
8330
52f0f643
VS
83312012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Avoid unnecessary memcpy of whole video buffer.
8334
8335 * grub-core/video/fb/video_fb.c (dirty): New struct.
8336 (framebuffer): Add members current_dirty and previous_dirty.
8337 (dirty): New function.
8338 (grub_video_fb_fill_rect): Update dirty.
8339 (common_blitter): Likewise.
8340 (grub_video_fb_scroll): Likewise.
8341 (doublebuf_blit_update_screen): Copy only dirty part.
8342 (doublebuf_pageflipping_update_screen): Likewise.
8343 (grub_video_fb_doublebuf_blit_init): Init dirty.
8344 (doublebuf_pageflipping_init): Likewise.
8345 (grub_video_fb_setup): Likewise.
8346
e169a180
VS
83472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8350 poll rate.
8351
48556879
VS
83522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 Fix wildcard regexp dot and other special characters handling.
8355 Reported by: Robert Mabee.
8356
8357 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8358 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8359 (split_path): Trigger expansion on '?'.
8360 (unescape): New function.
8361 (wildcard_expand): Unescape parts copied without globbing.
8362 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8363 (grub_script_arglist_to_argv): Don't unescape expansions.
8364
0494408e
VS
83652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * include/grub/net.h (grub_net_card): New member txbufsize.
8368 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8369 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8370 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8371 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8372 txbufsize.
8373 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8374 compatible property to check for macs. Set
8375 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8376 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8377 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8378 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8379 (send_card_buffer): Use txbuf.
8380 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8381 nested function out of the parent while on it.
8382
cc35fe8f
VS
83832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8386 presence check.
8387 (grub_ieee1275_net_config_real): Fix config pointer.
8388
970a0a09
VS
83892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8392 filename parsing to non-block devices.
8393
3e19bf87
VS
83942012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8397
c62d1a0c
VS
83982012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8401 All users updated.
8402
ef76bec3
VS
84032012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8406 UUID search command even if hints probing failed.
8407
84082012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8409
8410 * po/POTFILES.in: Regenerated.
8411
70aaf305
VS
84122012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 Speed-up video on fuloong.
8415
8416 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8417 New function.
8418 (grub_pci_device_unmap_range): Handle non-cached address.
8419 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8420 add direct_ptr.
8421 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8422 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8423 (grub_video_sis315pro_set_active_render_target): Removed.
8424 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8425 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8426 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8427 sync caches.
8428 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8429 New proto.
8430
10400f0b
VS
84312012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * docs/grub.texi (Multi-boot manual config): New section.
8434
ba67e2c6
VS
84352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 Avoid slow read-back from VRAM.
8438
8439 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8440 Move from here ...
8441 * grub-core/video/fb/video_fb.c
8442 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8443 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8444 (front_target): Remove front_target. Add pages.
8445 (grub_video_fb_init): Skip setting front_pages.
8446 (grub_video_fb_fini): Likewise.
8447 (doublebuf_blit_update_screen): Use pages.
8448 (grub_video_fb_doublebuf_blit_init): Likewise.
8449 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8450 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8451 (grub_video_fb_setup): Prefer doublebuffing.
8452
377c98cb
VS
84532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8456 gzio.
8457
eac49cff
VS
84582012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 Add loongson tests.
8461
8462 * tests/util/grub-shell.in: Handle loongson.
8463 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8464 drivers.
8465 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8466 Reboot instead of shutdown if REBOOT is defined.
8467
0321415e
VS
84682012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8471 sized ports since unlike on real hardware qemu supports only 32-bit
8472 regs.
8473
3f2bdd8f
VS
84742012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8477 * util/grub-mkrescue.in: Handle loongson.
8478
29a049c9
VS
84792012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8482 Set is_part appropriately.
8483 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8484 names. Canonicalize partition without full disk.
8485
4abde346
VS
84862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 Revert usb-quiesce since it's wrong.
8489
8490 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8491 (grub_ofdisk_init): Don't do quiesce.
8492
61f1d93b
VS
84932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8496 PowerMac workaround to Xserves as well.
8497 Information supplied by: Benjamin Herrenschmidt.
8498
a09eb541
VS
84992012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 Don't assume that beginning address is also the entry point on ppc.
8502
8503 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8504 (grub_linux_boot): Use linux_entry.
8505 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8506 (grub_linux_load64): Likewise.
8507
505b3c9b
VS
85082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8511
cbe0b4ef
VS
85122012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8515 needlessly lose the console.
8516
3006e981
VS
85172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8520 space.
8521
4e5a96b0
VS
85222012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8523
7da036bb
VS
8524 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8525 than current grub_get_rtc() not implemented when booted with
8526 coreboot without TSC.
8527
8528 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8529 Add machine/time.h to kernel headers on loongson.
8530 * grub-core/Makefile.core.def (kernel): Remove
8531 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8532 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8533 (grub_get_rtc): Likewise.
8534 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8535 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8536 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8537 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8538 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8539 rather than installing known non-working time source.
8540 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8541 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8542 * include/grub/time.h: Don't include machine/time.h.
8543 * include/grub/efi/time.h: Removed.
8544 * include/grub/i386/efi/time.h: Likewise.
8545 * include/grub/i386/ieee1275/time.h: Likewise.
8546 * include/grub/powerpc/ieee1275/time.h: Likewise.
8547 * include/grub/sparc64/ieee1275/time.h: Likewise.
8548 * include/grub/x86_64/efi/time.h: Likewise.
8549
85502012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8553
8554 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8555 value.
8556 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8557 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8558 with dotless variants when any combining above is present.
8559
5561c22d
VS
85602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8563 text and not binary.
8564
96f7e60e
VS
85652012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 Stop polling as soon as we have the packet we were waiting for.
8568
8569 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8570 All users updated.
8571 * grub-core/net/arp.c (have_pending): New var.
8572 (pending_req): Likewise.
8573 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8574 stop indicator.
8575 (grub_net_arp_receive): Set have_pending.
8576 * grub-core/net/dns.c (recv_data): New field stop.
8577 (recv_hook): Set stop.
8578 (grub_net_dns_lookup): Init stop and use as stop condition.
8579 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8580 condition.
8581 * grub-core/net/net.c (grub_net_poll_cards): New argument
8582 stop_condition. Stop when it goes true.
8583 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8584 indicator.
8585 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8586
3e747239
VS
85872012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Keep TX and RX buffers on EFI rather than always allocate new ones.
8590
8591 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8592 card. All users updated.
8593 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8594 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8595 (get_card_packet): Likewise.
8596 (grub_efinet_findcards): Init new fields.
8597
f695e99a
VS
85982012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8601 compilation error on sparc64.
8602
9e5e66d1
VS
86032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Use ITC on IA64 rather than broken routine based on daytime.
8606
8607 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8608 ia64.
8609 (grub_get_rtc) [__ia64__]: Likewise.
8610 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8611 (get_itc): New function.
8612 (grub_rtc_get_time_ms): Likewise.
8613 (grub_machine_init): Calibrate ITC.
8614 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8615 Keep only on non-ia64. Don't export since it's broken and used only
8616 if TSC is unavailable.
8617
a1767404
VS
86182012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8621 even if it's used.
8622 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8623 Skip if parent is unused.
8624
34b2bced
VS
86252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8628
5e619f40
VS
86292012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 Fix wildcard escaping.
8632
8633 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8634 * grub-core/script/execute.c (wildcard_escape): .. to here.
8635 Don't escape dot.
8636 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8637 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8638 Don't escape dot.
8639 * grub-core/script/execute.c (gettext_append): Always escape.
8640 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8641 * grub-core/script/yylex.l: Don't cut away the escaping.
8642 * tests/grub_script_echo1.in: Add tests with wildcard.
8643
c8ca5855
VS
86442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8647 (ftdi_hw_configure): Likewise.
8648 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8649 define.
8650 (real_config): Handle 1.5 stop bits.
8651 (pl2303_hw_configure): Likewise.
8652
7183452c
VS
86532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * Makefile.am: Add ppc linux bootcheck.
8656 * grub-core/tests/boot/linux-ppc.cfg: New file.
8657 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8658
f57c84cd
VS
86592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * tests/grub_script_expansion.in: Skip network protocols.
8662
ecfc6207
VS
86632012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8666
8d03d284
VS
86672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8670 --rom-directory.
8671 Add -graft-points.
8672
61c42af0
VS
86732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 ESCC serial driver for conducting sautomated tests in qemu.
8676 Not tested on real hardware.
8677
8678 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8679 * grub-core/term/ieee1275/escc.c: New file.
8680 * grub-core/Makefile.core.def (escc): New module.
8681
08fd1291
VS
86822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8685 invalid on error.
8686 (serial_hw_fetch): Don't read invalid handle.
8687 (serial_hw_put): Don't write into invalid handle.
8688
08dafeea
VS
86892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Add a 1.5 stop bits value.
8692
8693 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8694 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8695 GRUB_SERIAL_STOP_BITS_1_5.
8696
9068fdcf
VS
86972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8700 value rather than let it uninited.
8701
f4d5820f
VS
87022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/commands/wildcard.c (+check_file): New function.
8705 (wildcard_expand): Don't expand to non-existing files, expand with
8706 suffix and not attempt to expand if not needed.
8707
3d2de9a7
VS
87082012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8711 out of partitions containing other partitions.
8712
c5c81ff9
VS
87132012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8716 on some qemu versions with GRUB.
8717
8718 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8719 define.
8720 (grub_openbsd_bootarg_pcibios): New struct.
8721 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8722 Add PCIINFO.
8723
08a14e0b
VS
87242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * tests/util/grub-shell.in: Trim firmware output on EFI.
8727
cede3ca3
VS
87282012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8731 and coreboot since it's already in kernel.
8732
558d3a60
VS
87332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8736 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8737 to here. New return value start. All users updated.
8738 Recursively scan linear mappings.
8739 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8740 proto.
8741 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8742 Use grub_util_get_dm_node_linear_info.
8743 * util/getroot.c (convert_system_partition_to_system_disk): Use
8744 grub_util_info rather than grub_dprintf.
8745 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8746
60fde14d
VS
87472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8750
8751 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8752 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8753
24bd8838
VS
87542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * include/grub/types.h (grub_set_unaligned64): New function.
8757 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8758 (setup): Likewise.
8759
7bc06a49
VS
87602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8763 (grub_ofdisk_fini): Quiesce USB devices.
8764
49cea015
VS
87652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8768 caches.
8769
8dcbe03b
VS
87702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8773
5b258735
VS
87742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * grub-core/disk/pata.c (grub_pata_pio_read)
8777 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8778 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8779
37ba07eb
VS
87802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Extend automated tests to qemu-mips.
8783
8784 * Makefile.am: reorganise tests and enable qemu-mips.
8785 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8786 * grub-core/tests/boot/linux.init-mips.S: New file.
8787 * tests/partmap_test.in: Handle ata0 disks.
8788 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8789 non-pc i386.
8790
070038f8
VS
87912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8794 ia64.
8795 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8796 quotes while on it.
8797
004be2cd
VS
87982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8801 (grub_halt): Likewise.
8802 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8803
b1622487
VS
88042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * grub-core/term/serial.c (grub_serial_register)
8807 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8808 the behaviour in line with x86 platforms.
8809
b7b4ab33
VS
88102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8813 (grub_ata_strncpy): Likewise.
8814 (grub_ata_identify): Add missing byteswaps.
8815
5e3535ae
VS
88162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8819 byte-swap.
8820 (screen_read_char): Likewise.
8821 (grub_vga_text_cls): Likewise.
8822
c21b17e6
VS
88232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8826 filenames.
8827 (make_file_path): Likewise.
8828
bf293dec
VS
88292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8832 machines.
8833 Tested by: Paulo Flabiano Smorigo.
8834 Crucial information about API supplied by: Coleen <Last name unknown>.
8835 Reviewed by: Coleen <Last name unknown>.
8836
81f6ef0e
VS
88372012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * util/grub-mkimage.c: Disable -Wcast-align.
8840
7284143a
VS
88412012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8844 as they are fatal.
8845
b99f3e00
VS
88462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8849
944f752d
VS
88502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * util/grub-probe.c (escape_of_path): Fix double free.
8853
6cce6f38
VS
88542012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/commands/videoinfo.c (hook): Show pitch.
8857
1e1eb50e
VS
88582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * util/grub.d/20_linux_xen.in: Skip xen-syms.
8861
1c715b5a
VS
88622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
8865 (probe): Add ieee1275 to OFW devices.
8866
007ae52d
VS
88672012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8868
8869 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
8870
4557a36d
VS
88712012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 Handle IBM OFW path.
8874
8875 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
8876 available.
8877 (of_path_of_scsi): Handle vdevice.
8878
efbeefe9
VS
88792012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
8882 Allocate in multiples of 16 to avoid adding a few bytes free region the
8883 windows bugs upon.
8884
15a940bb
VS
88852012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
8888 Allocate in multiples of 16 to avoid adding a few bytes free region the
8889 windows bugs upon.
8890 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
8891
6e5efd60
VS
88922012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
8895 resolutions.
8896 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
8897 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
8898
0d3d137e
IS
88992012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
8900
8901 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
8902
45dbe300
VS
89032012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
8906 resulted in \\ at the end of the line.
8907
6d8db947
VS
89082012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
8911 (grub_parser_cmdline_state): Likewise.
8912 (grub_parser_split_cmdline): Likewise.
8913
de89d338
VS
89142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
8917 /dev/root and /dev/dm-*.
8918
00d41dee
VS
89192012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
8922 fix partially stale display.
8923
f95d1f11
VS
89242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/normal/menu_entry.c (backward_char): Use right line for
8927 substraction.
8928
6297e197
VS
89292012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
8932 Fix MBR remapping workaround.
8933 (grub_util_biosdisk_read) [__linux__]: Likewise.
8934
8a7ecad3
VS
89352012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * util/grub-install.in: Check for ieee1275 and not ieee1276.
8938
2b34f944
VS
89392012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * configure.ac: Bump to beta6.
8942
684aef11
CW
89432012-05-31 Christer Weinigel <christer@weinigel.se>
8944
8945 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
8946
05b0bb91
VS
89472012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
8950 (grub_cmd_linux): Likewise.
8951
bda36bfa
CW
89522012-05-31 Christer Weinigel <christer@weinigel.se>
8953
8954 Fix EHCI low-speed.
8955
8956 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
8957 (GRUB_EHCI_MULT_TWO): Likewise.
8958 (GRUB_EHCI_MULT_THREE): Likewise.
8959 (GRUB_EHCI_CMASK_MASK): New enum value.
8960 (GRUB_EHCI_SMASK_MASK): Likewise.
8961 (GRUB_EHCI_CMASK_OFF): Likewise.
8962 (GRUB_EHCI_SMASK_OFF): Likewise.
8963 (grub_ehci_pci_iter): Enable periodic schedule.
8964 (grub_ehci_parse_notrun): Likewise.
8965 (grub_ehci_restore_hw): Likewise.
8966 (grub_ehci_setup_qh): Set flags for low speed transfers.
8967 (grub_ehci_find_qh): Use periodic list for low speed.
8968 (grub_ehci_setup_transfer): Check periodic queue as well.
8969 (grub_ehci_check_transfer): Likewise.
8970 (grub_ehci_cancel_transfer): Cancel periodic transfer.
8971
e12bcb1c
PFS
89722012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8973
8974 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
8975 parameter is used.
8976
bcc75fb3
PJ
89772012-05-31 Peter Jones <pjones@redhat.com>
8978
8979 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
8980 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
8981 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
8982
f19cb95e
VS
89832012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
8986 uninited variable. Allocate at least setup_sects.
8987
a4e5ca80
VS
89882012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 Fix handling of EFI with big memory maps.
8991
8992 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
8993 (real_mode_mem): Likewise.
8994 (real_mode_target): Likewise.
8995 (real_mode_pages): Likewise.
8996 (prot_mode_pages): Likewise.
8997 (linux_params): New var.
8998 (linux_cmdline): Likewise.
8999 (free_pages): Don't set real mode variables.
9000 (allocate_pages): Don't allocate real mode memory.
9001 (grub_e820_add_region): Remove the limit.
9002 (grub_linux_boot): Allocate and copy real mode memory.
9003 (grub_linux_unload): Free linux_cmdline.
9004 (grub_cmd_linux): Use temporary storage for parameters.
9005 (grub_cmd_initrd): Likewise.
9006 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9007 (linux_kernel_params): Make it 1K big.
9008
ddb73558
VS
90092012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * Makefile.util.def: Remove -Wno-format.
9012 * grub-core/Makefile.core.def: Likewise.
9013
1c4afb60
VS
90142012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * tests/cmp_unit_test.c: Add missing failure message.
9017 * tests/example_unit_test.c: Likewise.
9018 * tests/printf_unit_test.c: Likewise.
9019
941e3a6d
VS
90202012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9023 relaxation of protective MBR requirements.
9024
b105df76
VS
90252012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * configure.ac: Add condition for COND_HOST_XNU.
9028 * Makefile.util.def (10_xnu): New script.
9029 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9030
84e1569e
VS
90312012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9034 objconv bug.
9035
130c0f77
VS
90362012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9039 Binary on other platforms stays identical.
9040
6fd0b143
VS
90412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9044 Apple.
9045
0af1751d
VS
90462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9049
176d5f7d
VS
90502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9053 rather than defining size_t ourselves to avoid conflict.
9054
7de5e20a
VS
90552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9058 initialisation to avoid __bzero reference.
9059
f7143efe
VS
90602012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9063 version.
9064 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9065 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9066 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9067 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9068 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9069
e6ad0555
VS
90702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9073 * grub-core/kern/misc.c: Likewise.
9074 * grub-core/loader/i386/xnu.c: Likewise.
9075 * include/grub/i386/tsc.h: Likewise.
9076 * include/grub/symbol.h: Likewise.
9077
4a5a3c4a
VS
90782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9081 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9082 on older compiler.
9083
037f6d90
VS
90842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9087 Implement Apple flavour.
9088 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9089
f7194551
VS
90902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9093 (memmove) [__APPLE__]: Likewise.
9094 (memcpy) [__APPLE__]: Likewise.
9095 (memset) [__APPLE__]: Likewise.
9096 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9097 (memmove) [__APPLE__]: Likewise.
9098 (memcpy) [__APPLE__]: Likewise.
9099 (memset) [__APPLE__]: Likewise.
9100
85a730ca
VS
91012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9104 dependency discard.
9105
40e80b94
VS
91062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/normal/main.c (read_config_file): Provide config_file and
9109 config_directory.
9110 * util/grub.d/41_custom.in: Use config_directoy when available.
9111
9da59c32
VS
91122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9115 (grub_bfs_dir): Likewise.
9116
2787ae53
PJ
91172012-05-27 Peter Jones <pjones@redhat.com>
9118
9119 The old code gives arguments to a printf function which can't work
9120 correctly, and the compiler complains.
9121
9122 * grub-core/tests/example_functional_test.c (example_test): Add
9123 missing text.
9124 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9125 * include/grub/test.h (grub_test_assert_helper): New declaration.
9126 (grub_test_assert): Use grub_test_assert_helper.
9127
526ef13d
VS
91282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9131 (exfctest): ... this to avoid overlong filenames.
9132 All users updated.
9133
20dd511c
VS
91342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 Handle "." and ".." on squashfs.
9137
9138 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9139 Make inode numbers into stack.
9140 (grub_squash_read_symlink): Use stack.
9141 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9142 (make_root_node): Fill stack.
9143 (grub_squash_open): Use stack.
9144
1d80c62a
VS
91452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9148 freeing.
9149
d336f652
VS
91502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9153 stderr on test calls.
9154
8b43f587
VS
91552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9158
80a3dc3f
VS
91592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9162
47e297d4
VS
91632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9166 "..".
9167
df042ccb
VS
91682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9171 (grub_hfsplus_iterate_dir): Add "." and "..".
9172
fc977f48
VS
91732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9176 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9177
f3250e5f
VS
91782012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9181 (find_path): Handle "." and "..".
9182
fd8ed4c5
VS
91832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9186 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9187 (grub_affs_iterate_dir): Handle hardlinks.
9188
4ce776d2
MG
91892012-05-26 Matthew Garrett <mjg@redhat.com>
9190
9191 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9192 (grub_efi_console_fini): Likewise.
9193 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9194 (grub_video_gop_fill_mode_info): Rename to ...
9195 (grub_video_gop_fill_real_mode_info): ... this.
9196 (grub_video_gop_fill_mode_info): New function.
9197 (grub_video_gop_setup): Setup double framebuffer.
9198 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9199 Free offscreen.
9200 (grub_video_gop_swap_buffers): Copy framebuffer.
9201 (grub_video_gop_fini): Free offscreen buffer.
9202 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9203 New enum.
9204 (grub_efi_gop_blt_pixel): New struct.
9205
683031ba
VS
92062012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * gentpl.py: Remove error disabling for objconv.
9209
c2deb798
VS
92102012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * configure.ac: Remove -Wunitialized as it's not available on older
9213 compilers.
9214
92152012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9216
9217 Fix extent overflow comparator.
9218
9219 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9220 (grub_hfsplus_read_block): Set type.
9221 (grub_hfsplus_cmp_extkey): Compare type.
9222
d6b1fd36
VS
92232012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9226
0a9aa0f6
VS
92272012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9230 than 0.
9231
8360e159
VS
92322012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9235 (dejavu_bold_14.pf2): New target.
9236
501b9e4b
VS
92372012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * configure.ac: Fix djvu font detection.
9240
7026b0e2
VS
92412012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9244 ext* instead of ext2.
9245
c2a51ade
VS
92462012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9249 name with \0.
9250
8f803a5d
JU
92512012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9252
9253 * docs/grub-dev.texi: Remove dot from .png.
9254
13c6353f
VS
92552012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9258 protective entry in any slot.
9259 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9260 if protective entry is found in any slot.
9261
9262 Protective entry in non-first slot make no sense but is a widespread
9263 brain damage.
9264
4cf6be1b
VS
92652012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9268
937d1c44
VS
92692012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9272 with old reiserfs.
9273 (grub_reiserfs_open): Don't free root.
9274
021d90ec
VS
92752012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9278 after freeing for safety.
9279
967b2b64
VS
92802012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9283 Reported by: Jordan Uggla.
9284
34274d02
JU
92852012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9286
967b2b64
VS
9287 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9288 actual implementation. Specifically, clarify that the grub menu will
9289 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9290 passed.
34274d02 9291
dcaaae9d
BH
92922012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9293
9294 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9295 of r0.
9296
7086ad52
VS
92972012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Remove unjustified hard dependency of normal.mod on gfxterm.
9300
9301 * include/grub/term.h (grub_term_output): New member fullscreen.
9302 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9303 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9304 (grub_gfxterm): Set .fullscreen.
9305 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9306 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9307
37ed2c9b
VS
93082012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9311 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9312 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9313
a4469c88
VS
93142012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9317
4e461486
VS
93182012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9321 a bad FS.
9322
aa78f5c4
VS
93232012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9326 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9327
197626b5
VS
93282012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9331 (grub_jfs_mount): Fill caseins.
9332 (grub_jfs_find_file): Respect caseins.
9333
8ad3f28c
VS
93342012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9337 through UTF-16.
9338
0c6c324e
VS
93392012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9342 New argument origpath. All users updated.
9343
c6666ba6
VS
93442012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9347 (read_attr): Ensure that we read start of possibly compressed block.
9348
e28e5fe5
VS
93492012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9352 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9353 All users updated.
9354
5fc23ab2
VS
93552012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9358 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9359 (dejavu.pf2): Replace with ...
9360 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9361 this.
9362
79dbc21c
VS
93632012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * util/grub.d/20_linux_xen.in: Add missing line.
9366
d2fcfb0c
VS
93672012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9370 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9371 (grub_utf16_to_utf8): Likewise.
9372
5560e9d6
VS
93732012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9376 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9377 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9378 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9380 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9381
93822012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9383
9384 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9385 a bad FS.
9386
5560e9d6 93872012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9388
9389 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9390 (grub_udf_read_symlink): Handle read_string failure.
9391
5eae3175
VS
93922012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9395 comment.
9396
c1ad82db
VS
93972012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 Fix handling of UDF symlinks.
9400
9401 * grub-core/fs/udf.c (read_string): New argument outbuf.
9402 All users updated.
9403 (grub_ufs_read_symlink): Rename to ...
9404 (grub_udf_read_symlink): ... this. All users updated.
9405 Handle symlinks with more than one component.
9406
33eca6e0
VS
94072012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9410 symlinks. Replace leading colon with a slash.
9411
57f4a70b
VS
94122012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9415 filename.
9416
38c8ee20
VS
94172012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9420 match in inner node.
9421
2e57f28f
VS
94222012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9425 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9426 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9427 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9428 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9429 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9430 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9431 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9432 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9433
fe8c2f11
VS
94342012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 Use grub-probe and not cmp to check that disk is empty.
9437
9438 * util/grub-install.in: Use grub-probe for zero-check.
9439 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9440 (probe): Handle PRINT_ZERO_CHECK.
9441 (argp_parser): Handle -t zero_check.
9442
94432012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9444
9445 Flush block cache on adding disk to device map.
9446
9447 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9448 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9449 adding.
9450 (read_device_map): Likewise.
9451 (open_device): Flush on opening.
9452
690434e8
VS
94532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9456 (handle_symlink): Fix off-by-one error.
9457 Canonicalize the target.
9458 (grub_cpio_dir): Canonicalize the name.
9459 Fix memory leak.
9460 Set directory.
9461 (grub_cpio_open): Canonicalize the name.
9462
742d2be6
VS
94632012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9466 handling.
9467
3244fe96
VS
94682012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9471 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9472
8aeb1837
VS
94732012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9476 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9477 All users updated.
8aeb1837 9478
9133fd05
VS
94792012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9482 counterpart.
9483
6d521c5b
VS
94842012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 Fix UFS1 big file support.
9487
9488 * grub-core/fs/ufs.c (INODE): Removed.
9489 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9490 64-bit.
9491 (INODE_MODE): Simplify.
9492 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9493 (grub_ufs_lookup_symlink): Don't use INODE.
9494
21b82e17
VS
94952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9498
9499 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9500 (grub_minix_data): Replace log_block_size with block_size.
9501 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9502 (grub_minix_mount): Fill block_size.
9503
95042012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9505
9506 * configure.ac: Bump to beta5.
9507
f417ed04
VS
95082012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 Fix wrapped HFS+ handling.
9511
9512 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9513 blocks_start. All users updated.
9514 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9515 wrapping offset.
9516 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9517
607d282b
VS
95182012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 Fix long symlinks on reiserfs.
9521
9522 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9523 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9524 (grub_reiserfs_iterate_dir): Save size for non-directories.
9525 (grub_reiserfs_open): Don't reread stat block as we already know the
9526 size.
9527 (grub_reiserfs_read): Split into...
9528 (grub_reiserfs_read_real): ... and ...
9529 (grub_reiserfs_read): ...this.
9530
ae16024d
VS
95312012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 Fix non-indexed JFS.
9534
9535 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9536 (grub_jfs_data): New field namecomponentlen.
9537 (grub_jfs_mount): Fill namecomponentlen.
9538 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9539
eea1e26e
VS
95402012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9543 * tests/grub_script_echo1.in: Add tests.
9544
df760f77
VS
95452012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * util/grub-install.in: Ignore empty devicetree directory.
9548
5efb817d
B
95492012-05-08 Bean <bean123ch@gmail.com>
9550
9551 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9552 All users updated.
9553 (free_rsm): Free header as well.
9554 (free_old_fragments): Fix memory leak.
9555 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9556 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9557 (destroy_pq): Likewise.
9558 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9559
668ea6d2
VS
95602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9563 resulting hash as a precaution.
9564
1739b1fe
VS
95652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9568 '_' in variable names.
9569 * grub-core/net/net.c (grub_net_network_level_interface_register):
9570 Likewise.
9571
6ae485aa
VS
95722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 Fix AFFS with non-512B blocks.
9575
9576 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9577 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9578 (grub_affs_data): Replace blocksize with log_blocksize.
9579 (grub_affs_read_block): Fix non-512B blocks.
9580 (grub_affs_read_symlink): Likewise.
9581 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9582 (grub_affs_read): Fix non-512B blocks.
9583 (grub_affs_label): Likewise.
9584 (grub_affs_mtime): Likewise.
9585 (grub_affs_mount): Fix block detection routine.
9586
d20fab84
VS
95872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 Add filesystem mtime to AFFS.
9590
9591 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9592 (aftime2ctime): New function.
9593 (grub_affs_dir): Use aftime2ctime.
9594 (grub_affs_label): Fix return value.
9595 (grub_affs_mtime): New function.
9596 (grub_affs_fs): Add mtime.
9597
e87b10f5
VS
95982012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9601 UTF-8.
9602
7dceec9b
VS
96032012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9606 UTF-8.
9607
2f48221f
VS
96082012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9611
dacd85cf
VS
96122012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9615 flags.
9616 (FLAGS_CASE_SENSITIVE): New enum value.
9617 (cache_entry): New struct.
9618 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9619 cache_size and cache.
9620 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9621 Add log_blocksize and fshelp_flags.
9622 (grub_sfs_read_extent): Handle non-512 blocks.
9623 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9624 (grub_sfs_read_file): Handle non-512 blocks.
9625 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9626 fshelp_flags.
9627 (grub_sfs_read_symlink): Handle non-512 blocks.
9628 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9629 (grub_sfs_dir): Free cache.
9630 (grub_sfs_close): Likewise.
9631
24e9a854
VS
96322012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9635 filesystems.
9636
62ace64d
VS
96372012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9640
83b2e89c
VS
96412012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9644
75ccaea3
VS
96452012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9648 (grub_sfs_read_extent): Likewise.
9649 (grub_sfs_read_block): Likewise.
9650 (grub_sfs_mount): Likewise.
9651 (grub_sfs_iterate_dir): Likewise.
9652 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9653 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9654
1b8463f2
VS
96552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 Fix errors on compressed NTFS with 512B clusters.
9658
9659 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9660 types.
9661 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9662 not 0.
9663 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9664 Relax check for inline extents.
9665 (ntfscomp): Return correct -1 on error and not 0.
9666
4f8e368f
VS
96672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * util/grub-install.in: Fix handling of prefix containing spaces.
9670
6f5d5ee8
VS
96712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9674 (grub_squash_read_data): Fix offset byte-swapping.
9675
ce41ab7a
VS
96762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9679 per common usage and preffered in several parts of code.
9680 (grub_memcmp): Likewise.
9681 (grub_strncmp): Likewise.
9682 * include/grub/misc.h (grub_strcasecmp): Likewise.
9683 (grub_strncasecmp): Likewise.
9684 * Makefile.util.def (cmp_test): New test.
9685 (grub_script_strcmp): Likewise.
9686 * tests/cmp_unit_test.c: New file.
9687 * tests/grub_script_strcmp.in: Likewise.
9688 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9689
49717bf4
VS
96902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * include/grub/pci.h: Move enums into no-asm part.
9693
0a308f64
VS
96942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9697
1796965f
ST
96982012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9699
9700 * util/getroot.c (find_hurd_root_device): Try to make error message
9701 and comments to translators clearer.
9702
4e9b2819
VS
97032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9706
076aeb50
VS
97072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9710 btrfs.
9711
19424d94
VS
97122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * docs/grub.cfg: Update.
9715
ebb73076
VS
97162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * docs/grub.texi (PXE): Remove not present variables.
9719
9a1b669c
VS
97202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/net/net.c (defserver_set_env): New function.
9723 (defserver_get_env): Likewise.
9724 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9725
d38bf7d3
VS
97262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9729 entries.
9730
97312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9732
9733 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9734 * grub-core/kern/emu/hostdisk.c: Likewise.
9735
e5e4ca48
ST
97362012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9737
9738 Handle hurd userspace partitions.
9739
9740 * util/getroot.c (find_hurd_root_device): New function.
9741 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9742
56bb5dd5
VS
97432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9746 names.
9747 Reported by: Bastian Blank.
9748
9e8bc27a
VS
97492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9752 crossing page boundary.
9753
aa01499d
VS
97542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 Fix B-tree search in BFS, especially in presence of non-ASCII
9757 characters.
9758
9759 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9760 (find_in_b_tree): Use standard bsearch + btree algorithm.
9761
57006035
VS
97622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9765 and so on.
9766
9d34bb85
MG
97672012-05-03 Matthew Garrett <mjg@redhat.com>
97682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 Suspend broadcom cards in order to stop their DMA.
9771
9772 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9773 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9774 (pci): Don't build on x86 EFI.
9775 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9776 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9777 New function.
9778 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9779 stop_broadcom if running on EFI.
9780 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9781 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9782 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9783 (grub_pci_find_capability): New proto.
9784
01aab997
VS
97852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * docs/grub.texi: Remove dot from the extension as it apparently
9788 doesn't work with some makeinfo versions.
9789
fbd8dca6
VS
97902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9793 with GRUB expectance.
9794
dab797f4
VS
97952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9798
1516bfb4
VS
97992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9802 zero after directory block since last entry may be not 0-terminated if
9803 it ends on block boundary. Use continue instead of if spanning whole
9804 loop.
9805
a3a0eace
VS
98062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 Support 4K sectors UDF inline files.
9809
9810 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9811 (grub_udf_extended_file_entry): Likewise.
9812 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9813 All users updated.
9814 (get_fshelp_size): New function.
9815 (grub_udf_read_icb): Read whole block.
9816 (grub_udf_iterate_dir): Likewise.
9817 (grub_udf_dir): Likewise.
9818 (grub_udf_open): Likewise.
9819
c82f16c1
VS
98202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9823
59fd2aac
VS
98242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9827 inline symlinks in addition to workaround.
9828
3b4afb4d
VS
98292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9832
f45c794a
VS
98332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9836
f25cecbd
VS
98372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9840
bb9a34e8
VS
98412012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 Fix reiserfs big seek times.
9844
9845 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9846 exact. All users updated.
9847 (grub_reiserfs_read): Use nearest btree search for seeking.
9848 Fix return value on error.
9849
dc478aea
VS
98502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9853 entries.
9854 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
9855 * docs/grub.texi: Update menuentry description.
9856
8db10f47
VS
98572012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
9860 crash when embedding onto filesystem.
9861
bcb288ed
VS
98622012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
9865 name.
9866
a626fdd7
VS
98672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
9870
b2f68477
VS
98712012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
9874 commit.
9875
ba15b2af
B
98762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
98772012-05-01 Bean <bean123ch@gmail.com>
9878
9879 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
9880
a188012e
VS
98812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
9884 Special behaviour for len = 0 to read whole file isn't used anywhere and
9885 can cause buffer ovewrflows in several places.
9886
f0a53ed2
VS
98872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
9890
5ed554f0
VS
98912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 Handle RAIDZ on non-512B sectors.
9894
9895 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
9896 max_children_ashift.
9897 (fill_vdev_info_real): Fill max_children_ashift.
9898 (read_device): Use max_children_ashift.
9899
ddc58357
VS
99002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
9903
e3282399
VS
99042012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
9907 disk names.
9908 * docs/grub.texi: Update device.map parts.
9909
ee618bd4
VS
99102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 Don't scan into non-diskfilter devices having diskfilter names.
9913
9914 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
9915 (scan_disk): New argument accept_diskfilter. Fix recursion depth
9916 handling.
9917 (scan_disk_hook): New function.
9918
bdf88864
B
99192012-04-29 Bean <bean123ch@gmail.com>
9920
9921 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
9922 allocation.
9923
32745f51
MK
99242012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
9925
9926 * configure.ac: Detect starfield theme font path
9927 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
9928
bc95c8c0
VS
99292012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
9932 geometry on serial consoles.
9933
147fbcab
VS
99342012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
9937 because of network consoles.
9938
0f42c889
VS
99392012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
9942 handling.
9943
4a3594c9
VS
99442012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
9947 falls on Q syndrom.
9948
5cb53879
VS
99492012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
9952 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
9953
b282dfe5
VS
99542012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
9957 Allocate at lest 8192 for temporary buffer as required for lzo.
9958
daa59f47
VS
99592012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
9962 to cluster_bits, since it's already added in.
9963 (grub_fat_read_data): Likewise.
9964
986748ce
VS
99652012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
9968 as long as cluster size is multiple of 512 bytes.
9969
a20f6ad0
VS
99702012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * util/grub-mkrescue.in: Fix locale directory.
9973
385f9abb
VS
99742012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/kern/emu/hostdisk.c (map): Make static.
9977
1c557d30
B
99782012-04-23 Bean <bean123ch@gmail.com>
9979
9980 * util/grub-fstest.c (fstest): Add missing break.
9981
524b5d3a
ST
99822012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
9983
9984 Fix hurd build.
9985
9986 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
9987 not define nr variable.
fe4824e9 9988 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
9989 find_root_devices_from_poolname, find_root_devices_from_libzfs,
9990 grub_find_device): Do not define.
524b5d3a 9991
9a06490c
VS
99922012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 Fix kfreebsd compile and behaviour.
9995
9996 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
9997 format-security.
9998 * util/getroot.c: Fix wait.h include.
9999 (grub_guess_root_devices): Error if grub_find_device fails.
10000 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10001 (grub_util_get_dev_abstraction): Likewise.
10002 (grub_util_pull_device): Likewise.
10003 (grub_util_get_grub_dev): Likewise.
10004 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10005
48143d96
VS
100062012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 Fix and unify wholedisk detection.
10009
10010 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10011 is_part. All users updated.
10012 (device_is_wholedisk): Removed.
10013 (grub_util_biosdisk_get_grub_dev): Use is_part.
10014
ebbd24f3
VS
100152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10018 mode.
10019
56f7aa1e
VS
100202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * configure.ac: Bump to beta4.
10023
9c815e01
VS
100242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10027 --fs-uuid --set UUID syntax.
10028
59e2651a
VS
100292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10032 disunification.
10033
54e03cfc
VS
100342012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10037
81092a75
MK
100382012-04-18 Mads Kiilerich <mads@kiilerich.com>
10039
10040 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10041
f8315e14
MG
100422012-04-18 Mike Gilbert <floppym@gentoo.org>
10043
10044 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10045
1501ac21
B
100462012-04-18 Bean <bean123ch@gmail.com>
10047
10048 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10049 place.
10050
cb7f944e
VS
100512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10054 users updated.
10055 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10056 corresponding to GRUB partitions.
10057 (grub_util_biosdisk_write): Likewise.
10058
b72d44a1
VS
100592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 Scan mdraid before LVM.
10062
10063 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10064 (grub_diskfilter_register_front): ... this.
10065 (grub_diskfilter_register_back): New function.
10066 All users of grub_diskfilter_register updated.
10067
33d918b8
VS
100682012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * util/grub-install.in: Fix an automatic target detection bug.
10071
c6ca973d
VS
100722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * util/grub-install.in: New option --efi-directory.
10075
b41be562
VS
100762012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10079 boot services if we have no other choice.
10080
100812012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10084 document it.
10085 * tests/util/grub-shell.in: Update to --directory.
10086
e0595a73
VS
100872012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10090
4ed80652
VS
100912012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10094 (grub_minix_read_file): Likewise.
10095 (grub_minix_read_inode): Likewise.
10096 (grub_minix_find_file): Likewise.
10097 (grub_minix_dir): Likewise.
10098
56008077
VS
100992012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * util/grub-setup.c (setup): Fix partition handling and blocklist
10102 check.
10103
ee520775
VS
101042012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10107 redundant buggy overlap check.
10108
16fc9293
VS
101092012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10112 and grub-mknetdir.
10113
9bab65c4
VS
101142012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10117 kh.loadflags on pre-2.00 kernels.
10118
3c491b47
VS
101192012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Terminate UNDI and PXE before launching the payload to avoid problems
10122 with DMA.
10123
10124 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10125 (grub_loader_flags): ... this. All users updated.
10126 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10127 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10128 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10129 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10130 function.
10131 (grub_pxe_restore): Likewise.
10132 (fini_hnd): New var.
10133 (GRUB_MOD_INIT): Register shutdown hook.
10134 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10135 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10136 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10137 (grub_loader_set): Rename second argument to flags.
10138
851ffada
VS
101392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10142 written bytes.
10143 (grub_get_num_of_utf8_bytes): New function.
10144 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10145 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10146 executing it.
10147 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10148 (grub_ucs4_to_utf8): Change return type.
10149
491c57a8
VS
101502012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10153 warning.
851ffada
VS
10154 * grub-core/fs/bfs.c (hop_level): Likewise.
10155 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10156
756773df
VS
101572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/lib/adler32.c: Recode due to license unclearness.
10160
fd556a96
VS
101612012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10164 (test_header): Likewise.
10165
9f9d3f69
VS
101662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 Fix --help formatting.
10169
10170 * util/grub-mkconfig_lib.in (print_option_help): New function.
10171 (grub_fmt): Likewise.
10172 * util/grub-install.in: Use print_option_help and grub_fmt.
10173 * util/grub-kbdcomp.in: Likewise.
10174 * util/grub-mkconfig.in: Likewise.
10175 * util/grub-mknetdir.in: Likewise.
10176 * util/grub-mkrescue.in: Likewise.
10177 * util/grub-mkstandalone.in: Likewise.
10178 * util/grub-reboot.in: Likewise.
10179 * util/grub-set-default.in: Likewise.
10180 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10181
561ec77e
VS
101822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * linguas.sh: Remove autogenerated *.po.
10185
7ec2b021
VS
101862012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * po/README: Move language fetcing to ...
10189 * linguas.sh: ... here.
10190 * po/README: Point to linguas.sh.
10191
a88f3270
VS
101922012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * po/README: Exclude ko.po due to disclaimer problems.
10195
d61357ce
VS
101962012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10199 len = 0.
10200 (grub_gettext_translate_real): Handle 0th string.
10201 (grub_gettext_translate): Ensure that "" isn't translated.
10202
505e41dc
VS
102032012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10206 TRANSLATORS comment.
10207 (grub_diskfilter_print_partmap): Propagate changing of error into
10208 warning.
10209
e44092db
VS
102102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10213 to uint64_t to prevent overflow.
10214 (grub_diskfilter_lv): Increase start_extent and extent_count
10215 to uint64_t to prevent overflow.
10216
9b83956a
VS
102172012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * configure.ac: Increase version.
10220
da0d5b3f
VS
102212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10224
10225 * po/Rules-translit: New file.
10226 * po/arabic.sed: Likewise.
10227 * po/cyrillic.sed: Likewise.
10228 * po/greek.sed: Likewise.
10229 * po/hebrew.sed: Likewise.
10230 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10231 * po/Makefile.in.in: Add extra_dist4.
10232
ac66b453
VS
102332012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10236
10237 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10238 modify names. Introduce MODE_BIGENDIAN.
10239 * grub-core/fs/minix_be.c: New file.
10240 * grub-core/fs/minix2_be.c: Likewise
10241 * grub-core/fs/minix3_be.c: Likewise.
10242 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10243 minix3_be.
10244 * grub-core/Makefile.core.def (minix_be): New module.
10245 (minix2_be): Likewise.
10246 (minix3_be): Likewise.
10247
102482012-04-01 Felix <email@hamburg.de>
10249
10250 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10251 (devs): Add MBP 2011.
10252
0a2d5a82
VS
102532012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10256
d1625889
VS
102572012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * grub-core/normal/cmdline.c (print_completion): New field
10260 prompt_len.
10261 (grub_cmdline_get): Handle width properly.
10262
6d36a236
VS
102632012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10266
9576977e
VS
102672012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10270 after 29th of February.
9576977e 10271
d73ff15d
VS
102722012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 Fix exfat endianness handling.
10275
10276 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10277 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10278 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10279 Byte-swap utf16 when necessary.
10280 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10281
bbb39a45
AB
102822012-03-31 Anton Blanchard <anton@samba.org>
102832012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 Fix btrfs endianness handling.
10286
10287 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10288 (lower_bound): Make root uint64_t. Use root in le.
10289 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10290 (find_path): Fix template key init.
10291 (grub_btrfs_dir): Fix mtime byteswap.
10292 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10293
354e0af7
VS
102942012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10297 recursion_depth. Break infinite resursions. All users updated.
10298
4e75f21c
VS
102992012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10302 after free.
10303 Reported by: Peter Jones.
10304
25581802
AB
103052012-03-31 Anton Blanchard <anton@samba.org>
10306
10307 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10308 8 bit values.
10309
08fbf92e
VS
103102012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * util/grub-install.in: Fix nvram call for PreP.
10313
5d1182a6
VS
103142012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10317 the error when some elements are missing into a warning.
10318
3f8cdd90
VS
103192012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10322
51006716
CW
103232012-03-28 Colin Watson <cjwatson@ubuntu.com>
10324
10325 * docs/grub.texi (Invoking grub-probe): New section.
10326 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10327
e1bd676b
VS
103282012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Fix tab and wide character handling in editor and menu.
10331
10332 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10333 agglomerate control characters with combining marks.
10334 (bidi_line_wrap): Allow break on tab.
10335 (grub_unicode_get_comb_start): New function.
10336 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10337 and tab correctly.
10338 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10339 with a space.
10340 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10341 fixed_tab_size. All users updated.
10342 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10343 (grub_term_getcharwidth): Handle \t.
10344 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10345 and copy.
10346
22e6a774
VS
103472012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Handle big-endian mdraid.
10350
10351 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10352 * grub-core/Makefile.core.def (mdraid09_be): New module.
10353 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10354 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10355 * grub-core/disk/mdraid_linux_be.c: New file.
10356
3c0eae66
VS
103572012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10360
b6cf74c9
VS
103612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10364 missing quotes which caused confusion among translators.
10365
83c93b9c
VS
103662012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * util/grub-mkconfig_lib.in: Fix typo.
10369
ac6fd218
VS
103702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10373 spaces.
10374 * tests/grub_script_leading_whitespace.in: New file.
10375 * Makefile.util.def (grub_script_leading_whitespace): New test.
10376
ba287dd8
VS
103772012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10380 to work.
10381
d2d58d0a
VS
103822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10385 starts with control character.
10386
0382d9bb
VS
103872012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10390 overflow.
10391 (grub_gdb_outbuf): Likewise.
10392
d83ff9f9
VS
103932012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10396 zero terminator. Fixes a crash.
10397
2282da4a
VS
103982012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10401 beyond 4 GiB.
10402 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10403 images independently of preffered adderss field.
10404
0ae4f0bd
VS
104052012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10408 * grub-core/commands/regexp.c: Likewise.
10409 * grub-core/loader/i386/linux.c: Likewise.
10410 * grub-core/partmap/msdos.c: Likewise.
10411 * grub-core/script/execute.c: Likewise.
10412 * grub-core/term/gfxterm.c: Likewise.
10413
546fbe9b
VS
104142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 Add variable parsing in $"..." and fix several mismatches with bash.
10417
10418 * Makefile.util.def (grub_script_gettext): New test.
10419 * grub-core/script/execute.c (parse_string): New function.
10420 (gettext_append): Likewise.
10421 (grub_script_arglist_to_argv): Use gettext_append.
10422 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10423 * tests/grub_script_gettext.in: New file.
10424
9fdb2d7b
VS
104252012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 Fix handling of leading spaces in scripts.
10428
10429 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10430 spaces.
10431 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10432 other than skipping \r. All users updated.
10433 * tests/grub_script_echo1.in: Add space-related tests.
10434 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10435
1a1ac4f6
VS
104362012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10439
b63d89b6
VS
104402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * configure.ac: Bump up the version to beta2.
10443
17f38c0f
VS
104442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 Fix gettext reload bugs (e.g. inability to disable gettext
10447 once enabled).
10448
10449 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10450 main_context and secondary_context. All functions updated.
10451 (grub_gettext_translate): Rename to ...
10452 (grub_gettext_translate_real): ... this. Return NULL on failed
10453 translate.
10454 (grub_gettext_translate): Handle secondary context.
10455 (grub_gettext_delete_list): Close file and zero-out the context.
10456 (grub_mofile_open): Don't call grub_gettext_delete_list.
10457 Don't close file.
10458 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10459 if locale="" to avoid pointless error message.
10460 (grub_gettext_env_write_lang): Update lang even if load fails.
10461 Handle secondary context.
10462 (grub_gettext_reread_prefix): New function.
10463 (read_main): Likewise.
10464 (read_secondary): Likewise.
10465 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10466 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10467 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10468 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10469
8e56f870
VS
104702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * configure.ac: Decrease warning level to avoid spurious warnings and
10473 to be able to compile with GCC 4.2.
10474 * Makefile.util.def: Remove -Wno-error=logical-op.
10475
82f6d455
WB
104762012-03-10 William Bittner <william.bittner@gmail.com>
10477
10478 * util/import_unicode.py: Add missing brackets around string for
10479 python 3 support.
10480
1ecd61a4
VS
104812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 Fix efi chainloader on network root.
10484
10485 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10486 network devices.
10487 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10488 New function.
10489
14361ee8
VS
104902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10493 unused show_text member.
10494 * docs/grub.texi: Document "text" property.
10495
922aabf3
VS
104962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10499 in dprintf.
10500
ec316771
VS
105012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 Fix IMSM handling on Fedora.
10504
10505 * util/getroot.c (grub_util_is_imsm): New function.
10506 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10507
0f021838
VS
105082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * Makefile.am: Strip gold section.
10511 * conf/Makefile.common: Likewise.
10512 * gentpl.py: Likewise.
10513 * grub-core/Makefile.core.def: Likewise.
10514 * grub-core/genmod.sh.in: Likewise.
10515
1039c8eb
VS
105162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10519 * util/grub.d/20_linux_xen.in: Likewise.
10520 Based on Debian patch.
10521
6dd412cd
VS
105222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * util/grub.d/10_linux.in: Fix syntax error resulting in
10525 Richard Laager's patch.
10526 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10527
3fd8bae5
VS
105282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10531 dependencies.
10532
7eea1671
RL
105332012-03-10 Richard Laager <rlaager@wiktel.com>
10534
10535 * util/grub.d/10_linux.in: Fix ZFS root passing.
10536
e8e0566b
VS
105372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10540 * grub-core/commands/xnu_uuid.c: Likewise.
10541 * grub-core/loader/efi/appleloader.c: Likewise.
10542 * grub-core/script/execute.c: Likewise.
10543 * grub-core/script/main.c: Likewise.
10544 * util/grub-mkfont.c: Likewise.
10545
1acc5b1f
VS
105462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * util/grub-mkfont.c (options): Use more appropriate "select" that
10549 "set" for face index.
10550
35d70620
VS
105512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * util/grub-editenv.c (options): Gettextize command summaries.
10554
c9eb96b5
VS
105552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10558 "out of memory" error messagge.
10559
1f493136
VS
105602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10563 of diskfilter for diskfilter on diskfilter support.
10564
6d790129
VS
105652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10568
005f46c9
VS
105692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10572 themes/starfield.
10573
c8f778a0
VS
105742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10577
de1e64eb
VS
105782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10581
c6d54211
VS
105822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10585 of error message.
10586
dd390777
VS
105872012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10590
5fd1c522
VS
105912012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10594 message.
c6d54211 10595 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10596
fae01f6c
VS
105972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10600 Gettextize.
10601 * util/grub-mount.c (options): Likewise.
10602
292fdaff
VS
106032012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10606 gettextize.
10607 * grub-core/commands/search_wrap.c (options): Likewise.
10608
ecdbae77
VS
106092012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10612
52bfedfa
VS
106132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10616 size calculation.
10617 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10618 none is known.
10619
55b20e58
VS
106202012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10623 "temporary" since it's used in identifier and is limited in space.
10624
fda9d101
VS
106252012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * po/POTFILES.in: Regenerate. Include *.h since they contain
10628 translatable strings as well.
10629
6a0295e2
VS
106302012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10633 byte-swap on big-endian.
10634 Reported by: Lennart Sorensen
10635
807fb77c
VS
106362012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10639 (allocate_pages): Improve dprintf.
10640 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10641 code32_start. Fill code32_start and kernel_alignment in params.
10642 (grub_cmd_initrd): Use prot_init_space.
10643
61ac50ba
VS
106442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10647
abdd26dd
VS
106482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * util/grub-install.in: Add missing dot at the end of sentence.
10651
6e69da9c
VS
106522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10655 * grub-core/commands/videotest.c: Likewise.
10656 * grub-core/loader/i386/linux.c: Likewise.
10657
4a929343
VS
106582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10661 sentence.
10662 Reported by: Milo Casagrande.
10663
bb51c6c6
VS
106642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10667 * grub-core/commands/gptsync.c: Likewise.
10668 * grub-core/commands/hashsum.c: Likewise.
10669 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10670 * grub-core/commands/legacycfg.c: Likewise.
10671 * grub-core/io/gzio.c: Likewise.
10672 * grub-core/net/net.c: Likewise.
10673 * grub-core/term/gfxterm.c: Likewise.
10674 * grub-core/term/terminfo.c: Likewise.
10675 * grub-core/tests/test_blockarg.c: Likewise.
10676 * grub-core/video/video.c: Likewise.
10677 * util/grub-install.in: Likewise.
10678 * util/grub-mkfont.c: Likewise.
10679
b2b149cb
VS
106802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10683
c7c080ad
VS
106842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10687 Reported by: David Prévot.
c7c080ad 10688
f2e243c0
VS
106892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10692 description.
10693
09963c76
VS
106942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * util/grub-script-check.c (main): Fix a syntax error message which was
10697 unclear.
10698
a50514a8
VS
106992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10702
4650daec
VS
107032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10706 messages.
10707
107082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10709
10710 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10711 without argument.
10712 * util/grub-mount.c (options): Likewise.
10713
bbc5a342
VS
107142012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10717
ef292a87
VS
107182012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 * grub-core/net/http.c: Add TRANSLATORS comments.
10721 * grub-core/normal/cmdline.c: Likewise.
10722 * grub-core/normal/misc.c: Likewise.
10723 * grub-core/partmap/msdos.c: Likewise.
10724 * grub-core/parttool/msdospart.c: Likewise.
10725 * grub-core/script/execute.c: Likewise.
10726 * grub-core/script/main.c: Likewise.
10727 * grub-core/term/terminfo.c: Likewise.
10728 * grub-core/video/bitmap.c: Likewise.
10729 * util/grub-install.in: Likewise.
10730 * util/grub-mkimage.c: Likewise.
10731 * util/grub-mklayout.c: Likewise.
10732 * util/grub-setup.c: Likewise.
10733
0fc19bd0
VS
107342012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10737 with similar messages in grub-fstest.
10738
d95862ef
VS
107392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * util/grub-install.in: Unify "option requires an argument" message
10742 with similar messages in other files.
10743 * util/grub-mkconfig.in: Likewise.
10744
b7308f90
VS
107452012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * util/grub-set-default.in: Replace printf with gettext_printf (the
10748 string in in question is already translated from grub-reboot)
10749
559dc587
VS
107502012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * configure.ac: Bump up the version to beta1.
10753
1a11761f
VS
107542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10757 case when min_align = 0.
10758
24539abd
VS
107592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10762 and fix a case when line_start overflows.
10763
32bd735b
VS
107642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * util/grub-reboot.in (usage): Mention id posibility.
10767 * util/grub-set-default.in (usage): Likewise.
10768
1a2fd1e6
VS
107692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10772 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10773 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10774 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10775 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10776 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10777 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10778
90eeab76
VS
107792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/commands/menuentry.c (options): Remove
10782 GRUB_ARG_OPTION_REPEATABLE.
10783 Reported by: Andreas Vogel
10784
5ad1be82
AV
107852012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10786
10787 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10788
cb055286
HE
107892012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10790
10791 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10792 error.
10793
93b1cd79
VS
107942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 Use sort -V by the idea of Georgi Georgiev.
10797
10798 * util/grub-mkconfig_lib.in (version_sort): New function.
10799 (version_test_numeric): Use version_sort.
10800
0cdc126c
VS
108012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 Use submenus in grub-mkconfig.
10804
10805 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10806 * util/grub-mkconfig_lib.in (grub_quote): New function.
10807 (gettext_printf): Use gettext and not gettext_quoted to fix several
10808 messages.
10809 * util/grub.d/10_hurd.in: Use submenus.
10810 * util/grub.d/10_kfreebsd.in: Likewise.
10811 * util/grub.d/10_linux.in: Likewise.
10812 * util/grub.d/10_netbsd.in: Likewise.
10813 * util/grub.d/20_linux_xen.in: Likewise.
10814 * util/grub.d/30_os-prober.in: Likewise.
10815 * util/grub.d/10_illumos.in: Add missing quoting.
10816 * util/grub.d/10_windows.in: Likewise.
10817
d9bef9bc
VS
108182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 Fix menu title instability bug.
10821
10822 * grub-core/commands/menuentry.c (options): New option --id.
10823 (grub_normal_add_menu_entry): New argument id. All users updated.
10824 (grub_cmd_menuentry): Handle --id.
10825 (grub_menu_init): Accept unknown arguments.
10826 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10827 feature_menuentry_options.
10828 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10829 saved_entry.
10830 (get_entry_number): Match with id as well.
10831 * include/grub/menu.h (grub_menu_entry): New member id.
10832 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10833 * util/grub.d/00_header.in: Define menuentry_id_option.
10834 * util/grub.d/10_hurd.in: Define id.
10835 * util/grub.d/10_illumos.in: Likewise.
10836 * util/grub.d/10_kfreebsd.in: Likewise.
10837 * util/grub.d/10_linux.in: Likewise.
10838 * util/grub.d/10_netbsd.in: Likewise.
10839 * util/grub.d/10_windows.in: Likewise.
10840 * util/grub.d/20_linux_xen.in: Likewise.
10841 * util/grub.d/30_os-prober.in: Likewise.
10842
108432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10844
10845 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10846 "scope" with "body".
10847
7c8d0ce7
VS
108482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10851 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10852 prot_size and prot_file_size.
10853
49de079b
VS
108542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
10857 All users updated. If easily=1 require raid-5/-6 to be full.
10858 (is_node_readable): Likewise.
10859 (scan_devices): Scan incomplete but readable LVs at the end.
10860 (grub_diskfilter_memberlist): Pull missing devices.
10861 (insert_array): Skip scanning until device is complete or scan is
10862 done otherwise.
10863 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
10864 check.
10865 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
10866 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
10867
aff05d45
MG
108682012-03-03 Matthew Garrett <mjg@redhat.com>
108692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 Avoid EFI boot services when loading Linux.
10872
10873 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
10874 avoid_efi_bootservices. All users updated.
10875 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
10876 argument avoid_efi_bootservices. All users updated.
10877 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
10878 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
10879 align, min_align, relocatable, prefered_address. All users updated.
10880 Allocate avoiding boot services if kernel is relocatable.
10881 (grub_cmd_linux): Check if kernel is relocatable.
10882 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
10883 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
10884 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
10885 avoid_efi_boot_services.
10886 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
10887 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
10888 (linux_kernel_params): Likewise.
10889
3935dde2
MG
108902012-03-03 Matthew Garrett <mjg@redhat.com>
108912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 Use EDID on EFI.
10894
10895 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
10896 datasize_out.
10897 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
10898 modes. Set gop_handle.
10899 (grub_video_gop_get_edid): New function.
10900 (grub_gop_get_preferred_mode): Likewise.
10901 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
10902 (grub_video_efi_gop_adapter): Set .get_edid.
10903 * include/grub/efi/edid.h: New file.
10904 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
10905
32107ec0
VS
109062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * util/grub-install.in: Load efivars unconditionally.
10909
e70a2c50
VS
109102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 * po/Rules-piglatin: Change suffix from .po-update-en to
10913 .po-update-en-piglatin.
10914
8f9cace1
VS
109152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 Add a pig farm.
10918
10919 * po/piglatin.sed: New file.
10920 * po/en@piglatin.header: Likewise.
10921 * po/Rules-piglatin: Likewise.
10922 * po/README: Add en@piglatin to autogenerated languages.
10923
8f95d002
VS
109242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
10927 "Command for ...".
10928 * grub-core/commands/hdparm.c (options): Use "Display" rather than
10929 "Check" since we don't check anything.
10930 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
10931 is 64-bit one.
10932 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
10933 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
10934 (grub_md_sha512_real): Likewise.
10935
805a8dcc
VS
109362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * grub-core/commands/gptsync.c: Fix typographic quoting.
10939 * grub-core/commands/ieee1275/suspend.c: Likewise.
10940 * grub-core/commands/parttool.c: Likewise.
10941 * grub-core/commands/search_wrap.c: Likewise.
10942 * grub-core/commands/videoinfo.c: Likewise.
10943 * grub-core/gfxmenu/gui_label.c: Likewise.
10944 * grub-core/hello/hello.c: Likewise.
10945 * grub-core/kern/emu/main.c: Likewise.
10946 * grub-core/net/net.c: Likewise.
10947 * grub-core/normal/menu.c: Likewise.
10948 * grub-core/normal/menu_text.c: Likewise.
10949 * grub-core/normal/misc.c: Likewise.
10950 * util/grub-editenv.c: Likewise.
10951 * util/grub-install.in: Likewise.
10952 * util/grub-kbdcomp.in: Likewise.
10953 * util/grub-mkconfig.in: Likewise.
10954 * util/grub-mknetdir.in: Likewise.
10955 * util/grub-mkrescue.in: Likewise.
10956 * util/grub-mkstandalone.in: Likewise.
10957 * util/grub-reboot.in: Likewise.
10958 * util/grub-set-default.in: Likewise.
10959 * util/grub-setup.c: Likewise.
10960 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10961
40211ab8
VS
109622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
10965 * grub-core/commands/keystatus.c: Likewise.
10966 * grub-core/commands/loadenv.c: Likewise.
10967 * grub-core/commands/probe.c: Likewise.
10968 * grub-core/commands/regexp.c: Likewise.
10969 * grub-core/commands/true.c: Likewise.
10970 * grub-core/commands/videoinfo.c: Likewise.
10971 * grub-core/disk/cryptodisk.c: Likewise.
10972 * grub-core/disk/ldm.c: Likewise.
10973 * grub-core/disk/loopback.c: Likewise.
10974 * grub-core/disk/luks.c: Likewise.
10975 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10976 * grub-core/kern/disk.c: Likewise.
10977 * grub-core/kern/emu/hostdisk.c: Likewise.
10978
0c7d99c7
VS
109792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
10982 * util/grub-install.in: Add missing quote in the comment.
10983
e7d2559b
VS
109842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
10987 * grub-core/commands/lsmmap.c: Likewise.
10988 * grub-core/commands/minicmd.c: Likewise.
10989 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10990 * grub-core/commands/regexp.c: Likewise.
10991 * grub-core/gdb/gdb.c: Likewise.
10992 * grub-core/term/gfxterm.c: Likewise.
10993 * util/grub-mkconfig.in: Likewise.
10994 * util/grub-mkfont.c: Likewise.
10995 * util/grub-mklayout.c: Likewise.
10996 * util/grub-mknetdir.in: Likewise.
10997 * util/grub-mkrescue.in: Likewise.
10998 * util/grub.d/30_os-prober.in: Likewise.
10999
49ce9e50
VS
110002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11003 with "Direct color" and "Packed" with "Packed pixel".
11004 (grub_cmd_videoinfo): Simplify legend.
11005
e4b791fa
VS
110062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11009 absolutely unclear error message.
11010
fd1265cb
VS
110112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * util/grub-mkstandalone.in: Remove confusing leftover print.
11014
8822a8a0
VS
110152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11018 comments.
11019 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11020 (GRUB_MOD_INIT): Likewise.
11021 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11022 VGA mode.
11023 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11024 comments.
11025 * util/grub-install.in (usage): Likewise.
11026 Spell ID in whole letters.
11027 Add missing ending dot.
11028 Quote variables.
11029 * util/grub-reboot.in: Fix capitalisation.
11030 * util/grub-set-default.in: Likewise.
11031
937fd0cc
VS
110322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11035 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11036 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11037 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11038 Disable -Werror for -Wdeprecated-declarations.
11039 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11040 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11041 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11042 (grub_util_get_grub_dev): Make luks handling dependent on
11043 HAVE_DEVICE_MAPPER and not __linux__.
11044 (get_win32_path): Fix format security.
11045 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11046 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11047 Don't try grub_find_zpool_from_dir.
11048 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11049 #ifdef-out paresdir.
11050
1bab1ae3
VS
110512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * util/grub-pe2elf.c (usage): Add missing noreturn.
11054 (write_section_data): Rename name to shname to avoid shadowing.
11055 (write_symbol_table): Rename name to symname to avoid shadowing.
11056 Fix write_reloc_section call.
11057
ef023e42
VS
110582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11061 to ensure that it's after the last byte of .text.
11062
48afcb75
VS
110632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * util/ieee1275/ofpath.c (my_isdigit): New function.
11066 (trailing_digits): Use my_isdigit.
11067 (strip_trailing_digits): Likewise.
11068
88d51eff
VS
110692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11072 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11073
17edc2ba
VS
110742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/kern/i386/pc/startup.S: Define __start.
11077
ad5518d7
VS
110782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11081 strip already transforms he format.
11082
9e95e1bf
VS
110832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11086
9cc3ee5c
VS
110872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * util/grub-install.in: Add missing gettext init.
11090 * util/grub-kbdcomp.in: Likewise.
11091 * util/grub-mkconfig.in: Likewise.
11092 * util/grub-mknetdir.in: Likewise.
11093 * util/grub-mkrescue.in: Likewise.
11094 * util/grub-mkstandalone.in: Likewise.
11095 * util/grub-reboot.in: Likewise.
11096 * util/grub-set-default.in: Likewise.
11097 * util/grub.d/00_header.in: Likewise.
11098 * util/grub.d/10_hurd.in: Likewise.
11099 * util/grub.d/10_windows.in: Likewise.
11100 * util/grub.d/30_os-prober.in: Likewise.
11101 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11102
49e08a06
VS
111032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 * po/Rules-swiss: Fix header comment.
11106
3809cb41
AV
111072012-02-29 Andreas Vogel <anvoit>
11108
11109 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11110 resulted in leak of arguments.
11111
fa6ec573
VS
111122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11115 reed_solomon_size const definition instead of computing it since
11116 Apple assembler doesn't support the later.
11117
22899b9c
VS
111182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11119
11120 * gentpl.py (kernel): Rewrite Apple part.
11121
a132afc3
VS
111222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11125
9d742bd4
VS
111262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11129 ELF section gap.
11130 (load_image): Likewise.
11131
f04a9a21
VS
111322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * configure.ac: Fix a typo in previous commit.
11135
46cf439c
VS
111362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Don't add -Wl,-N on Apple platform.
11139
11140 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11141 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11142
c4c48c54
VS
111432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/Makefile.core.def (lzma_decompress): Use
11146 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11147
31a12124
VS
111482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * grub-core/genmod.sh.in: Rewrite the Apple part.
11151
4f3aa1af
VS
111522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11155 comparison.
11156
7bd8b0c7
VS
111572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * acinclude.m4 (grub_CHECK_PIC): New test.
11160 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11161
97304d7c
VS
111622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11165 to avoid the warning.
11166
fb883812
VS
111672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11170 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11171 after. All users updated.
11172
a121c964
VS
111732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 Use the common size routine in hostfs so we can read disks as well.
11176
11177 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11178 (grub_util_get_fd_size): ... this. Return size in bytes.
11179 All users updated.
11180 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11181 grub_util_get_fd_size.
11182
c66d6410
VS
111832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11186 Add blocksize retrieval.
11187
dfc8aeb0
VS
111882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * configure.ac: Restore CFLAGS after efiemu check.
11191
403e25a5
VS
111922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11195 Apple bug.
11196
382775d1
VS
111972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11200
6fd4e6e4
VS
112012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11204 (grub_cmd_halt): Likewise.
11205
bea359d6
VS
112062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11209 for local arithmetics.
11210 Break %sp init into 2 instructions.
11211 Add 0 byte at the end.
11212
32eb6ee1
VS
112132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11216 before loops.
11217
e8377389
VS
112182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11221 for context.
11222
8cb17de7
VS
112232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * grub-core/disk/ldm.c (make_vg): Init part.name.
11226 (grub_ldm_detect): Silence spurious warning.
11227 (grub_util_is_ldm): Likewise.
11228
595717e6
VS
112292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11232 sane value to avoid a spurious warning.
11233
c4b7e588
VS
112342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11237 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11238
59824957
VS
112392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11242 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11243
70115b99
VS
112442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11247 hardcoding the relevant info.
11248
56733740
VS
112492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11252 missing const qualifiers.
11253 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11254
43481481
VS
112552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * util/getroot.c [__APPLE__]: Add missing includes.
11258 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11259
3cb38f01
VS
112602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11263
d9dbf11e
VS
112642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11267 avoid conflicts.
11268
0c42a45d
VS
112692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11272
46c34eb0
VS
112732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11276 and grub_file_close call.
11277
99ce1597
VS
112782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 Add LZSS Mach-O support (needed for new xnu kernelcache).
11281
11282 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11283 * grub-core/loader/lzss.c: New file.
11284 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11285 on Mach-O open failure.
11286 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11287 Don't free cmdsXX in uncompressedXX is set.
11288 (grub_macho_file): Init new fields.
11289 New argument is_64bit. All users updated.
11290 Handle compressed. Error out if no suitable architecture is found.
11291 Don't close file.
11292 (grub_macho_open): New argument is_64bit. All users updated.
11293 * grub-core/loader/macho32.c: Add defines for new fields.
11294 * grub-core/loader/macho64.c: Likewise.
11295 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11296 (grub_macho_parse): Handle compressed.
11297 Defer actual processing if compressed.
11298 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11299 "filename". All users updated.
11300 (grub_macho_size): New argument "filename". All users updated.
11301 (grub_macho_get_entry_point): Likewise.
11302 (grub_macho_load): Handle compressed.
11303 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11304 (GRUB_MACHO_LZSS_OFFSET): New define.
11305 (grub_decompress_lzss): New proto.
11306 * include/grub/machoload.h (grub_macho_file): New fields to handle
11307 compressed.
11308 (grub_macho_contains_macho64): Remove proto.
11309 (grub_macho_contains_macho32): Likewise.
11310 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11311
ebd17d6f
VS
113122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11315
2702b4e4
VS
113162012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 Fix make dist.
11319
11320 * Makefile.am (starfield_theme_files): New var.
11321 (starfield_DATA): Use starfield_theme_files.
11322 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11323 Add bootcheck-related files.
11324 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11325 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11326 and font_char_metrics.txt.
11327 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11328 (setjmp): Add lib/ia64/longjmp.S.
11329 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11330 * po/POTFILES.in: Regenerate.
11331 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11332 DISTFILES.common.extra1.
11333 * util/devicemap.c: Removed.
11334 * grub-core/lib/i386/relocator_backward.S: Likewise.
11335 * util/import_gcry.py: Remove unused files. Add extra_dist for
11336 ChangeLog.
11337
cf1adfdf
VS
113382012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11341 grub_gettext_delete_list before changing grub_gettext_max to avoid
11342 running out of array bounds.
11343
113442012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11345
11346 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11347 grub_vga_text_init/grub_vga_text_fini.
11348
cf1adfdf 113492012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11350
11351 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11352
541d92e9
VS
113532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * configure.ac: Bump to 2.00~beta0.
11356
7931dddf
VS
113572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11360 missing initialisation.
11361
f1b16fa3
VS
113622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11365
83ddae23
VS
113662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 Support v2 xnu boot arguments.
11369
11370 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11371 New argument fsbfreq_out.
11372 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11373 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11374 be used.
11375 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11376 darwin_version.
11377 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11378 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11379 (grub_xnu_boot_params): Rename to ...
11380 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11381 (grub_xnu_boot_params_v2): New struct.
11382
dc693fe6
VS
113832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11386 zeroing of CRC field before computing CRC.
11387
5a6e39c2
VS
113882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11391 Change order of allocations to decrease fragmentation.
11392
6c21f5d7
VS
113932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11396
cfe456dc
CW
113972012-02-27 Colin Watson <cjwatson@ubuntu.com>
11398
11399 Use write-combining MTRR to speed up video with buggy BIOSes.
11400
11401 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11402 (cpuid): New define.
11403 (rdmsr): Likewise.
11404 (wrmsr): Likewise.
11405 (mtrr_base): Likewise.
11406 (mtrr_mask): Likewise.
11407 (grub_vbe_enable_mtrr_entry): New function.
11408 (grub_vbe_enable_mtrr): Likewise.
11409 (grub_vbe_disable_mtrr): Likewise.
11410 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11411 control off to BIOS.
11412 (grub_video_vbe_init): Fill mtrr.
11413 (grub_video_vbe_fini): Disable mtrr.
11414 (grub_video_vbe_get_info_and_fini): Likewise.
11415 (grub_video_vbe_setup): Enable mtrr.
11416
e3c78337
CW
114172012-02-27 Colin Watson <cjwatson@ubuntu.com>
11418
11419 * include/grub/partition.h (grub_partition_map): Change prototype of
11420 embed to take a maximum value for nsectors.
11421 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11422 * include/grub/fs.h (grub_fs): Likewise.
11423 * grub-core/partmap/msdos.c (embed_signatures): New array.
11424 (pc_partition_map_embed): Check for and avoid sectors matching any
11425 of the signatures in embed_signatures, up to max_nsectors.
11426 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11427 returned sector map to max_nsectors.
11428 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11429 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11430 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11431 * util/grub-setup.c (setup): Allow for the embedding area being
11432 split into multiple blocklists. Tell dest_partmap->embed the
11433 maximum number of sectors we care about.
11434
114352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11438 Specify blocklist_install and reserver_first_sector for all fs.
11439 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11440 blocklists.
11441
984b973f
VS
114422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * util/grub-install.in: Clarify strings.
11445 Fix source dir check.
11446
f122e0d6
RL
114472012-02-27 Richard Laager <rlaager@wiktel.com>
11448
11449 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11450 "zfs" and "fuse.zfs" as synonyms.
11451
071114bb
VS
114522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * configure.ac: Put platform and target_cpu substitutions back since
11455 they are used for directories.
11456
817e6abc
RL
114572012-02-27 Richard Laager <rlaager@wiktel.com>
114582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11461 * util/grub.d/20_linux_xen.in: Likewise.
11462
897b7419
RL
114632012-02-27 Richard Laager <rlaager@wiktel.com>
11464
11465 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11466 with full paths.
11467
a414bd15
RL
114682012-02-27 Richard Laager <rlaager@wiktel.com>
11469
11470 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11471 unescape.
11472
30ac48c4
VS
114732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 Don't use insecure popen in getroot.
11476
11477 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11478 (exec_pipe): ... here.
11479 (find_root_devices_from_poolname): Use exec_pipe.
11480
53f13848
VS
114812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Remove platform and target_cpu replacement.
11484
11485 * configure.ac: Remove platform and target_cpu substitutions.
11486 * tests/util/grub-shell.in: Use modinfo.
11487 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11488 explicitly.
11489
90cb2803
VS
114902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Autodetect platform in grub-install but allow override.
11493
11494 * util/grub-install.in: Autodetect platform. Support --target and
11495 --directory. Read platform from modinfo.sh.
11496
b9136427
VS
114972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 Support btrfs multi-volume probe.
11500
11501 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11502 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11503 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11504 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11505 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11506 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11507 grub_find_root_devices_from_btrfs if on btrfs.
11508
c36e5cd1
VS
115092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 Remove any awareness of *.c util files about target.
11512
11513 * Makefile.util.def (grub-setup): Split to ...
11514 (grub-bios-setup): ... and this.
11515 (grub-sparc64-setup): ... and this.
11516 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11517 * docs/man/grub-setup.h2m: Split into ...
11518 * docs/man/grub-sparc64-setup.h2m: ... this.
11519 * docs/man/grub-bios-setup.h2m: ... and this.
11520 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11521 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11522 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11523 (grub_target_addr_t): Remove.
11524 (grub_target_size_t): Remove.
11525 (grub_target_ssize_t): Remove.
11526 * util/grub-install.in: Use new grub-*-setup.
11527 * util/grub-mkimagexx.c (Elf_Word): New define.
11528 (Elf_Half): Likewise.
11529 (Elf_Section): Likewise.
11530 (ELF_ST_TYPE): Likewise.
11531 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11532 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11533
584b2f8a
VS
115342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 Replace grub_target_addr with more appropriate types.
11537
11538 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11539 grub_target_addr with grub_addr.
11540 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11541 grub_target_addr with grub_port.
11542 (grub_cmd_write): Likewise.
11543 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11544 grub_target_addr with grub_addr.
11545 (grub_cmd_write): Likewise.
11546 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11547
5a0dc6fb
VS
115482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11551 const qualifier for vendor_guid.
11552
786aff6e
VS
115532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11556 const qualifier.
11557 (efiemu_memequal): Likewise.
11558 (find_variable): Likewise.
11559
49017b17
VS
115602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 Fix missing console prototype on qemu-mips.
11563
11564 * include/grub/mips/qemu_mips/console.h: New file.
11565
c5988629
MG
115662012-02-27 Matthew Garrett <mjg@redhat.com>
115672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11570 * include/grub/efi/efi.h: Likewise.
11571 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11572 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11573 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11574 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11575 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11576 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11577
e33f8d69
MG
115782012-02-27 Matthew Garrett <mjg@redhat.com>
11579
11580 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11581
fb312cd9
VS
115822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11585 error.
11586
7134247c
VS
115872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * configure.ac: Remove inappropriate use of program_transform_name
11590 on grubdir and bootdir but allow explicit specification of those
11591 variables.
11592
6a313124
VS
115932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * util/grub-mknetdir.in (grub_prefix): Removed.
11596 (subdir): Use @bootdirname@ and @grubdirname@.
11597
2311c5ca
VS
115982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11601
7d5d60f7
VS
116022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * po/POTFILES.in: Regenerated.
11605
8151bc82
VS
116062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 Remove improper use of program_transform_name on pkglibrootdir.
11609
11610 * configure.ac (pkglibrootdir): Removed.
11611 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11612 * util/grub-mkimage.c: Likewise.
11613
b4a6a533
VS
116142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11617 warning.
11618
668f304f
VS
116192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * util/grub-install.in: Use file identifier if no UUID is available
11622 or user explicitly prompted for it.
11623
665f2341
NP
116242012-02-27 Navdeep Parhar <nparhar@gmail.com>
11625
11626 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11627 (freebsd_get_zfs): New function.
11628 (grub_freebsd_boot): Pass zfs UUID.
11629 (grub_cmd_freebsd): Set zfs UUID.
11630
8151bc82 116312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11632
11633 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11634 pkglibrootdir.
11635
e4c498a1
MG
116362012-02-27 Mike Gilbert <floppym@gentoo.org>
11637
11638 Add configure flag to control libzfs integration.
11639
11640 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11641
1e9a9a3f
VS
116422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11645 device.
11646 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11647 small devices.
11648
036985b8
VS
116492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11652 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11653 be used on non-modules.
11654
11655 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11656 Rename to grub_boot_init.
11657 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11658 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11659 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11660 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11661 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11662 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11663 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11664 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11665 includes.
11666 (grub_machine_init): Remove empty inits.
11667 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11668 includes.
11669 (grub_machine_init): Remove empty inits.
11670 * grub-core/term/arc/console.c: Remove explicit proto.
11671 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11672 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11673 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11674 grub_at_keyboard_fini.
11675 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11676 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11677 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11678 grub_gfxterm_fini.
11679 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11680 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11681 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11682 grub_vgatext_fini.
11683 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11684 * grub-core/term/serial.c (GRUB_MOD_INIT)
11685 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11686 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11687 grub_serial_fini.
11688 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11689 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11690 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11691 grub_terminfo_fini.
11692 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11693 (GRUB_MOD_FINI): Likewise.
11694 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11695 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11696 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11697 grub_video_radeon_fuloong2e_fini.
11698 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11699 [LOONGSON]: Rename to grub_video_sis315pro_init.
11700 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11701 grub_video_sis315pro_fini.
11702 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11703 [LOONGSON]: Rename to grub_video_sm712_init.
11704 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11705 grub_video_sm712_fini.
11706 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11707 (grub_at_keyboard_fini): Likewise.
11708 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11709 Don't declare grub_{modname}_init.
11710 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11711 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11712 New proto.
11713 (grub_keylayouts_fini) [!EMU]: Likewise.
11714 * include/grub/serial.h (grub_serial_init) [!EMU]:
11715 New proto.
11716 (grub_serial_fini) [!EMU]: Likewise.
11717 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11718 New proto.
11719 (grub_terminfo_fini) [!EMU]: Likewise.
11720 * include/grub/video.h (grub_font_init) [!EMU]:
11721 New proto.
11722 (grub_font_fini) [!EMU]: Likewise.
11723 (grub_gfxterm_init) [!EMU]: Likewise.
11724 (grub_gfxterm_fini) [!EMU]: Likewise.
11725 (grub_video_sm712_init) [!EMU]: Likewise.
11726 (grub_video_sm712_fini) [!EMU]: Likewise.
11727 (grub_video_sis315pro_init) [!EMU]: Likewise.
11728 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11729 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11730 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11731
d5534665
VS
117322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 Make nand a prefix for nand devices.
11735
11736 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11737
10133b5f
VS
117382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11741 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11742
8e307a62
VS
117432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * include/grub/env.h (grub_env_find): Remove prototype.
11746 * grub-core/kern/env.c (grub_env_find): Make static.
11747 (grub_env_set): Remove useless set.
11748
a4c65f34
VS
117492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * grub-core/kern/i386/realmode.S: Remove useless align.
11752
d87893d5
VS
117532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * include/grub/dl.h (grub_dl_load_file): Don't export.
11756
50159add
VS
117572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11760 grub_dprintf.
11761
b2582b84
VS
117622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11765 grub_errors.
11766 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11767 not reloading whole superblock but only the part which is really needed.
11768 Remove useless grub_errors.
11769 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11770 grub_errors.
11771
e2a83395
VS
117722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 Don't export grub_get_rtc.
11775
11776 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11777 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11778
e7d2a906
VS
117792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11782
6cf1363b
VS
117832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11786 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11787
eece3349
VS
117882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 Remove prio_list.
11791
11792 * include/grub/list.h (grub_prio_list): Removed.
11793 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11794 GRUB_COMMAND_PRIO_MASK.
11795 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11796 GRUB_COMMAND_FLAG_ACTIVE.
11797 (grub_prio_list_insert): Removed.
11798 (grub_prio_list_remove): Likewise.
11799 (GRUB_AS_PRIO_LIST): Likewise.
11800 (GRUB_AS_PRIO_LIST_P): Likewise.
11801 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11802 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11803 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11804 * grub-core/kern/command.c (grub_register_command_prio): Inline
11805 the prio_list code.
11806 (grub_unregister_command): Likewise.
11807
94f064b4
VS
118082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 Fix interrupt mixup from previous commit.
11811
11812 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11813 (grub_realidt): New var.
11814 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11815 Load idt.
11816 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11817 New declaration.
11818 (grub_relocator16_boot): Set grub_relocator16_idt.
11819 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11820 (LOCAL(realidt)): ... this.
11821 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11822 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11823 (grub_realidt): New variable.
11824
27317084
VS
118252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11828 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11829 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11830 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11831 Gettextize.
11832 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11833 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11834 * po/POTFILES.in: Regenerate.
11835
47b40053
VS
118362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11839 errors.
11840
2b343101
VS
118412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11844 \0.
11845 (add_length): Likewise.
11846
ff27c3dd
LK
118472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
118482012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11849
11850 GDB serial and backtrace support.
11851
11852 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11853 (prot_to_real): Likewise.
11854 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
11855 * grub-core/Makefile.core.def (backtrace): New module.
11856 (gdb): Likewise.
11857 * grub-core/gdb/cstub.c: New file.
11858 * grub-core/gdb/gdb.c: Likewise.
11859 * grub-core/gdb/i386/idt.c: Likewise.
11860 * grub-core/gdb/i386/machdep.S: Likewise.
11861 * grub-core/gdb/i386/signal.c: Likewise.
11862 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 11863 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
11864 * include/grub/backtrace.h: Likewise.
11865 * include/grub/gdb.h: Likewise.
11866 * include/grub/i386/gdb.h: Likewise.
11867
118682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
11869
11870 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
11871 New function.
11872 (add_length): Likewise.
11873 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
11874 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
11875 proto.
11876 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
11877 __argp_get_display_len.
11878
ff27c3dd 118792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
11880
11881 $"..." support in scripts.
11882
11883 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
11884 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
11885 * grub-core/script/yylex.l: Likewise.
11886 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
11887 value.
11888
ff27c3dd 118892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
11890
11891 * gentpl.py: Remove obsolete pkglib_DATA handling.
11892
ff27c3dd 118932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
11894
11895 Don't transform PACKAGE_TARNAME following a discussion on autoconf
11896 mailing list.
11897
11898 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
11899 * util/grub-kbdcomp.in: Likewise.
11900 * util/grub-mkconfig.in: Likewise.
11901 * util/grub-mkconfig_lib.in: Likewise.
11902 * util/grub-mknetdir.in: Likewise.
11903 * util/grub-mkrescue.in: Likewise.
11904 * util/grub-mkstandalone.in: Likewise.
11905 * util/grub-reboot.in: Likewise.
11906 * util/grub-set-default.in: Likewise.
11907 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11908
ff27c3dd 119092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
11910
11911 Remove GRUB_PREFIX.
11912
11913 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
11914 * util/grub.d/00_header.in: Compute prefix in the only place it's still
11915 used for backward compatibility.
11916
ff27c3dd 119172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
11918
11919 Add new all_video module.
11920
11921 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
11922 * grub-core/Makefile.core.def (all_video): New module.
11923 * grub-core/genmoddep.awk: Generate dependency of all_video from
11924 video.lst.
11925 * grub-core/lib/fake_module.c: New file.
11926 * grub-core/normal/main.c (features): Add feature_all_video_module.
11927 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
11928 don't do explicit search again.
47454da5 11929 insmod all_video in load_video if available.
22c7ce85 11930
ff27c3dd 119312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
11932
11933 Another round of string clarification and adding TRANSLATORS comments.
11934
ff27c3dd 119352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
11936
11937 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
11938
ff27c3dd 119392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
11940
11941 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
11942 to grub_ssize_t.
11943 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
11944 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
11945
ff27c3dd 119462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
11947
11948 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11949 trailing newline implicitly. All users updated.
11950
ff27c3dd 119512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
11952
11953 Implement serial on IEEE1275 and EFI.
11954
11955 * docs/grub.texi (Platform-specific limitations): Fix the columen video
11956 on emu. Mention arc and emu as the only platforms without serial
11957 support.
11958 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
11959 ieee1275 platforms.
11960 * grub-core/term/efi/serial.c: New file.
11961 * grub-core/term/ieee1275/serial.c: Likewise.
11962 * grub-core/term/serial.c (grub_serial_find): Disable direct port
11963 specification if no ns8250 driver is available.
11964 (grub_cmd_serial): Likewise.
11965 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
11966 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
11967 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
11968 (grub_efi_parity_type_t): New type.
11969 (grub_efi_stop_bits_t): Likewise.
11970 (grub_efi_serial_io_interface): New struct.
11971 * include/grub/serial.h (grub_serial_port): Make 'broken' field
11972 available for all interfaces.
11973 Add EFI and IEEE1275 fields.
11974 (grub_ofserial_init): New proto.
11975 (grub_efiserial_init): Likeiwse.
11976 * util/grub.d/00_header.in: Don't check for the presence of serial
11977 module.
11978
ff27c3dd 119792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
11980
11981 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
11982 name as if it was an alias.
11983
114076ef
VS
119842012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/commands/lsacpi.c (options): Fix typo.
11987
6a656b0e
VS
119882012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11989
11990 Convert grub-emu to argp.
11991
11992 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
11993 emu.
11994 * util/argp_common.c: Rename to ...
11995 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
11996 Add missing includes.
11997 * grub-core/kern/emu/main.c: Convert to argp.
11998 * po/POTFILES.in: Regenerate.
11999 * util/grub-install.in (usage): Make first letter lowcase in messages
12000 for uniformity.
12001 * util/grub-setup.c (options): Likewise.
12002
1e3f8ae8
VS
120032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12006 Put back accidently commented-out code.
12007
ed167a80
VS
120082012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12011 loop check using Brent algorithm.
12012 (grub_hfsplus_btree_search): Likewise.
12013
6753c0ec
VS
120142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * util/grub-install.in: Fix usage of wrong device for PreP install.
12017
4e27343f
VS
120182012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * conf/Makefile.common (CFLAGS_GNULIB): Add
12021 -Wno-unsafe-loop-optimizations.
12022 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12023 on tools.
12024 * grub-core/commands/legacycfg.c: Add pragma to skip
12025 -Wunsafe-loop-optimizations.
12026 (check_password_md5_real): Fix loop counter type.
12027 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12028 reading.
12029 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12030 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12031 loop condition.
12032 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12033 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12034 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12035 condition.
12036 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12037 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12038 avoid possible infinite loops.
12039 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12040 and -Wunsafe-loop-optimizations.
12041 * grub-core/script/yylex.l: Likewise.
12042 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12043 (print_glyphs): Avoid infinite loops.
12044 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12045
697f18b0
GS
120462012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12047
12048 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12049 to avoid infinite loop.
12050 (disp_acpi_rsdt_table): Likewise.
12051
274416e8
VS
120522012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * grub-core/font/font.c (grub_font_load): Add support for default
12055 path for fonts ($prefix/fonts).
12056 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12057 for checking if string is a path.
12058 * grub-core/normal/main.c (features): Add feature_default_font_path.
12059 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12060 * util/grub.d/00_header.in: Use default directory if possible.
12061 * util/grub-install.in: Install unicode.pf2.
12062
b3e08622
VS
120632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12066 * po/Rules-swiss: New file.
12067 * po/swiss.sed: Likewise.
12068
fe42ce09
VS
120692012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/fs/btrfs.c (find_device): Fix typos.
12072 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12073 * util/grub-mkrelpath.c (argp_parser): Likewise.
12074 Reported by: Yuri Chornoivan.
12075
72f1d065
DO
120762012-02-23 Dalet Omega <daletomega@gmail.com>
12077
12078 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12079 for usual informative messages.
12080
c5884973
DO
120812012-02-23 Dalet Omega <daletomega@gmail.com>
12082
12083 Starfield theme.
12084
12085 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12086 * conf/Makefile.common: Define starfielddir.
12087 * configure.ac: Configure starfield.
12088 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12089 * themes/starfield/README: Likewise.
12090 * themes/starfield/blob_w.png: Likewise.
12091 * themes/starfield/boot_menu_c.png: Likewise.
12092 * themes/starfield/boot_menu_e.png: Likewise.
12093 * themes/starfield/boot_menu_n.png: Likewise.
12094 * themes/starfield/boot_menu_ne.png: Likewise.
12095 * themes/starfield/boot_menu_nw.png: Likewise.
12096 * themes/starfield/boot_menu_s.png: Likewise.
12097 * themes/starfield/boot_menu_se.png: Likewise.
12098 * themes/starfield/boot_menu_sw.png: Likewise.
12099 * themes/starfield/boot_menu_w.png: Likewise.
12100 * themes/starfield/slider_c.png: Likewise.
12101 * themes/starfield/slider_n.png: Likewise.
12102 * themes/starfield/slider_s.png: Likewise.
12103 * themes/starfield/src/blob_nw.xcf: Likewise.
12104 * themes/starfield/src/bootmenu/: Likewise.
12105 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12106 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12107 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12108 * themes/starfield/src/slider_c.xcf: Likewise.
12109 * themes/starfield/src/slider_n.xcf: Likewise.
12110 * themes/starfield/src/slider_s.xcf: Likewise.
12111 * themes/starfield/src/terminalbox/: Likewise.
12112 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12113 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12114 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12115 * themes/starfield/starfield.png: Likewise.
12116 * themes/starfield/terminal_box_c.png: Likewise.
12117 * themes/starfield/terminal_box_e.png: Likewise.
12118 * themes/starfield/terminal_box_n.png: Likewise.
12119 * themes/starfield/terminal_box_ne.png: Likewise.
12120 * themes/starfield/terminal_box_nw.png: Likewise.
12121 * themes/starfield/terminal_box_s.png: Likewise.
12122 * themes/starfield/terminal_box_se.png: Likewise.
12123 * themes/starfield/terminal_box_sw.png: Likewise.
12124 * themes/starfield/terminal_box_w.png: Likewise.
12125 * themes/starfield/theme.txt: Likewise.
12126
17d73325
VS
121272012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * util/grub.d/00_header.in: Add missing export theme.
12130
dbebaf92
VS
121312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12134 already included.
12135 Reported by: Eren D.
12136
3d68bffb
VS
121372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * conf/Makefile.common (grubdatadir): Removed.
12140 (Makefile.am): Move eveything grubdata to pkgdata.
12141
4b59234d
VS
121422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/commands/acpihalt.c (get_sleep_type):
12145 Remove unused variable.
12146
463dcadc
VS
121472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12150 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12151 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12152 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12153 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12154 i18n with gettext no-op.
12155 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12156 GRUB_ACPI_OPCODE_STRING_CONST.
12157 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12158 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12159
e5b90c82
VS
121602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * po/POTFILES.in: Regenerate.
12163
2a704ca9
VS
121642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12167 -Wno-error=missing-noreturn.
12168
84f9d341
VS
121692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12172 condition to avoid possibly infinite loops.
12173 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12174 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12175
d46683f9
VS
121762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12179 condition to avoid possibly infinite loops.
12180
c44866b2
VS
121812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12184 on show_error.
12185
96790539
VS
121862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12189
1ba7e295
VS
121902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12193
21ffe8f1
VS
121942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * util/bin2h.c (usage): Add missing attribute noreturn.
12197
0ccb6b3c
VS
121982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12201 if the size isn't divisible by 512.
12202
b00d7fb6
VS
122032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 Make list_push and list_remove functions rather than inline functions
12206 to decrease size and avoid aliasing violations.
12207
12208 * include/grub/list.h (grub_list_push): Move to ...
12209 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12210 * include/grub/list.h (grub_list_remove): Move to ...
12211 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12212
9d369087
VS
122132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12216 and -Wunused-result.
12217
af0250d9
VS
122182012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12221 Reported by: Seth Goldberg
12222
aad32b14
VS
122232012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12226
ac96441c
ST
122272012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12228
12229 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12230 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12231 command line.
12232 * docs/grub.texi (Simple configuration): Document
12233 GRUB_CMDLINE_GNUMACH.
12234
122352012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12236
12237 * conf/Makefile.common (platform_SCRIPTS): New variable.
12238 (platform_PROGRAMS): Likewise.
12239 * gentpl.py: Mark *,module and *.image for install.
12240 * grub-core/gdb_grub.in: Add a notice of expected environment.
12241 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12242 (gmodule.pl): Likewise.
12243
ac96441c 122442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12245
12246 Replace grub_checkkey with grub_getkey_noblock.
12247
12248 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12249 (grub_getkey_noblock): ... this. All users updated.
12250
ac96441c 122512012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12252
12253 * grub-core/kern/emu/console.c: Move to ...
12254 * grub-core/term/emu/console.c: ...here.
12255 (grub_ncurses_getkey): Fix return value if no key is detected.
12256
e51b5666
VS
122572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12260 (grub_unit_test_fini): Likewise.
12261 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12262
122632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * include/grub/test.h (GRUB_UNIT_TEST)
12266
d9a62292
VS
122672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12270 Better error handling.
12271 (grub_script_return): Likewise.
12272 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12273
77c9182f
VS
122742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12277 rimplicit redifinition.
12278
edb13cf9
VS
122792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12282 GRUB.
12283
a9e9dc7c
VS
122842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12287 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12288 prompt here.
12289
b4ba8e02
VS
122902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12293 as GRUB_ERR_BUG. Don't malloc if no device is available.
12294
dded5540
VS
122952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12298 Mark calling with invalid term as GRUB_ERR_BUG.
12299
0cf69874
VS
123002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12303 packets rather than raising an error.
12304
59bfe502
VS
123052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12308 in if.
12309
db5fc596
VS
123102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12311
12312 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12313 diagnostic to dprintf.
12314 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12315
e4b7f404
VS
123162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12319 device name.
12320
e7b02f9e
VS
123212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12324 (grub_ntfs_iterate_dir): Likewise.
12325
0331e102
VS
123262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 Efiemu stylistic fixes and gettext.
12329
12330 * grub-core/efiemu/i386/loadcore32.c
12331 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12332 * grub-core/efiemu/i386/loadcore64.c
12333 (grub_arch_efiemu_relocate_symbols64): Likewise.
12334 * grub-core/efiemu/i386/pc/cfgtables.c
12335 (grub_machine_efiemu_init_tables): Likewise.
12336 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12337 (grub_efiemu_loadcore_initXX): Add a filename argument.
12338 All users updated.
12339 Improved error message.
12340 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12341 Add a filename argument.
12342 All users updated.
12343 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12344 Reclassify double relocation as GRUB_ERR_BUG.
12345
306fc074
VS
123462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12349 handling.
12350
794d8ef2
VS
123512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12354 on partition.
12355
123562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12357
12358 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12359
794d8ef2 123602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12361
12362 Improve string. Gettextize.
12363
78dde88e
VS
123642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12367 utils.
12368 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12369
4786a90f
VS
123702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12373 [GRUB_UTIL]: New function.
12374 (insert_array) [GRUB_UTIL]: Store partmaps.
12375 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12376 partmaps.
12377 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12378 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12379 (probe_abstraction): Print diskfilter and not raid.
12380 Reported by: Lennart Sorensen
12381
0b6225bd
VS
123822012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12385 * util/grub-mkimagexx.c (MASK3): New define.
12386 (add_value_to_slot_20b): Use MASK3.
12387 (add_value_to_slot_21): Likewise.
12388 (relocate_addresses): Fix format specification.
12389 (load_image): Explicitly init symtab_section.
12390
b055f8f6
VS
123912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12394 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12395
b77c2fb7
VS
123962012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12399 on powerpc.
12400 Reported by: Lennart Sorensen
12401
e3ec28ab
VS
124022012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * gentpl.py: Add missing license header.
12405 * docs/grub.texi: Update copyright year.
12406
c8d9ead6
GS
124072012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12408
12409 Source grub-mkconfig_lib from the build directory at build time.
12410 Suggested by: Vladimir Serbinenko.
12411
12412 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12413 * util/grub-install.in: Define pkgdatadir if not already set, and source
12414 grub-mkconfig_lib from there.
12415 * util/grub-kbdcomp.in: Likewise.
12416 * util/grub-mkconfig.in: Likewise.
12417 * util/grub-mknetdir.in: Likewise.
12418 * util/grub-mkrescue.in: Likewise.
12419 * util/grub-mkstandalone.in: Likewise.
12420 * util/grub-reboot.in: Likewise.
12421 * util/grub-set-default.in: Likewise.
12422 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12423
ebcecdf1
VS
124242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 Increase warning level.
12427
12428 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12429 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12430 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12431 (TARGET_CFLAGS): Likewise.
12432 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12433 * grub-core/Makefile.core.def (decompressor_xz): Add
12434 -Wno-unreachable-code.
12435 (normal): Add -Wno-redundant-decls.
12436 (xzio): Add -Wno-unreachable-code.
12437 (lzopio): Add -Wno-redundant-decls -Wno-error.
12438 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12439 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12440 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12441 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12442 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12443 * grub-core/kern/i386/coreboot/init.c: Add exception to
12444 -Wsuggest-attribute=noreturn.
12445 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12446 * grub-core/kern/ia64/dl_helper.c: Likewise.
12447 * grub-core/kern/mips/dl.c: Likewise.
12448 * grub-core/kern/sparc64/dl.c: Likewise.
12449 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12450 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12451 (memcmp): Likewise.
12452 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12453 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12454 * grub-core/loader/mips/linux.c: Likewise.
12455 * grub-core/loader/multiboot_elfxx.c: Likewise.
12456 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12457 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12458 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12459 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12460 fixme.
12461 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12462 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12463 Fix prototype.
12464
37bb97fe
VS
124652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12468 address.
12469
29a3550b
VS
124702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12473 Avoid improper use of strings.
12474 (grub_cmd_legacy_initrdnounzip): Likewise.
12475
dfdffd0d
VS
124762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12479 attribute.
12480 (grub_util_info): Likewise.
12481 (grub_util_error): Likewise.
12482
102fae4a
VS
124832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12486 * util/grub-fstest.c (fstest): Likewise.
12487
7e94d044
VS
124882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12491 (grub_md_sha512_real): Likewise.
12492 (grub_util_get_geli_uuid): Likewise.
12493 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12494 (grub_util_biosdisk_open): Fix format specification.
12495 Respect format security.
12496 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12497 (xrealloc): Likewise.
12498 (xasprintf): Likewise.
12499
5ebd9769
VS
125002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 * util/import_gcry.py: Include grub/crypto.h in init.c.
12503
495fc8c1
VS
125042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12507 (generate_image): Make prefix a const char *.
12508 Fix format specifications. Respect format security.
12509 Avoid void * arithmetics.
12510 Avoid shadowing.
12511 (argp_parser): Remove unused variable. Respect format security.
12512 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12513 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12514 (count_funcs): Remove unused variable.
12515 (relocate_addresses): Fix format specification.
12516 Disable x86-64 with elf32. Remove unused variables.
12517 (add_fixup_entry): Avoid shadowing.
12518 (make_reloc_section): Fix format specification.
12519 Use assert.
12520 (locate_sections): Fix format specifications.
12521 (load_image): Avoid shadowing.
12522
043c2ea3
VS
125232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12526 Fix format specifications. Respect format security.
12527 Don't translate already translated grub_errmsg.
12528 (argp_parser): Remove unused variable
12529
3ec65a81
VS
125302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12533
a4d9fe4a
VS
125342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12537 (main): Likewise. Use xmalloc. Respect format security.
12538
15b81d49
VS
125392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12542 a const char *.
12543 (argp_parser): Remove unused variable.
12544
31731fc0
VS
125452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12548 (add_pixel): Make static.
12549 (add_font): Likewise.
12550 (write_string_section): Make name and str a const char *.
12551 (write_be16_section): Make name a const char *.
12552 (print_glyphs): Make static.
12553 (write_font_ascii_bitmap): Likewise.
12554 (write_font_width_spec): Likewise.
12555 (write_font_pf2): Likewise.
12556 (argp_parser): Remove unused variable.
12557 Respect format security.
12558 (main): Avoid shadowing. Respect format security.
12559
0809527b
VS
125602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * util/grub-editenv.c (argp_parser): Make static.
12563 (create_envblk_file): Use xmalloc.
12564 (open_envblk_file): Likewise.
12565 Resepect format security.
12566 (set_variables): Respect format security.
12567
45b0c8b7
VS
125682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * util/getroot.c (grub_find_device): Respect format security.
12571 (get_mdadm_uuid): Remove unused variable.
12572 (grub_util_pull_device): Dont call gettext on already translated
12573 grub_errmsg.
12574 (find_system_device): Remove unused variable.
12575 (grub_util_get_grub_dev): Likewise.
12576 (grub_make_system_path_relative_to_its_root): Respect format security.
12577
1b024b4e
VS
125782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * util/grub-fstest.c (execute_command): Make first argument
12581 a const char *.
12582 (read_file): Avoid shadowing.
12583 Reuse underlying error message if device open fails.
12584 (cmd_cmp): Respect format security.
12585 (root): Make const char *.
12586 (fstest): Remove args argument and use global copy.
12587 Respect format security.
12588 (argp_parser): Make static.
12589 (main): Make default_root const char *.
12590
5d1d4e28
VS
125912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * util/grub-mount.c (root): Make const char *.
12594 (execute_command): Make first argument a const char *.
12595 (fuse_init): Respect format security.
12596 (argp_parser): Make static. Remove unused variable.
12597 (main): Make default_root a const char *.
12598 Respect format security.
12599
36eb7379
VS
126002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * util/grub-probe.c (probe): Don't call gettext on already translated
12603 grub_errmsg.
12604 Remove unused variables.
12605 (argp_parser): Remove unused variable.
12606
76fb2ea9
VS
126072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * util/grub-script-check.c (argp_parser): Remove unused variable.
12610 (main): Rename read to curread to avoid shadowing.
12611
56c98584
VS
126122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * util/misc.c (grub_util_write_image_at): Fix format specification.
12615 (grub_util_write_image): Likewise.
12616 (grub_script_execute_argument_to_string): Removed (unused).
12617 (grub_script_execute_menuentry): Likewise.
12618 (grub_putchar): Likewise.
12619
164ebb48
VS
126202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12623 (FUNCTION) [GRUB_UTIL]: Likewise.
12624 (VARIABLE) [GRUB_UTIL]: Likewise.
12625
44318d61
VS
126262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12629 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12630
31a26002
VS
126312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12634 buffer.
12635
126362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12639 (LzmaEnc_SaveState): Removed (unused).
12640 (LzmaEnc_RestoreState): Likewise.
12641 (LzmaEnc_InitPriceTables): Made static.
12642 (LzmaEnc_Construct): Likewise.
12643 (LzmaEnc_FreeLits): Likewise.
12644 (LzmaEnc_Destruct): Likewise.
12645 (LzmaEnc_Init): Likewise.
12646 (LzmaEnc_InitPrices): Likewise.
12647 (LzmaEnc_Finish): Likewise.
12648 (LzmaEnc_PrepareForLzma2): Removed (unused).
12649 (LzmaEnc_MemPrepare): Likewise.
12650 (LzmaEnc_GetNumAvailableBytes): Likewise.
12651 (LzmaEnc_GetCurBuf): Likewise.
12652 (LzmaEnc_CodeOneMemBlock): Likewise.
12653
6fa67967
VS
126542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12657 (grub_util_ldm_embed): Likewise.
12658
9a7428e6
VS
126592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * util/grub-editenv.c (print_var): Rename name to varname to
12662 avoid shadowing.
12663 (main): Rename index to curindex to avoid shadowing.
31a26002 12664 Make filename a const char *.
9a7428e6 12665
4f96abd1
VS
126662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12669 to arg_getline to avoid shadowing.
12670
44d10dad
VS
126712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12674 disk_ to avoid shadowing.
12675
340ba63e
VS
126762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12679 curindex to avoid shadowing.
12680 Make static.
12681 (MatchFinder_GetNumAvailableBytes): Make static.
12682
22965bce
VS
126832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12686 avoid shadowing.
12687
7b5784d4
VS
126882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12691 argument from encrypt to do_encrypt to avoid shadowing.
12692
6f48ca01
VS
126932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12696 incorrect nesting of #if's.
12697
a4ea2dff
VS
126982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12701 checks which are always false on some platforms.
12702 (grub_cmd_lsacpi): Likewise.
12703 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12704 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12705 Likewise.
12706
def9fc1b
VS
127072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12710 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12711
a67b2a04
VS
127122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12715 re_dfa_t to avoid breaking alignment invariants.
12716 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12717 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12718
44c6828d
VS
127192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12722 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12723
bebe0dd0
VS
127242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12727 Fix declaration.
12728
a9cdb3cf
VS
127292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12732 conserve alignment invariants.
12733 (grub_ehci_ehcc_read16): Likewise.
12734 (grub_ehci_oper_read32): Likewise.
12735 (grub_ehci_oper_write32): Likewise.
12736 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12737 Conserve alignment invariants.
12738
ccc3b1b8
VS
127392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12742 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12743 declarations.
12744
987fbd95
VS
127452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12748 Remove unused variable.
12749
0df363f3
VS
127502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12753 Remove set in if.
12754
b2c0c4a6
VS
127552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * include/grub/net.h: Remove double declarations.
12758
690c531f
VS
127592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Remove "payload" command in ia64 Linux loader since I couldn't
12762 find any evidence of it being used for anything.
12763 Replace "relocate" command with an environment variable
12764
12765 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12766 fields.
12767 (ia64_boot_payload): Removed.
12768 (last_payload): Likewise.
12769 (RELOCATE_OFF): Likewise.
12770 (RELOCATE_ON): Likewise.
12771 (RELOCATE_FORCE): Likewise.
12772 (relocate): Likewise.
12773 (free_pages): Don't free payloads.
12774 (grub_load_elf64): Use common error messages.
12775 Use "linux_relocate" variable.
12776 Increase the space after boot_params.
12777 (grub_cmd_payload): Removed.
12778 (grub_cmd_relocate): Likewise.
12779 (grub_cmd_fpswa): Improve messages.
12780 (cmd_payload): Removed.
12781 (cmd_relocate): Likewise.
12782 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12783 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12784
01783768
VS
127852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 Convert UHCI to DMA framework.
12788
12789 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12790 (grub_uhci_pci_iter): Fill new members
12791 (grub_alloc_td): Use P2V and V2P functions.
12792 (grub_free_queue): Likewise.
12793 (grub_alloc_qh): Likewise.
12794 (grub_uhci_setup_transfer): Likewise.
12795 (grub_uhci_check_transfer): Likewise.
12796
43206939
VS
127972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12800 Remove assignment in if while on it.
12801
571e140e
VS
128022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * util/grub-mkstandalone.in: Fix modules directory.
12805
a9d96eeb
VS
128062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12809 on i386-pc target.
12810 (argp_parser): Accept "auto" as compression specification.
12811
e4e37e8d
VS
128122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 Fix `help' with unloaded modules.
12815
12816 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12817 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12818 (grub_dyncmd_dispatcher): Small stylistic fix.
12819 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12820 explicit help is requested.
12821
e1ea3ade
VS
128222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12825 Explicitly init restart while on it.
12826
27556881
VS
128272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12830 uninited variable.
12831
d65f6b36
VS
128322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * util/grub-mknetdir.in: Use . rather than source for POSIX
12835 compatibility.
12836
0a1e473c
VS
128372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12840
ce6647c8
VS
128412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12844 variable.
12845
66747894
VS
128462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12849 without quotes.
12850
71645f6e
VS
128512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12854
0e1c1f61
VS
128552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
12858 iteration of partitions.
12859
9c4b5c13
VS
128602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 Improve gettext support. Stylistic fixes and error handling fixes while
12863 on it.
12864
215c90cb
VS
128652012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
12868 part. Instead setup the correct stack in RM.
12869 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
12870 for stack.
12871 * include/grub/i386/relocator_private.h: New file.
12872
b5c1f9bf
VS
128732012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
12876 argument.
12877 * util/grub-fstest.c (options): Add missing DEVICE part.
12878
b525fd83
VS
128792012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 Clarify and unify messages.
12882
12883 * grub-core/commands/hashsum.c (options): Unify messages.
12884 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
12885 literal-only message as translatable.
12886 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
12887 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
12888 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
12889 commands.
12890 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
12891 key, not the key used to unlock. Clarify what it's used for.
12892 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
12893 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
12894 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
12895 * util/grub-editenv.c (options): Unify "verbose" message.
12896 * util/grub-fstest.c (read_file): Unify error message.
12897 (fstest): Add quotes around commands.
12898 (options): Unify "verbose" message.
12899 * util/grub-install.in: Add quotes around variable name.
12900 * util/grub-kbdcomp.in: Unify error message.
12901 * util/grub-mkfont.c (main): Likewise.
12902 * util/grub-mkrescue.in: Likewise.
12903 * util/grub-mklayout.c (options): Unify "verbose" message.
12904 * util/grub-mkstandalone.in: Unify help and verbose messages.
12905 * util/grub-mount.c (options): Unify "verbose" message.
12906 * util/grub-probe.c (options): Likewise.
12907 * util/grub-script-check.c (options): Likewise.
12908 * util/grub-setup.c (setup): Unify no-terminator message.
12909 (options): Use DEVICE and not DEV.
12910 Unify "verbose" message.
12911 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
12912
0ae70393
VS
129132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 Improve and unify messages.
12916
12917 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
12918 name. All users updated.
12919 Print filename in error.
12920 (read_device_map): Print filename in error.
12921 * util/getroot.c (grub_guess_root_devices): Print filename in error.
12922 (grub_util_get_os_disk): Likewise.
12923 (grub_util_biosdisk_get_grub_dev): Likewise.
12924 (grub_util_check_block_device): Likewise.
12925 (grub_util_check_char_device): Likewise.
12926 (grub_make_system_path_relative_to_its_root): Likewise.
12927 * util/grub-editenv.c (create_envblk_file): Likewise.
12928 (open_envblk_file): Likewise.
12929 (write_envblk): Likewise.
12930 * util/grub-fstest.c (cmd_cp): Likewise.
12931 (cmd_cat): Likewise.
12932 (cmd_cmp): Likewise.
12933 * util/grub-menulst2cfg.c (main): Likewise.
12934 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
12935 (write_font_width_spec): Likewise.
12936 (write_font_pf2): Likewise.
12937 * util/grub-mkimage.c (generate_image): New argument outname.
12938 All users updated.
12939 Remove unreacheable message.
12940 (options): Unify messages.
12941 (help_filter): Likewise.
12942 * util/grub-mklayout.c (usage): Removed (unused).
12943 (main): Print filename in error.
12944 * util/grub-mkrescue.in: Fix wrong quoting.
12945 * util/grub-setup.c (setup): Print filename in error.
12946 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
12947 (check_sas): Likewise.
12948 * util/misc.c (grub_util_get_fp_size): Removed.
12949 (grub_util_get_image_size): Print filename in error.
12950 (grub_util_read_at): Removed.
12951 (grub_util_read_image): Print filename in error.
12952 (grub_util_load_image): Likewise.
12953 (grub_util_write_image_at): New argument filename. All users updated.
12954 Print filename in error.
12955 (grub_util_write_image): New argument filename. All users updated.
12956 Print filename in error.
12957 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
12958 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
12959
0a96117d
VS
129602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * grub-core/Makefile.core.def (pxechain): New module.
12963 * grub-core/loader/i386/pc/pxechainloader.c: New file.
12964 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
12965 function.
12966 (grub_pc_net_config_real): Use grub_pxe_get_cached.
12967 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
12968
aca002f7
VS
129692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
12972 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
12973 * include/grub/err.h (grub_error_saved): New struct.
12974 (grub_errmsg): Make array size explicit.
12975 * include/grub/misc.h (grub_error_save): New function.
12976 (grub_error_load): Likewise.
12977 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
12978 (grub_error_push): Update `errno' member name.
12979 (grub_error_pop): Likewise
12980 * grub-core/net/tftp.c (tftp_data): New member save_err.
12981 (tftp_receive): Save error.
12982 (tftp_open): Restore error.
12983
a51dab13
VS
129842012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
12987 to real mode down to execute A20-related code in protected mode as
12988 intended.
12989
eb6e6649
GS
129902012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
12991
12992 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
12993 NULL when the argument `level' has an unexpected value.
12994
92cd0f6e
VS
129952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 Move platform-dependent files from $prefix to $prefix/$platform.
12998
12999 * config.h.in (GRUB_TARGET_CPU): New definition.
13000 (GRUB_PLATFORM): Likewise.
13001 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13002 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13003 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13004 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13005 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13006 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13007 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13008 * grub-core/normal/term.c (read_terminal_list): Likewise.
13009 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13010 $prefix/locale.
13011 (grub_gettext_init_ext): Likewise.
13012 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13013 grub_platform.
13014 * util/grub-install.in: Update directories.
13015 * util/grub-mknetdir.in: Likewise.
13016 * util/grub-mkrescue.in: Likewise.
13017
db606889
VS
130182012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13021 grub_error framework. All users updated.
13022
c39992a4
VS
130232012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13026 lists (by always binsearching), improve caching (cache strings
13027 used for binsearch, not only results), improve
13028 maintainability (by using more structured binary search) and correct
13029 error handling.
13030
1e5ec32f
VS
130312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/script/execute.c (grub_script_return): Fix warning.
13034
ac576cde
VS
130352012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * grub-core/script/execute.c (grub_script_return): Fix potential
13038 NULL-dereference.
13039 Reported by: Jim Meyering.
13040
498453f6
VS
130412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * po/POTFILES.in: Regenerate.
13044 * util/grub-install.in: Gettextize the strings missed in first pass.
13045
8be63f2e
VS
130462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * Makefile.util.def (grub-mkdevicemap): Removed.
13049 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13050 * include/grub/util/deviceiter.h: Removed.
13051 * util/deviceiter.c: Likewise.
13052 * util/getroot.c (grub_util_get_os_disk): New function.
13053 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13054 replacement for EFI.
13055 * util/grub-mkdevicemap.c: Removed.
13056 * util/grub-probe.c (probe): Handle PRINT_DISK.
13057 (argp_parser): Handle -t disk.
13058
8e1e4e39
VS
130592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * util/grub-mkfont.c: Migrate to argp.
13062 * util/grub-mklayout.c: Likewise.
13063 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13064 * util/grub-mkrelpath.c: Likewise.
13065 * util/grub-probe.c: Likewise.
13066 * util/grub-script-check.c: Likewise.
13067
4459819a
VS
130682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * util/grub-reboot.in: Add missing datarootdir.
13071 Add missing newline.
13072 * util/grub-set-default.in: Add missing datarootdir.
13073 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13074 * util/grub-mkrescue.in: Likewise.
13075
f65741c7
VS
130762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13079
c1a33466
VS
130802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 * util/grub-kbdcomp.in: Add decent help and gettextize.
13083 * docs/man/grub-kbdcomp.h2m: New file.
13084
c76899a0
VS
130852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 Migrate grub-mkimage.c to argp.
13088
13089 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13090 (grub-setup): Likewise.
13091 * util/grub-setup.c (print_version): Move to ...
13092 * util/argp_common.c (print_version): ... here.
13093 * util/grub-setup.c (argp_program_version_hook): Move to ...
13094 * util/argp_common.c (argp_program_version_hook): ... here.
13095 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13096 safety.
13097 * util/grub-mkimage.c (main): Migrate to argp.
13098
57db0757
VS
130992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * util/grub-mkrescue.in: Use same message as
13102 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13103 for better translations.
13104
18534ad9
VS
131052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13108 options with generic grub-mkrescue.in with the goal of future
13109 merge.
13110
c84ba308
VS
131112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 * grub-core/kern/mm.c: Add missing include of i18n.h
13114 * grub-core/lib/relocator.c: Likewise.
13115
347998c2
VS
131162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13119 error.
13120 (allocate_pages): Check return value.
13121 Replace fatal with error.
13122 (grub_linux_boot): Replace printf with dprintf.
13123 Check find_mmap_size return value.
13124 Replace fatal with error.
13125 Don't call grub_machine_fini.
13126 (grub_load_elf64): Replace printf with dprintf.
13127 (grub_cmd_linux): Likewise.
13128 (grub_cmd_initrd): Likewise.
13129 (grub_cmd_payload): Likewise.
13130
c779226e
VS
131312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13134 message.
13135 * grub-core/video/radeon_fuloong2e.c
13136 (grub_video_radeon_fuloong2e_setup): Likewise.
13137 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13138 * grub-core/video/video.c (grub_video_set_mode): Don't override
13139 standard out of memory message.
13140
dc87d45a
GS
131412012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13142
13143 NetBSD disk wedge support.
13144
13145 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13146 [__NetBSD__]: Handle NetBSD disk wedges.
13147 * util/getroot.c (convert_system_partition_to_system_disk)
13148 [__NetBSD__]: Likewise.
13149
055f856f
MW
131502012-02-03 Mark Wooding <mdw@distorted.org.uk>
13151
13152 * util/grub-mkconfig.in: Use umask rather than chmod to create
13153 grub.cfg.new to avoid insecure grub.cfg.
13154
4a9f8346
VS
131552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13156
13157 * grub-core/commands/ls.c: Gettextize.
13158 * grub-core/commands/setpci.c: Likewise.
13159 * grub-core/commands/videotest.c: Likewise.
13160 * grub-core/disk/geli.c: Likewise.
13161 * grub-core/kern/mm.c: Likewise.
13162 * grub-core/lib/relocator.c: Likewise.
13163 * grub-core/loader/efi/appleloader.c: Likewise.
13164 * grub-core/loader/i386/xnu.c: Likewise.
13165 * grub-core/loader/ia64/efi/linux.c: Likewise.
13166 * grub-core/loader/xnu.c: Likewise.
13167 * grub-core/net/dns.c: Likewise.
13168 * grub-core/net/net.c: Likewise.
13169 * grub-core/script/lexer.c: Likewise.
13170 * grub-core/script/parser.y: Likewise.
13171 * grub-core/script/yylex.l: Likewise.
13172 * util/getroot.c: Likewise.
13173 * util/grub-setup.c: Likewise.
13174
a646a366
VS
131752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13178 number.
13179
54e2be26
VS
131802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13183
f7c71e68
VS
131842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13187 macro.
13188 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13189 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13190
a32d5c71
VS
131912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13194 * util/grub-install.in: Gettextize.
13195 * util/grub-mkconfig.in: Likewise.
13196 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13197 if not available.
13198 (grub_warn): Gettextize.
13199 * util/grub-mknetdir.in: Gettextize.
13200 * util/grub-mkrescue.in: Likewise.
13201 * util/grub-mkstandalone.in: Likewise.
13202 * util/grub-reboot.in: Likewise.
13203 * util/grub-set-default.in: Likewise.
13204 * util/grub.d/00_header.in: Likewise.
13205 * util/grub.d/10_hurd.in: Likewise.
13206 * util/grub.d/10_kfreebsd.in: Likewise.
13207 * util/grub.d/10_linux.in: Likewise.
13208 * util/grub.d/10_netbsd.in: Likewise.
13209 * util/grub.d/10_windows.in: Likewise.
13210 * util/grub.d/20_linux_xen.in: Likewise.
13211 * util/grub.d/30_os-prober.in: Likewise.
13212 * po/POTFILES-shell.in: Regenerate.
13213
69edd81a
RL
132142012-02-03 Richard Laager <rlaager@wiktel.com>
13215
13216 * util/grub-mkimage.c (main): Fix format-security warning.
13217 * util/grub-mkrelpath.c (main): Likewise.
13218 * util/grub-probe.c (main): Likewise.
13219
65f08dbf
RL
132202012-02-03 Richard Laager <rlaager@wiktel.com>
13221
13222 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13223 failure.
13224 Put back lost PRINT_DRIVE.
13225
e9084abe
RL
132262012-02-03 Richard Laager <rlaager@wiktel.com>
13227
13228 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13229 (grub_guess_root_devices): Replace strlen with sizeof.
13230 Avoid crash.
13231 (find_root_devices_from_poolname): Remove unused variable.
13232 Handle raidzN.
13233
cf5f7ee7
VS
132342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 Support install on multi-device filesystems.
13237
13238 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13239 (grub_guess_root_devices): ...this. Return char **. All users updated.
13240 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13241 Removed.
13242 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13243 (find_root_devices_from_poolname): ... here.
13244 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13245 Support zfs-fuse.
13246 (grub_guess_root_device): Rename to ...
13247 (grub_guess_root_devices): ... this. Return char **. All users updated.
13248 * util/grub-install.in: Handle multi-device filesystems.
13249 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13250 argument. All users updated.
13251 Handle multi-device filesystems.
13252 Use 'delim' as separator.
13253 Remove device check to allow filesystems on file.
13254 (main): Support -0 argument. Handle multi-device.
13255 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13256 Fix a cross-device check while on it.
13257 (arguments): Remove root_dev.
13258 (argp_parser): Remove -r.
13259 (main): Remove root_dev.
13260
2f53a9ed
VS
132612012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13264
17e1d934
VS
132652012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13268 symbol.
13269 Reported by: NODA, Kai <nodakai>.
13270
d3e3fab5
VS
132712012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 Fix ehci on amd64.
13274
13275 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13276 pointers.
13277 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13278 (grub_ehci_setup_qh): Likewise.
13279 (grub_ehci_find_qh): Likewise.
13280 (grub_ehci_transaction): Likewise.
13281 (grub_ehci_setup_transfer): Likewise.
13282 (grub_ehci_check_transfer): Likewise.
13283 (grub_ehci_portstatus): Likewise.
13284 (grub_ehci_detect_dev): Likewise.
13285 (grub_ehci_transfer_controller_data): New field td_last_phys.
13286 (grub_ehci_setup_transfer): Fill td_last_phys.
13287 (grub_ehci_check_transfer): Use td_last_phys.
13288
3008675b
SG
132892012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13290
13291 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13292 if no submenu is present.
13293
fc9b5652
AN
132942012-02-01 Aleš Nesrsta <starous@volny.cz>
13295
13296 CBI support.
13297
13298 * include/grub/usb.h (grub_usbms_protocol_t): New values
13299 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13300 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13301 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13302 (grub_usbms_dev): Add subclass, protocol and intrpt.
13303 Remove in_maxsz and out_maxsz.
13304 (grub_usbms_reset): Rename to ...
13305 (grub_usbms_bo_reset): .. this.
13306 (grub_usbms_cbi_cmd): New function.
13307 (grub_usbms_cbi_reset): Likewise.
13308 (grub_usbms_reset): Likewise.
13309 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13310 (grub_usbms_transfer): Rename to ...
13311 (grub_usbms_transfer_bo): ... this.
13312 (grub_usbms_transfer_cbi): Likewise.
13313 (grub_usbms_transfer): Likewise.
13314
a2b81d53
AN
133152012-02-01 Aleš Nesrsta <starous@volny.cz>
133162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13319 the support for the CS5536 modification thereos and few bugfixes.
13320
13321 * grub-core/Makefile.core.def (ehci): New module.
13322 * grub-core/bus/usb/ehci.c: New file.
13323 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13324 port and hubaddr. All users updated.
13325 Save port and hubaddr into dev structure.
13326 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13327 define.
13328 * include/grub/pci.h (grub_dma_phys2virt): New function.
13329 (grub_dma_virt2phys): Likewise.
13330 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13331
b1d51f02
VS
133322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13335 check as some mkfs implementations omit it.
13336
fc694106
VS
133372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13340
6c0920e3
VS
133412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13344 Add new member volname2.
13345 (grub_jfs_label): Use volname2 if available.
13346
d1a46f9a
VS
133472012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13350 over last_mounted as seen in image generated by mkfs.nilfs2.
13351 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13352
dec8ed14
VS
133532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13354
13355 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13356 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13357 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13358
7397c69b
VS
133592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13362 over the sector.
13363
b3fe42ad
VS
133642012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13367 subvolume name (by removing a bogus and useless check).
13368
10476bb0
VS
133692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13370
13371 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13372 sizeof while on it.
13373
9c08ad87
VS
133742012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13377 (grub_scsi_read_capacity10): ... this.
13378 (grub_scsi_read_capacity16): New function.
13379 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13380 0xffffffff.
13381 Fix off-by-one error.
13382 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13383 64-bit unsigned.
13384 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13385 (grub_scsi_read_capacity10): ... this.
13386 (grub_scsi_read_capacity_data): Rename to ...
13387 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13388 (grub_scsi_read_capacity16): New struct.
13389 (grub_scsi_read_capacity16_data): Likewise.
13390 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13391 grub_scsi_cmd_read_capacity10.
13392 New command grub_scsi_cmd_read_capacity16.
13393
bc8d0f45
VS
133942012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 SCSI >2TiB support.
13397
13398 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13399 (grub_scsi_write16): Likewise.
13400 (grub_scsi_read): Use read16 when necessary.
13401 (grub_scsi_write): Likewise.
13402 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13403 (grub_scsi_write16): Likewise.
13404 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13405
cc774926
VS
134062012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 SCSI write support (for usbms mainly).
13409
13410 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13411 a const pointer.
13412 (grub_scsi_write): Implement.
13413 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13414
67639fd7
VS
134152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13418 variable.
13419
9079d3ed
VS
134202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13423
c6a6f204
VS
134242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 * po/POTFILES.in: Regenerate.
13427
ecbf8cd1
VS
134282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13431 with grub_printf to avoid unnecessary fatal failure.
13432
0b3b3b38
VS
134332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13436 (INT_MAX): Likewise.
13437 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13438 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13439 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13440 (strcpy): Likewise.
13441 (strstr): Likewise.
13442 (strchr): Likewise.
13443 (strncpy): Likewise.
13444 (strcat): Likewise.
13445 (strncat): Likewise.
13446 (strcoll): Likewise.
13447 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13448 (GRUB_INT_MAX): Likewise.
13449
db7337a3
VS
134502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13453 unexpected error.
13454 (optimize_utf8): Likewise.
13455 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13456
f37c87e1
VS
134572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/boot/i386/pc/lnxboot.S: Use
13460 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13461 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13462 location.
13463 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13464 definition.
13465 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13466
63fe43f3
VS
134672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13470 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13471 now to avoid double free.
13472 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13473 hostdisk.
13474 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13475 * util/grub-probe.c (escape_of_path): Always return a new copy.
13476 (print_full_name): Escape path.
13477 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13478 Fix hints on abstractions.
13479
ebe2c961
VS
134802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13483 Don't add "root" line if no compatibility hont is available.
13484 Suggested by: Seth Goldberg.
13485
2b5336a2
VS
134862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13489 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13490 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13491 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13492
74310bd8
VS
134932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13496
c30582ba
VS
134972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * util/grub-pe2elf.c (ehdr): Make static.
13500 (shdr): Likewise.
13501 (num_sections): Likewise.
13502 (offset): Likewise.
13503
5f47782c
VS
135042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 Eliminate ofpath limits and possible overflows.
13507
13508 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13509 (OF_PATH_MAX): Removed.
13510 (MAX_DISK_CAT): New const.
13511 (find_obppath): Use allocated rather than preallocated buffer.
13512 Return result. Argument of_path removed. All users updated.
13513 Add missing fdstat.
13514 (xrealpath): New function.
13515 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13516 Allocate rather than use preallocated buffer. All users updated.
13517 (__of_path_common): Use allocated rather than preallocatecd buffer.
13518 Return result. Argument of_path removed. All users updated.
13519 (vendor_is_ATA): Read only needed part form the file.
13520 (check_sas): Allocate depending on contents rather than fixed.
13521 (main) [STANDALONE]: Handle NULL result.
13522
f990cbf9
VS
135232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13526
9c6e84b8
VS
135272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 Cryptodisk write support.
13530
13531 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13532 (grub_cryptodisk_decrypt): Moved logic to ...
13533 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13534 (grub_cryptodisk_write): Implement.
13535 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13536 (grub_util_fd_write): ... this. Make global.
13537 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13538
87cf9744
VS
135392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * include/grub/list.h (grub_list_remove): Don't crash if element is
13542 removed twice.
13543
ca8c0baf
VS
135442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 Rename ofconsole to console.
13547
13548 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13549 as sysnonym to console.
13550 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13551 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13552 Rename grub_ofconsole_ to grub_console_. All users updated
13553 (grub_console_term_output): Rename "ofconsole" to "console".
13554 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13555 as "console".
13556
64c8b8f6
VS
135572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13560 handling.
13561 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13562 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13563 GRUB_DISK_DEVICE_FILE_ID.
13564
f6c434d5
VS
135652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13568 and improve performance.
13569
5858b42d
VS
135702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13573 missing ieee1275/ prefix on whole disk.
13574
4ed3c26b
VS
135752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13578 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13579
df71143e
VS
135802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13583
076e7c0f
VS
135842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 Merge common RAID and LVM logic to an abstract diskfilter.
13587 Add LDM support using the same framework.
13588
13589 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13590 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13591 (libgrubmods): Remove grub-core/disk/raid.c and
13592 grub-core/partmap/gpt.c.
13593 * grub-core/Makefile.core.def (ldm): New module.
13594 (raid): Renamed to diskfilter. All users updated.
13595 * grub-core/disk/raid.c: Moved to ...
13596 * grub-core/disk/diskfilter.c: ... here.
13597 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13598 (lv_num): New var.
13599 (find_array): Renamed to ...
13600 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13601 (grub_is_array_readable): Renamed to ...
13602 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13603 (insert_array): New argument id.
13604 (is_node_readable): New function.
13605 (scan_device): Rename to ...
13606 (scan_disk): .. this. Restrict to one disk.
13607 (scan_devices): New function.
13608 (grub_diskfilter_iterate): Support multi-LV.
13609 Skip invisible and nameless LVs.
13610 (grub_diskfilter_memberlist): Support multi-LV.
13611 (grub_diskfilter_read_node): New function.
13612 (grub_raid_read): Most of logic moved to ...
13613 (read_segment): ... here
13614 (read_lv): New function.
13615 (grub_diskfilter_get_vg_by_uuid): New function.
13616 (grub_diskfilter_make_raid): Likewise.
13617 * grub-core/disk/ldm.c: New file.
13618 * grub-core/disk/lvm.c (vg_list): Removed.
13619 (lv_count): Likewise.
13620 (scan_depth): Likewise.
13621 (is_lv_readable): Likewise.
13622 (grub_lvm_getvalue): Advance pointer past the number.
13623 (find_lv): Removed.
13624 (do_lvm_scan): Refactored into ...
13625 (grub_lvm_detect): ... this. Support raid.
13626 (grub_lvm_iterate): Removed.
13627 (grub_lvm_memberlist): Likewise.
13628 (grub_lvm_open): Likewise.
13629 (grub_lvm_close): Likewise.
13630 (read_lv): Likewise.
13631 (read_node): Likewise.
13632 (is_node_readable): Likewise.
13633 (is_lv_readable): Likewise.
13634 (grub_lvm_read): Likewise.
13635 (grub_lvm_write): Likewise.
13636 (grub_lvm_dev): Use diskfilter
13637 (GRUB_MOD_INIT): Likewise.
13638 (GRUB_MOD_FINI): Likewise.
13639 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13640 new interface.
13641 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13642 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13643 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13644 grub_diskfilter_read_node.
13645 Fix a bug with xor.
13646 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13647 grub_diskfilter_read_node.
13648 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13649 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13650 (grub_disk_dev_iterate): Move from here...
13651 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13652 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13653 Make global.
13654 (grub_hostdisk_find_partition_start): Likewise.
13655 (grub_hostdisk_os_dev_to_grub_drive): New function.
13656 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13657 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13658 * util/getroot.c (make_device_name): ... here.
13659 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13660 Move to ...
13661 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13662 * grub-core/kern/emu/hostdisk.c
13663 (convert_system_partition_to_system_disk): Move to ...
13664 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13665 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13666 * util/getroot.c (device_is_wholedisk): ... here.
13667 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13668 * util/getroot.c (find_system_device): ... here.
13669 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13670 Move to ...
13671 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13672 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13673 Move to ...
13674 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13675 Handle LDM.
13676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13677 Move to ...
13678 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13679 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13680 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13681 DISKFILTER.
13682 * include/grub/raid.h: Renamed to ...
13683 * include/grub/diskfilter.h: ... this.
13684 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13685 (GRUB_RAID_LAYOUT_*): Make into array.
13686 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13687 (grub_diskfilter_vg): New struct.
13688 (grub_diskfilter_pv_id): Likewise.
13689 (grub_raid_member): Removed.
13690 (grub_raid_array): Likewise.
13691 (grub_diskfilter_pv): New struct.
13692 (grub_diskfilter_lv): Likewise.
13693 (grub_diskfilter_segment): Likewise.
13694 (grub_diskfilter_node): Likewise.
13695 (grub_diskfilter_get_vg_by_uuid): New proto.
13696 (grub_raid_register): Inline.
13697 (grub_diskfilter_unregister): Likewise.
13698 (grub_diskfilter_make_raid): New proto.
13699 (grub_diskfilter_vg_register): Likewise.
13700 (grub_diskfilter_read_node): Likewise.
13701 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13702 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13703 (grub_util_is_ldm): Likewise.
13704 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13705 (grub_hostdisk_find_partition_start): Likewise.
13706 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13707 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13708 New definition.
13709 (grub_gpt_partition_map_iterate): New proto.
13710 * include/grub/lvm.h (grub_lvm_vg): Removed.
13711 (grub_lvm_pv): Likewise.
13712 (grub_lvm_lv): Likewise.
13713 (grub_lvm_segment): Likewise.
13714 (grub_lvm_node): Likewise.
13715 * util/getroot.c [...]
13716 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13717 (probe_abstraction): Likewise.
13718 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13719 (main): Remove dead logic.
13720
8a7f9b9c
VS
137212012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Simplify root device discover and don't fail when trying to open
13724 incorrect devices.
13725
13726 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13727 function.
13728 (get_diskname_from_path): Likewise.
13729 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13730 of iterating.
13731
30545b85
VS
137322012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13735
28ea58cf
VS
137362012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13739 pastthe end.
13740
692dabca
VS
137412012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * util/grub-install.in: Add missing \.
13744 Reported by: gentoofan
13745
f6e4ea70
VS
137462012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13749 (direct_read): Use correct compressed size.
13750 (grub_squash_read_data): Likewise.
13751
137522012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13753
13754 * docs/grub.texi (Platform limitations): New section.
13755 (Platform-specific operations): Likewise.
13756 * docs/grub-dev.texi (Porting): Likewise.
13757
76261110
VS
137582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 IEEE1275 disk write support.
13761
13762 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13763 const void *.
13764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13765 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13766 and seek loginc to ...
13767 (grub_ofdisk_prepare): ... here.
13768 (grub_ofdisk_write): Implement.
13769
fc36d603
VS
137702012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 ARC disk write support.
13773
13774 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13775 (reopen): New argument writable. All users updated.
13776 Handle required access mode.
13777 (grub_arcdisk_write): Implement.
13778 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13779 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13780
e06c2e7a
VS
137812012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13784 (read_sblock): Don't attempt to read superblocks outside the disk size.
13785
ff447958
VS
137862012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13789 first superblock to find the second one when possible.
13790
9e88df39
VS
137912012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * util/grub-install.in: Fix an ARC bug.
13794 Print a warning if no platform-specific setup is available.
13795
bb26e4ff
VS
137962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 Use static allocation rather than scratch pointer in reed_solomon.
13799 It decreases its size significantly and avoids a variable in .text.
13800
13801 * grub-core/lib/reed_solomon.c (scratch): Removed.
13802 (chosenstat): New const or static array.
13803 (sigma): Likewise.
13804 (errpot): Likewise.
13805 (errpos): Likewise.
13806 (sy): Likewise.
13807 (mstat): Likewise.
13808 (errvals): Likewise.
13809 (eqstat): Likewise.
13810 (pol_evaluate): Replace x with log_x argument. All users updated.
13811 (syndroms): Removed.
13812 (gauss_solve): Use statically allocated arrays.
13813 (rs_recover): Likewise.
13814 Calculate syndroms directly.
13815 (decode_block): Use statically allocated arrays.
13816 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13817 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13818
2e13ede5
VS
138192012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 Eliminate fixed limit on reed solomon decoder length.
13822
13823 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13824 rather than hardcoding the address.
13825 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13826 no_reed_solomon_length.
13827 Move gate_a20 to no-reed-solomon part.
13828 Don't force a particular size of no reed-solomon part.
13829 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13830 Removed.
13831 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13832 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13833
f8a9ab12
VS
138342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/commands/wildcard.c (match_files): Handle filenames
13837 without explicit device.
13838 (wildcard_expand): Don't add explicit device if not already present.
13839 * tests/grub_script_echo1.in: Add a new expansion test.
13840
87edb894
VS
138412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 Replace single-linked with double-linked lists. It results in more
13844 compact and more efficient code.
13845
13846 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13847 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13848 (grub_list_remove): Moved from here ...
13849 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13850 (grub_prio_list_insert): Set prev.
13851 * include/grub/list.h (grub_list): Add prev. All users updated.
13852
48b391e9
VS
138532012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 Handle newer autotools. Add some missing quotes while on it.
13856
13857 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
13858 (pkglib_DATA): Move grub-mkconfig_lib from here ...
13859 (pkgdata_DATA): ... here.
13860 * Makefile.util.def (update-grub_lib): Removed.
13861 * conf/Makefile.common (pkglib_DATA): Removed.
13862 (pkglib_SCRIPTS): Likewise.
13863 (pkgdata_DATA): New variable.
13864 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
13865 needed.
13866 Add missing quotes.
13867 Remove unused variable while on it.
13868 * tests/util/grub-shell.in: Likewise.
13869 * util/grub-install.in: Likewise.
13870 * util/grub-mkconfig.in: Likewise.
13871 * util/grub-mknetdir.in: Likewise.
13872 * util/grub-mkrescue.in: Likewise.
13873 * util/grub-mkstandalone.in: Likewise.
13874 * util/grub.d/00_header.in: Likewise.
13875 * util/grub.d/10_hurd.in: Likewise.
13876 * util/grub.d/10_illumos.in: Likewise.
13877 * util/grub.d/10_kfreebsd.in: Likewise.
13878 * util/grub.d/10_linux.in: Likewise.
13879 * util/grub.d/10_netbsd.in: Likewise.
13880 * util/grub.d/10_windows.in: Likewise.
13881 * util/grub.d/20_linux_xen.in: Likewise.
13882 * util/grub.d/30_os-prober.in: Likewise.
13883 * util/update-grub_lib.in: Removed.
13884
138852012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
13886
13887 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
13888 a workaround for intel problem.
13889
66832792
PRP
138902012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
138912012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
138922012-01-23 pfsmorigo
13893
13894 * util/grub-install.in: Support dd'in into PreP partition.
13895 * util/grub-probe.c (probe): Support discovering partition type.
13896 (main): Support -t msdos_parttype.
13897
7816a17e
VS
138982012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
13901 infinite recursion using counter.
13902 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
13903 init to skip it if the magic check fails.
13904 (dec_stream_header): Init s->crc32.
13905
8f9d3a8c
ZB
139062012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
139072012-01-22 Zachary Bedell <pendorbound@gmail.com>
139082012-01-22 Richard Laager <rlaager@wiktel.com>
13909
13910 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
13911 All users updated.
13912 (find_bestub): Determine correct size.
13913 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
13914 (scan_disk): Align the size down.
13915 Call check pool before find_bestub to have ashift.
13916
b055dd32
VS
139172012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
13920 dprintf in no-malloc zone.
13921
d779e9bd
ML
139222012-01-22 Mario Limonciello <mario_limonciello@dell.com>
13923
13924 * configure.ac: Add back in test for limits.h.
13925
b508af69
VS
139262012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 Support 4K-sector NTFS.
13929
13930 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
13931 (grub_ntfs_data): Remove blocksize.
13932 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
13933 Remove data argument. All users updated.
13934
dad9c8b5
VS
139352012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
13938 being in .text to avoid dprel references.
13939 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
13940 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
13941 (grub_arch_highmemsize): Likewise.
13942 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
13943 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
13944 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
13945
d43a777e
VS
139462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
13949
13950 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
13951 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
13952
34e4208f
VS
139532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
13956 GRUB_UTIL.
13957 (grub_set_datetime_cmos): Likewise.
13958
3ec0fc1c
VS
139592012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 Make XZ compression parameters dependent on target and not host CPU.
13962
13963 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
13964 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
13965
22489834
VS
139662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
13969 set but not used variable.
13970
8502fbca
VS
139712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
13974 created when no uuid support is compiled into mkfs.reiser.
13975
76df2068
VS
139762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
13979 (utf8_to_macroman): Do the opposite.
13980 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
13981
64e3f8f6
VS
139822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 * configure.ac: Refise build qemu_mips w/o unifont.
13985
9c271078
VS
139862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 Eliminate grub_min/grub_max prone to overflow usage.
13989
13990 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
13991 (poll_nonroot_hub): Likewise.
13992 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
13993 (grub_affs_label): Likewise.
13994 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
13995 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
13996 (grub_hfs_label): Likewise.
13997 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
13998 * grub-core/fs/zfs/zfs.c (MIN): Remove.
13999 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14000 (zap_leaf_array_get): Likewise.
14001 (dnode_get_path): Likewise.
14002 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14003 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14004 * grub-core/script/execute.c (grub_script_break): Likewise.
14005 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14006 grub_max.
14007 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14008 * include/grub/misc.h (grub_min): Removed.
14009 (grub_max): Likewise.
14010
80662dbc
VS
140112012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14012
14013 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14014 direct.inode = 0.
14015
e6da1467
VS
140162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14019
b1ac4cb1
VS
140202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14023
b4bf7c3b
VS
140242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14027 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14028
8ee1101a
VS
140292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14032 rather than a hack for grub_strncasemap.
14033
140342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 Support multiple initrds
14037 Note: part of this was accidently committed in r3739.
14038
14039 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14040 initrd.
14041 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14042 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14043 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14044 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14045 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14046
4d1e2bc9
VS
140472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14050 disks with unknown size.
14051 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14052
75b49ebe
VS
140532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 Remove defines pertaining to arbitrary limits not affecting GRUB
14056 anymore.
14057
14058 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14059 (EXT2_MAX_SYMLINKCNT): Likewise.
14060 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14061 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14062 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14063 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14064 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14065 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14066 (DN_MAX_OBJECT_SHIFT): Likewise.
14067 (DN_MAX_OFFSET_SHIFT): Likewise.
14068 (DN_MAX_OBJECT): Likewise.
14069 (DNODES_PER_LEVEL_SHIFT): Likewise.
14070 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14071 (SPA_MAXBLOCKSIZE): Likewise.
14072 (SPA_BLOCKSIZES): Likewise.
14073 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14074 (MZAP_MAX_BLKSZ): Likewise.
14075
74a1dce7
VS
140762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14079 handle NULL appropriately.
14080 Remove MIN.
14081
30c7d3ce
VS
140822012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 Fix efiemu.
14085
14086 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14087 cpu/types.h.
14088 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14089 * configure.ac: Fix efiemu check.
14090
3c76ea0c
VS
140912012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14094 grub_probe.
14095 Reported by: adamwill
14096
7e532280
SG
140972012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14098
14099 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14100
30492374
VS
141012012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 Fix handling of wide characters in gfxterm.
14104
14105 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14106 (clear_char): Likewise.
14107 (paint_char): Skip code == NULL chars.
14108 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14109
e70cb72f
VS
141102012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * grub-core/normal/charset.c: Move comment to right place.
14113
5c827cf9
VS
141142012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14117 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14118 (grub_affs_mount): Revert the correct version checking.
14119
53603892
VS
141202012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * docs/grub.texi (Unicode): Mention several other unsupported features.
14123
ff094b9b
VS
141242011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14127 case statements as compile-time one.
14128 (direct_read): Prevent spurious warnings.
14129 (grub_squash_read_data): Likewise.
14130
c029da8a
VS
141312011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Various squash4 fixes and LZO and XZ support.
14134
14135 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14136 Add xzembed source files.
14137 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14138 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14139 (grub_squash_inode): New subtype long_dir.
14140 (SQUASH_TYPE_LONG_DIR): New inode type.
14141 (COMPRESSION): New enum.
14142 (XZBUFSIZ): New const.
14143 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14144 (read_chunk): Use data->decompress.
14145 (zlib_decompress): New function.
14146 (lzo_decompress): Likewise.
14147 (xz_decompress): Likewise.
14148 (squash_mount): Set new data fields.
14149 (grub_squash_iterate_dir): Handle long dir.
14150 (squash_unmount): Free xzdec and xzbuf.
14151 (grub_squash_open): Check ino type.
14152 (direct_read): Stylistic fixes. Use data->decompress.
14153 (grub_squash_read_data): Likewise.
14154 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14155 (get_byte): Likewise.
14156 (grub_zlib_disk_read): Removed.
14157 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14158 (GRUB_POSIX_BOOL_DEFINED): New define.
14159 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14160 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14161 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14162 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14163
7a45a539
VS
141642011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 Don't override more informative errors.
14167
14168 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14169 * grub-core/font/font.c (open_section): Likewise.
14170 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14171 filename. Don't override errors.
14172 (grub_cmd_openbsd_ramdisk): Don't override errors.
14173 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14174 (grub_cmd_initrd): Likewise.
14175 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14176 (grub_cmd_initrd): Likewise.
14177 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14178 (grub_cmd_linux): Likewise.
14179 (grub_cmd_initrd): Likewise.
14180 (grub_cmd_payload): Likewise.
14181 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14182 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14183 (grub_cmd_module): Likewise.
14184 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14185 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14186 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14187 (grub_cmd_xnu_mkext): Likewise.
14188 (grub_cmd_xnu_ramdisk): Likewise.
14189 (grub_xnu_check_os_bundle_required): Likewise.
14190 (grub_xnu_load_kext_from_dir): Likewise.
14191 (grub_cmd_xnu_kextdir): Likewise.
14192 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14193
b2d004db
VS
141942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14197 as 1024 in block size field. Found on one of my test images.
14198 Small optimisation while on it.
14199
ec000eac
VS
142002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14203 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14204 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14205 performance fixes while on it.
14206 (grub_sfs_close): Fix memory leak while on it.
14207 (grub_sfs_label): Convert Latin1 to UTF-8.
14208
f50e1165
VS
142092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14212 space to avoid overflows.
14213 (grub_hfs_label): Convert from macroman to UTF-8.
14214
2ae254de
VS
142152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14218
0108f491
VS
142192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14222
f45f5f89
VS
142232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * unicode: Import Unicode 6.0 data.
14226
4d8c4765
VS
142272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14228
63fa8ef9
VS
14229 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14230 outside of range.
14231
142322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14235
14236 * include/grub/charset.h (grub_getend): New function.
14237 * grub-core/script/function.c (grub_script_function_find): Use
14238 grub_getend.
14239 * grub-core/normal/completion.c (add_completion): Likewise.
14240
f3cb4a4e
VS
142412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14244 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14245 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14246 (GRUB_UNICODE_TAG_END): Likewise.
14247 (GRUB_UNICODE_LAST_VALID): Likewise.
14248
5da8dbc5
VS
142492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14252 len and make it smaller. All users updated.
14253 * util/import_unicode.py: Put length and not end character.
14254 Check length.
14255
8569f13d
VS
142562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 Make better Unicode-compliant and unify some UTF-8 code pathes.
14259
14260 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14261 valid character.
14262 (grub_is_valid_utf8): Use grub_utf8_process.
14263 Check resulting code range.
14264 (grub_utf8_to_ucs4): Use grub_utf8_process.
14265 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14266 valid character.
14267
cc4fddf5
VS
142682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14271
bbc47747
VS
142722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * docs/grub.texi (Filesystems): Mention AFS.
14275
f63d6bf4
VS
142762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * docs/grub.texi (Filesystems): Clarify restrictions.
14279 (Regexp): Mention non-Unicode regexp behaviour.
14280 (Other): Mention non-Unicode matching behaviour.
14281
74bbf0db
VS
142822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14283
f63d6bf4 14284 Make HFS implementation use MacRoman.
74bbf0db
VS
14285
14286 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14287 (macroman): New const array.
14288 (macroman_to_utf8): New function.
14289 (utf8_to_macroman): Likewise.
14290 (grub_hfs_find_dir): Use utf8_to_macroman.
14291 (grub_hfs_dir): Use macroman_to_utf8.
14292 Set case_insensitive.
14293
4ea0316e
VS
142942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14297
d3c13cbd
VS
142982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 Integrate hints into autogeneration scripts.
14301
14302 * docs/grub.texi (Filesystems): Add a hostdisk example.
14303 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14304 (grub-probe): Add ofpath.
14305 * gentpl.py: Remove group nosparc64.
14306 * grub-core/commands/search.c (cache_entry): New struct.
14307 (cache): New var.
14308 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14309 * grub-core/commands/search_wrap.c (options): Add platform-specific
14310 hint options.
14311 (grub_cmd_search): Handle platform-specific hints.
14312 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14313 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14314 (grub_util_biosdisk_data): Likewise.
14315 (grub_util_biosdisk_open): Set device_map.
14316 (read_device_map): Handle "" as indication of no map.
14317 Set device_map.
14318 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14319 (grub_util_biosdisk_get_compatibility_hint): New function.
14320 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14321 * include/grub/emu/hostdisk.h
14322 (grub_util_biosdisk_get_compatibility_hint): New proto.
14323 * util/grub-install.in: Don't call grub-mkdevicemap.
14324 Add platform-specific hint to load.cfg.
14325 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14326 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14327 hints. Set root preliminary to compatibility hint, not to OS name.
14328 * util/grub-probe.c (PRINT_*): Add hints.
14329 (print): Make static.
14330 (escape_of_path): New function.
14331 (guess_bios_drive): Likewise.
14332 (guess_efi_drive): Likewise.
14333 (guess_baremetal_drive): Likewise.
14334 (print_full_name): Likewise.
14335 (probe): Handle hints.
14336 (main): Likewise.
14337 * util/ieee1275/devicemap.c: Removed.
14338 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14339 updated.
14340 (grub_util_devname_to_ofpath): Return NULL on failure.
14341
14342 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14343 resource leak.
14344 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14345
14346 * po/POTFILES.in: Regenerated.
14347
14348 Allow purely long options
14349
14350 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14351 (SHORT_ARG_USAGE): Likewise.
14352 (grub_arg_show_help): Compare opt with help_options.
14353 (parse_option): Receive opt as argument. If makes big simplificatons.
14354 All users updated
14355
00ce2df3
VS
143562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14359 Restructure to avoid warning.
14360
e77e325f
VS
143612011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 * util/grub-install.in: Account for possible escaped comma in device
14364 name.
14365
165099ea
VS
143662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14369 channel.
14370
ce4a999d
VS
143712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14374 allocation and zero-setting.
14375 (grub_ieee1275_get_devname): Check that alias is complete.
14376
379586ad
VS
143772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14380 unaligned segments.
14381
9197b0ad
VS
143822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14385 prefix.
14386 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14387 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14388 Add ieee1275 prefix.
14389
edddb7f9
VS
143902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * docs/grub.texi (Filesystems): Update.
14393
a1a8b1b9
VS
143942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 Support odc, newc and bigendian cpio formats.
14397
14398 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14399 * grub-core/Makefile.core.def (newc): New module.
14400 (odc): Likewise.
14401 (cpio_be): Likewise.
14402 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14403 (MAGIC): Likewise.
14404 (MAGIC2): Likewise.
14405 (head) [MODE_ODC]: Adapt for the format.
14406 (head) [MODE_NEWC]: Likewise.
14407 (head) [!MODE_*]: Write fields of interest as arrays.
14408 (MAGIC_USTAR): Removed.
14409 (read_number) [MODE_NEWC]: Change to hex.
14410 (read_number) [!MODE_*]: Parse binary arrays.
14411 (grub_cpio_find_file): Factor out the code for better structure and
14412 always use read_number.
14413 (grub_cpio_mount): Use MAGIC and MAGIC2.
14414 (grub_cpio_dir): Exit on first hook non-0 return.
14415 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14416 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14417 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14418 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14419 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14420 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14421 * grub-core/fs/newc.c: New file.
14422 * grub-core/fs/odc.c: Likewise.
14423 * grub-core/fs/cpio_be.c: Likewise.
14424
58eba9ee
VS
144252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 Fix handling of tar numbers occupying the whole field.
14428
14429 * grub-core/fs/cpio.c (read_number): New function.
14430 (grub_cpio_find_file): Use read_number instead of strtoull.
14431
a54a0e12
VS
144322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14435 occupying the whole field size.
14436
a6120aca
LA
144372011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14438
14439 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14440
a93964ce
VS
144412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14444
3ea1ca46
SG
144452011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14446
14447 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14448 TARGET_IMG_LDFLAGS.
14449
b87f7ef2
VS
144502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14453 (mountinfo_entry): Increase the field size to take escaping into
14454 account.
14455 (find_root_device_from_libzfs): Add one byte to size of strings for
14456 security.
14457
62092395
VS
144582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14461 an assert.
14462 * util/grub-setup.c (setup): Likewise.
14463
1f0b1a77
VS
144642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14467 _LzmaDecodeA.
14468
8eba9997
VS
144692011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * docs/grub.texi (Internationalisation): New section.
14472
dd0c91e9
VS
144732011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * docs/grub.texi (Loopback booting): New section.
14476
144772011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14478
14479 * util/grub-mkstandalone.in: Fix minor typo errors.
14480
198e150a
VS
144812011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14482
14483 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14484
14485 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14486 net/icmp.c and net/icmp6.c.
14487 (http): New module.
14488 (priority_queue): Likewise.
14489 * grub-core/io/bufio.c: Rewritten.
14490 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14491 TYPE_WITH_CONFIGFILE_OPTION.
14492 (legacy_commands): Add bootp and dhcp.
14493 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14494 (grub_legacy_parse): Likewise.
14495 * grub-core/lib/priority_queue.c: New file.
14496 * grub-core/net/arp.c: Add missing license header.
14497 (arp_find_entry): Removed.
14498 (arp_find_entry): Likewise.
14499 (grub_net_arp_resolve): Rename to ...
14500 (grub_net_arp_send_request): ...this.
14501 (grub_net_arp_receive): New card argument.
14502 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14503 Set router and DNS server.
14504 (grub_net_configure_by_dhcp_ack): Handle routing information.
14505 (grub_cmd_bootp): Set checksum.
14506 (grub_bootp_init): Remove net_dhcp.
14507 * grub-core/net/dns.c: New file.
14508 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14509 completion.
14510 (get_card_packet): Handle allocation.
14511 (grub_efinet_findcards): Set mtu.
14512 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14513 (get_card_packet): Handle allocation.
14514 (emucard): Set mtu.
14515 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14516 (GRUB_MOD_INIT): Set mtu.
14517 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14518 mtu.
14519 (get_card_packet): Handle allocation.
14520 (grub_ofnet_findcards): Set mtu.
14521 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14522 assert.
14523 (grub_net_recv_ethernet_packet): Handle IPv6.
14524 * grub-core/net/http.c: New file.
14525 * grub-core/net/icmp.c: Likewise.
14526 * grub-core/net/icmp6.c: Likewise.
14527 * grub-core/net/ip.c (ip6addr): New type.
14528 (ip6hdr): Likewise.
14529 (reassemble): Likewise.
14530 (cmp): New function.
14531 (reassembles): New variable.
14532 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14533 (id): New variable.
14534 (send_fragmented): New function.
14535 (grub_net_send_ip_packet): Rename to ...
14536 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14537 Handle non-UDP.
14538 (grub_net_recv_ip_packets): Rename to ...
14539 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14540 (free_rsm): New function.
14541 (free_old_fragments): Likewise.
14542 (grub_net_recv_ip4_packets): New function.
14543 (grub_net_send_ip6_packet): Likewise.
14544 (grub_net_send_ip_packet): Likewise.
14545 (grub_net_recv_ip6_packets): Likewise.
14546 (grub_net_recv_ip_packets): Likewise.
14547 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14548 (LINK_LAYER_CACHE_SIZE): New const.
14549 (link_layer_find_entry): New function.
14550 (grub_net_link_layer_add_address): Likewise.
14551 (grub_net_link_layer_resolve_check): Likewise.
14552 (grub_net_link_layer_resolve): Likewise.
14553 (grub_net_ipv6_get_slaac): Likewise.
14554 (grub_net_ipv6_get_link_local): Likewise.
14555 (grub_cmd_ipv6_autoconf): Likewise.
14556 (parse_ip): Handle one number representation.
14557 (parse_ip6): New functoion.
14558 (match_net): Handle IPv6.
14559 (grub_net_resolve_address): Handle IPv6 and DNS.
14560 (grub_net_resolve_net_address): Handle IPv6.
14561 (route_cmp): New function.
14562 (grub_net_route_address): Find best route.
14563 (grub_net_addr_to_str): Handle IPv6.
14564 (grub_net_addr_cmp): New function.
14565 (grub_net_add_addr): Register local route.
14566 (print_net_address): Handle net address.
14567 (grub_net_poll_cards): Retransmit TCP.
14568 (grub_net_poll_cards_idle_real): Likewise.
14569 (have_ahead): New function.
14570 (grub_net_seek_real): Use underlying seek.
14571 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14572 * grub-core/net/tcp.c: New file.
14573 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14574 (cmp): New function.
14575 (ack): Likewise.
14576 (tftp_receive): Handle unordered input.
14577 (destroy_pq): New function.
14578 (tftp_close): Close pq.
14579 * grub-core/net/udp.c: Put missing license header.
14580 (grub_net_udp_socket): New function.
14581 (udp_socket_register): Likewise.
14582 (grub_net_udp_close): Likewise.
14583 (grub_net_recv_udp_packet): Check checksum.
14584 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14585 * include/grub/misc.h (grub_memchr): New function.
14586 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14587 (grub_net_card_driver): Return buf in recv.
14588 (grub_net_slaac_mac_list): New struct.
14589 (grub_network_level_protocol_id): Add ipv6.
14590 (grub_net_network_level_addr): Likewise.
14591 (grub_net_network_level_net_addr): Likewise.
14592 (grub_net_app_protocol): Add seek.
14593 (grub_net_socket): Removed.
14594 (grub_net_sockets): Likewise.
14595 (grub_net_socket_register): Likewise.
14596 (grub_net_socket_unregister): Likewise.
14597 (FOR_NET_SOCKETS): Likewise.
14598 (grub_net_add_addr): Add const.
14599 (GRUB_NET_BOOTP_*): New enum.
14600 (grub_net_addr_cmp): New proto.
14601 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14602 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14603 (grub_net_hwaddr_to_str): NEw proto.
14604 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14605 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14606 (grub_dns_init): New proto.
14607 (grub_dns_fini): Likewise.
14608 (grub_net_tcp_retransmit): Likewise.
14609 (grub_net_link_layer_add_address): Likewise.
14610 (grub_net_link_layer_resolve_check): Likewise.
14611 (grub_net_link_layer_resolve): Likewise.
14612 (grub_net_dns_lookup): Likewise.
14613 (grub_net_add_dns_server): Likewise.
14614 (grub_net_remove_dns_server): Likewise.
14615 (GRUB_NET_TRIES): New const.
14616 (GRUB_NET_INTERVAL): Likewise.
14617 * include/grub/net/arp.h: Mostly rewritten.
14618 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14619 * include/grub/net/ip.h: Mostly rewritten.
14620 * include/grub/net/netbuff.h: Indent.
14621 * include/grub/net/tcp.h: New file.
14622 * include/grub/net/udp.h: Mostly rewritten.
14623 * include/grub/priority_queue.h: New file.
14624 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14625 (grub_swap_bytes64_compile_time): Likewise.
14626 (grub_cpu_to_be16_compile_time): Likewise.
14627 (grub_cpu_to_be32_compile_time): Likewise.
14628 (grub_cpu_to_be64_compile_time): Likewise.
14629 (grub_be_to_cpu64_compile_time): Likewise.
14630
215c1800
VS
146312011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14634 UINT_TO_PTR with cast.
14635
c17e546c
VS
146362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14639 don't use them.
14640
ff6b18b6
VS
146412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14644 already there.
14645
70ffcc93
VS
146462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14647
14648 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14649 confusing ipxe.
14650
e5f4d260
VS
146512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14654 Add missing const attribute.
14655 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14656 Likewise.
14657 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14658 Likewise.
14659
8e54b4b7
VS
146602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14663 misaligned access.
14664 (serpent_setkey): Likewise.
14665 (serpent_encrypt_internal): Likewise.
14666 (serpent_decrypt_internal): Likewise.
14667 (serpent_encrypt): Don't put an alignment-increasing cast.
14668 (serpent_decrypt): Likewise.
14669 (serpent_test): Likewise.
14670
813c0a2b
VS
146712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14674
f2b60fbd
VS
146752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14678
14679 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14680 grub_addr_t casts.
14681 (PTR_TO_UINT64): Likewise.
14682 (PTR_TO_UINT32): Likewise.
14683
5ef5c511
VS
146842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14687 because of stack.
14688 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14689 limit.
14690
c476e6df
VS
146912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14694 text_width > available width a bit more gracefully.
14695
384ad7cc
VS
146962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14699 current address calculation.
14700
96f8caf8
VS
147012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14704 stack.
14705 (encode_block): Likewise.
14706
276b7a8b
VS
147072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14710 certainety.
14711
e3fd394a
VS
147122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14713
14714 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14715 non-RS part to avoid RS messing with GDT.
14716 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14717 Increase to suit in realmode routines.
14718
147192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * grub-core/kern/i386/realmode.S: Increase alignment.
14722 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14723
ee9c2e7a
VS
147242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14725
14726 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14727 be deterministic.
14728 (syndroms): Compute 0 syndrom.
14729 (rs_recover): Use 0 syndrom.
14730
7a7f7cc9
VS
147312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14734
a14b16d1
VS
147352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14738 brackets.
14739
9f59e9fc
VS
147402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14741
ca1b552c
VS
14742 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14743 account.
14744 (get_top_pad): Likewise.
14745 (get_right_pad): Likewise.
14746 (get_bottom_pad): Likewise.
14747
147482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14751
e739d698
VS
147522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14755 attribute as the structure isn't guaranteed to be properly aligned.
14756 (grub_efi_pci_device_path): Likewise.
14757 (grub_efi_pccard_device_path): Likewise.
14758 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14759 specify the size of `memory_type'.
14760 (grub_efi_vendor_device_path): Likewise.
14761 (grub_efi_controller_device_path): Likewise.
14762 (grub_efi_acpi_device_path): Likewise.
14763 (grub_efi_expanded_acpi_device_path): Likewise.
14764 (grub_efi_atapi_device_path): Likewise.
14765 (grub_efi_scsi_device_path): Likewise.
14766 (grub_efi_fibre_channel_device_path): Likewise.
14767 (grub_efi_1394_device_path): Likewise.
14768 (grub_efi_usb_device_path): Likewise.
14769 (grub_efi_usb_class_device_path): Likewise.
14770 (grub_efi_i2o_device_path): Likewise.
14771 (grub_efi_mac_address_device_path): Likewise.
14772 (grub_efi_ipv4_device_path): Likewise.
14773 (grub_efi_ipv6_device_path): Likewise.
14774 (grub_efi_infiniband_device_path): Likewise.
14775 (grub_efi_uart_device_path): Likewise.
14776 (grub_efi_vendor_messaging_device_path): Likewise.
14777 (grub_efi_hard_drive_device_path): Likewise.
14778 (grub_efi_cdrom_device_path): Likewise.
14779 (grub_efi_vendor_media_device_path): Likewise.
14780 (grub_efi_file_path_device_path): Likewise.
14781 (grub_efi_protocol_device_path): Likewise.
14782 (grub_efi_piwg_device_path): Likewise.
14783 (grub_efi_bios_device_path): Likewise.
14784
cb8f88ea
VS
147852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14788 (grub_ucs4_to_utf8_alloc): Likewise.
14789 (grub_ucs4_to_utf8): Likewise.
14790 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14791 (grub_ucs4_to_utf8_alloc): Likewise.
14792
309e5352
VS
147932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 AFFS never uses unicode.
14796
14797 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14798 (grub_latin1_to_utf8): New inline function.
14799 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14800
e7987e1b
VS
148012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14804 overflow.
14805
efc2616e
VS
148062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14809 (grub_squash_dirent_header): Likewise.
14810 (read_chunk): Don't double swap.
14811 (grub_squash_iterate_dir): Fix swap sizes.
14812
3c349f5a
VS
148132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14816
b453412d
VS
148172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14820 (grub_hfs_iterate_dir): Likewise.
14821
12e9d4d1
VS
148222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 Fix video on platforms where unaligned access is forbidden.
14825 Make several optimisations while on it.
14826
14827 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14828 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14829 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14830 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14831 Disable.
14832 (grub_video_fbblit_replace_16bit_1bit):
14833 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14834 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14835 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14836 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14837 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14838 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14839 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14840 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14841 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14842 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14843 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14844 (grub_video_fbblit_replace_index_RGB888): Likewise.
14845 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14846 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14847 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14848 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14849 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14850 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14851 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14852 Disable.
14853 (grub_video_fbblit_blend_XXX565_1bit):
14854 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14855 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
14856 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
14857 void *.
14858 * grub-core/video/fb/video_fb.c (common_blitter)
14859 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
14860 (grub_video_fb_create_render_target_from_pointer)
14861 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
14862 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
14863 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
14864 definition.
14865 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
14866
ace96609
VS
148672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
14870 HH22 and HM10 relocations.
14871
fd261d73
VS
148722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
14875
e59b7857
VS
148762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
14879 allocation succeeded.
14880
9b4baaa4
VS
148812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
14884 argument a u8 pointer. All users updated.
14885 Handle unaligned buffers.
14886
dc713193
VS
148872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
14890 add_part to workaround compiler bug.
14891
30dd48c2
VS
148922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
14895
0c6087a8
VS
148962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
14899 Reserve alignment invariants.
14900 (grub_multiboot_load): Likewise.
14901 (retrieve_video_parameters): Likewise.
14902 (grub_multiboot_make_mbi): Likewise.
14903
c2e77777
VS
149042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
14907 incorrect pointer.
14908
b70b6d11
VS
149092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
14912 (grub_pata_pio_write): Likewise.
14913
02a2bf83
VS
149142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 Add noreturn attributes and remove unreachable code.
14917
14918 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
14919 code.
14920 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
14921 code. Mark as noreturn.
14922 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
14923 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
14924 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
14925 unreachable code.
14926 * grub-core/kern/main.c (grub_main): Mark as noreturn.
14927 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
14928 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
14929 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
14930 * include/grub/kernel.h (grub_main): Mark as noreturn.
14931 * include/grub/reader.h (grub_rescue_run): Likewise.
14932
2019d09e
VS
149332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
14936 redundant declaration.
14937
d1c501ee
VS
149382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * include/grub/net.h (grub_net_network_level_interfaces): Remove
14941 redundant declaration.
14942 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
14943
61664420
VS
149442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
14947 to ensure alignment.
14948 (grub_hdparm_print_identify): Make argument uint16 * to ensure
14949 alignment. Ensure tmp alignment.
14950 (grub_cmd_hdparm): Ensure buf alignment.
14951 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
14952 to ensure alignment.
14953 (grub_ata_dumpinfo): Ensure text alignment.
14954 (grub_atapi_identify): Preserve alignment invariant.
14955 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
14956
0d51ee20
VS
149572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
14960 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
14961 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
14962 * include/grub/misc.h (grub_reboot)
14963 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
14964 (grub_halt) [__mips__]: Likewise.
14965
753ef8c1
VS
149662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
14969 Remove redundant declaration.
14970 (grub_mmap_get_post64): Likewise.
14971 (grub_mmap_get_upper): Likewise.
14972 (grub_mmap_get_lower): Likewise.
14973
85c85365
VS
149742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
14977 uint32_t * to ensure alignment.
14978 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
14979
a23f2cc4
VS
149802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14981
93018f64
VS
14982 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
14983 uint16_t * to ensure alignment.
14984 (sun_pc_partition_map_iterate): Make `block' a union to ensure
14985 alignment.
14986
149872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
14990 to ensure alignment.
14991 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
14992
58acccd6
VS
149932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/fs/ntfs.c (u16at): Make into inline function.
14996 Handle unaligned pointers.
14997 (u32at): Likewise.
14998 (u64at): Likewise.
14999 (fixup): Use byte access instead of v16at.
15000 (find_attr): Fix imporper usage of v32at.
15001 (read_data): Likewise.
15002 (list_file): Handle byte-swapping and unaligned strings.
15003 (grub_ntfs_label): Likewise.
15004
9b05cad7
VS
150052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15008 as it's not necessarily aligned.
15009
b3950b84
VS
150102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15013 redundant declaration.
15014 (grub_serial_init): Likewise.
15015 (grub_terminfo_init): Likewise.
15016
fcd232b7
VS
150172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15020 function.
15021 (ZAP_HASH_IDX): Likewise.
15022 (ZAP_LEAF_HASH_SHIFT): Likewise.
15023 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15024 (LEAF_HASH): Likewise.
15025 (ZAP_LEAF_NUMCHUNKS): Likewise.
15026 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15027 alignment invariants. Return pointer. All users updated.
15028 (ZAP_LEAF_ENTRY): Make into inline function.
15029 (NBBY): Removed.
15030 (xor): LIkewise.
15031 (xor_out): Use grub_crypto_xor.
15032 (dnode_get_path): Use grub_get_unaligned.
15033 (nvlist_find_value): Likewise.
15034 (grub_zfs_nvlist_lookup_uint64): Likewise.
15035 (grub_zfs_nvlist_lookup_string): Likewise.
15036 (get_nvlist_size): Likewise.
15037 (grub_zfs_open): Likewise.
15038 (fill_fs_info): Likewise.
15039 (grub_zfs_dir): Likewise.
15040 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15041 alignment invariants.
15042 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15043 necessarily aligned.
15044
f138623a
VS
150452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15046
15047 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15048
564840dc
VS
150492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15052 arithmetic to conserve alignment invariants.
15053
9b40df20
VS
150542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15057 redundant declaration.
15058 (grub_efiemu_mm_obtain_request): Likewise.
15059 (grub_efiemu_prepare): Likewise.
15060
d1c930f9
VS
150612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15064 to match types.
15065
4c5f3056
VS
150662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15069 case of aunaligned recptr.
15070 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15071 alignment.
15072 (grub_hfsplus_btree_search): Handle unaligned index.
15073
728cba91
VS
150742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15077 to get freetag and skip.
15078
eb561f31
VS
150792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15082 array.
15083 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15084 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15085
20993fbb
VS
150862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15089 name for checksum and fix allocation algorithm.
15090
1f313b94
VS
150912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * include/grub/types.h (grub_properly_aligned_t): New type.
15094 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15095 (grub_get_unaligned16): Add explicit casts.
15096 (grub_get_unaligned32): Likewise.
15097 (grub_get_unaligned64): Likewise.
15098 (grub_set_unaligned16): New function.
15099 (grub_set_unaligned32): Likewise.
15100
47ae27ec
VS
151012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15104
78c2cd1c
VS
151052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15108 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15109 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15110
53072f9b
VS
151112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15114 conditionals.
15115
055dc239
VS
151162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15119 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15120
496bd074
VS
151212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 Unify and improve RAID and crypto xor.
15124
15125 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15126 changed to grub_crypto_xor
15127 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15128 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15129 Use bigger types when possible.
15130
ef6e4335
VS
151312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 * grub-core/disk/raid.c (scan_devices): Fix condition.
15134
5d048bf2
VS
151352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15138 Make name a const ptr.
15139
ee533335
VS
151402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15143 first argument a const pointer.
15144 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15146 proto.
15147 (grub_children_iterate): Likewise.
15148 (grub_machine_mmap_iterate): Remove redundant declaration.
15149
cc8f3668
VS
151502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15153 (grub_cmd_acpi) [!x86]: Disable EBDA.
15154
c5fc563a
VS
151552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 Enable UTF8 in gnulib regexp.
15158
15159 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15160 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15161 (isupper): Use grub_isupper.
15162 (isascii): New inline function.
15163 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15164 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15165 * grub-core/normal/charset.c (grub_utf8_process): New function.
15166 (grub_utf8_to_utf16): Use grub_utf8_process.
15167 (grub_encode_utf8_character): New function.
15168 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15169 * include/grub/charset.h (grub_utf8_process): New declaration.
15170 (grub_encode_utf8_character): Likewise.
15171 * include/grub/misc.h (grub_islower): New inline function.
15172 (grub_isupper): Likewise.
15173 (grub_strchrsub): Moved down to fix the definitions.
15174
0af2346f
VS
151752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15178 specification.
15179
74dbd244
VS
151802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 * include/grub/loader.h (grub_loader_register_preboot_hook):
15183 Use struct preboot * and not void * for handle. All users updated.
15184 (grub_loader_unregister_preboot_hook): Likewise.
15185
1bc8f60d
VS
151862011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15189 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15190 UTF-16-BE. All users updated.
15191 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15192 (grub_hfsplus_iterate_dir): Likewise.
15193 (grub_hfsplus_label): Likewise.
15194
48d6e456
VS
151952011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15198
bf3a3857
VS
151992011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 Add missing const qualifiers.
15202
15203 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15204 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15205 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15206 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15207 (grub_lvm_check_flag): Likewise.
15208 * grub-core/efiemu/i386/coredetect.c
15209 (grub_efiemu_get_default_core_name): Likewise
15210 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15211 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15212 * grub-core/fs/ntfs.c (fixup): Likewise.
15213 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15214 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15215 (fzap_lookup): Likewise.
15216 (zap_lookup): Likewise.
15217 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15218 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15219 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15220 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15221 (grub_freebsd_add_meta_module): Likewise.
15222 (grub_cmd_freebsd_module): Likewise.
15223 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15224 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15225 (grub_xnu_writetree_get_size): Likewise.
15226 (grub_xnu_writetree_toheap_real): Likewise.
15227 (grub_xnu_find_key): Likewise.
15228 (grub_xnu_create_key): Likewise.
15229 (grub_xnu_create_value): Likewise.
15230 (grub_xnu_register_memory): Likewise.
15231 (grub_xnu_check_os_bundle_required): Likewise.
15232 (grub_xnu_scan_dir_for_kexts): Likewise.
15233 (grub_xnu_load_kext_from_dir): Likewise.
15234 * grub-core/normal/color.c (color_list): Likewise.
15235 * grub-core/normal/completion.c (current_word): Likewise.
15236 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15237 * grub-core/term/serial.c (grub_serial_find): Likewise.
15238 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15239 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15240 Likewise.
15241 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15242 (grub_freebsd_add_meta_module): Likewise.
15243 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15244 * include/grub/net.h (grub_net_card_driver): Likewise.
15245 (grub_net_card): Likewise.
15246 (grub_net_app_protocol): Likewise.
15247 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15248 * include/grub/serial.h (grub_serial_find): Likewise.
15249 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15250 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15251 (grub_xnu_create_value): Likewise.
15252 (grub_xnu_find_key): Likewise.
15253 (grub_xnu_scan_dir_for_kexts): Likewise.
15254 (grub_xnu_load_kext_from_dir): Likewise.
15255
15256 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15257 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15258 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15259 Moved from here ...
15260 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15261
112b4837
CW
152622011-11-28 Colin Watson <cjwatson@ubuntu.com>
15263
15264 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15265
49e891ac
VS
152662011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15269 (read_device): Fix size calculation.
15270
fd258e5c
RM
152712011-11-25 Robert Millan <rmh@gnu.org>
15272
15273 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15274 (find_root_device_from_libzfs): Add zpool output parser to be used
15275 as fallback when libzfs isn't available.
15276
78845dc2
SG
152772011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15278
15279 * po/Makefile.in.in: Add missing escape-continuation.
15280
adac5211
VS
152812011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15284
10b64f1c
VS
152852011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15288
bb416954
VS
152892011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15292
bdfe9eeb
VS
152932011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15296
581ffa8a
VS
152972011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * grub-core/lib/adler32.c: Add missing license specification.
15300 * grub-core/lib/crc64.c: Likewise.
15301 * grub-core/loader/i386/pc/plan9.c: Likewise.
15302 * grub-core/partmap/plan.c: Likewise.
15303
2536cf64
LK
153042011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15305
15306 Add facility to debug GRUB with gdb under qemu.
15307
15308 * grub-core/gdb_grub.in: New file.
15309 * grub-core/gmodule.pl.in: Likewise.
15310 * grub-core/Makefile.core.def (gmodule.pl): New script.
15311 (gdb_grub): Likewise.
15312
bc108a4a
VS
153132011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * util/grub-mount.c (argp_parser): Accept relative pathes.
15316 * util/grub-fstest.c (argp_parser): Likewise.
15317
111c1778
VS
153182011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 Plan9 support.
15321
15322 * Makefile.util.def (libgrubmods): Add
15323 grub-core/partmap/plan.c.
15324 * docs/grub.texi: Notice Plan9 support.
15325 * grub-core/Makefile.core.def (plan9): New module.
15326 (part_plan): Likewise.
15327 * grub-core/loader/i386/pc/plan9.c: New file.
15328 * grub-core/partmap/plan.c: Likewise.
15329 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15330 define.
15331 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15332 * include/grub/mm.h (grub_extend_alloc): New inline function.
15333
c30be3b6
VS
153342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 Make Reed-Solomon faster by using power of generator representation of
15337 GF(256)*.
15338
15339 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15340 (gf_double_t): Likewise.
15341 (gf_invert): Removed.
15342 (gf_powx): New array.
15343 (gf_powx_inv): Likewise.
15344 (scratch): Move higher.
15345 (gf_reduce): Removed.
15346 (gf_mul): Use powx.
15347 (gf_invert): Likewise.
15348 (init_inverts): Replaced with ...
15349 (init_powx): ...this. All users updated.
15350 (pol_evaluate): Replace multiplications with additions.
15351 (rs_encode): Likewise.
15352 (gauss_eliminate): Call gf_invert.
15353 (grub_reed_solomon_add_redundancy): Call init_powx.
15354 (grub_reed_solomon_recover): Call init_powx unconditionally.
15355
fa5aeffc
VS
153562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15359
a346b81c
VS
153602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15363 disk->partiton for safety.
15364
d89ee414
VS
153652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15368 Fix a memory leak.
15369 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15370
91ee7b6d
VS
153712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15374
91e5a33d
VS
153752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15378
9edd7be2
VS
153792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 Fix spaces handling in proc/self/mountinfo.
15382
15383 * util/getroot.c (unescape): New function.
15384 (grub_find_root_device_from_mountinfo): Use unescape.
15385
ba102053
VS
153862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Support ZFS embedding.
15389
15390 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15391 (grub_zfs_fs): Register grub_zfs_embed.
15392
aa94b870
VS
153932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Fix MIPS compilation.
15396
15397 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15398 * include/grub/offsets.h: Rename decompressor fields from
15399 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15400 * util/grub-mkimage.c (image_targets): Use new names.
15401
5fbdac14
VS
154022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 Defer multiboot device parsing until we're in compressed part.
15405
15406 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15407 bsd_part. setdevice has fallen into disuse.
15408 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15409 (bsd_part): Likewise.
15410 (boot_dev): New variable.
15411 (multiboot_trampoline): Don't parse multiboot device.
15412 Pass multiboot device in %edx.
15413 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15414 grub_boot_device.
15415 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15416 Likewise.
15417 * grub-core/kern/i386/pc/startup.S: Save edx.
15418 (grub_boot_drive): Removed.
15419 (grub_install_dos_part): Likewise.
15420 (grub_install_bsd_part): Likewise.
15421 (grub_boot_device): New variable.
15422 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15423 (grub_install_bsd_part): Likewise.
15424 (grub_boot_drive): Likewise.
15425 (grub_boot_device): New variable.
15426 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15427 Removed.
15428 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15429 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15430 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15431 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15432 * util/grub-install.in: Remove redundant condition.
15433
691cbb58
VS
154342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 Fix bug introduced by previous commit.
15437
15438 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15439
60240b8b
VS
154402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 Use decompressors framework on i386-pc. It increases core size
15443 by 46 bytes but improves compatibility and maintainability.
15444
15445 * grub-core/Makefile.core.def (lzma_decompress): New image.
15446 (kernel): Add i386_pc_ldflags.
15447 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15448 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15449 to real_to_prot, prot_to_real and device info.
15450 * include/grub/offsets.h: Renamed decompressor offsets.
15451 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15452 (image_target_desc): Remove raw_size and rename decompressor fields.
15453 (compress_kernel): Handle lzma.
15454 (generate_image): Handle decompressors on i386-pc.
15455
e9d3421c
VS
154562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * configure.ac: Add -fno-asynchronous-unwind-tables.
15459
2b23074a
VS
154602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 Move assembly code to C by using intwrap. It increases core size
15463 by 88 bytes but improves compatibility and maintainability.
15464
15465 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15466 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15467 ... here. Translated to C.
15468 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15469 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15470 ... here. Translated to C.
15471 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15472 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15473 ... here. Translated to C.
15474 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15475 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15476 ... here. Translated to C.
15477 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15478 * grub-core/term/i386/pc/console.c (grub_console_cls):
15479 ... here. Translated to C.
15480 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15481 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15482 ... here. Translated to C.
15483 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15484 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15485 Translated to C.
15486 * grub-core/term/i386/pc/console.c (int10_9): New function.
15487 (grub_console_putchar): Likewise.
15488 * include/grub/i386/pc/console.h: Removed the not anymore shared
15489 functions.
15490
678f4b67
VS
154912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 Move grub_chainloader_real_boot out of the kernel.
15494
15495 * grub-core/Makefile.am: Remove machine/loader.h.
15496 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15497 Removed.
15498 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15499 variable.
15500 (grub_relocator16_keep_a20_enabled): Likewise.
15501 (grub_relocator16_boot): Fill new variables.
15502 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15503 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15504 relocator.
15505 (grub_chainloader_unload): Likewise.
15506 (grub_chainloader_cmd): Likewise.
15507 * include/grub/i386/pc/loader.h: Removed.
15508 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15509 and esi. All initialisers updated.
15510
4626edf6
VS
155112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
155122011-11-12 Colin Watson <cjwatson@ubuntu.com>
15513
15514 * Makefile.util.def (grub-mount): New util.
15515 * .bzrignore: Add grub-mount.
15516 * configure.ac: Check for fuse and enable grub-mount if available.
15517 * docs/man/grub-mount.h2m: New file.
15518 * util/grub-mount.c: Likewise.
15519
10f0117b
VS
155202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * grub-core/commands/efi/fixvideo.c: Gettextize.
15523 * grub-core/commands/hashsum.c: Likewise.
15524 * grub-core/commands/i386/cmostest.c: Likewise.
15525 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15526 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15527 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15528 * grub-core/commands/lsmmap.c: Likewise.
15529 * grub-core/commands/menuentry.c: Likewise.
15530 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15531 * grub-core/commands/setpci.c: Likewise.
15532 * grub-core/loader/i386/bsd.c: Likewise.
15533 * grub-core/loader/i386/linux.c: Likewise.
15534 * util/getroot.c: Likewise.
15535 * util/grub-editenv.c: Likewise.
15536 * util/grub-fstest.c: Likewise.
15537 * util/grub-mkfont.c: Likewise.
15538 * util/grub-mkimage.c: Likewise.
15539 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15540 * util/grub-pe2elf.c: Likewise.
15541 * util/grub-probe.c: Likewise.
15542 * util/grub-setup.c: Likewise.
15543 * util/ieee1275/ofpath.c: Likewise.
15544 * util/misc.c: Likewise.
15545 * util/raid.c: Likewise.
15546
566f779b
RM
155472011-11-11 Robert Millan <rmh@gnu.org>
15548
15549 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15550 __attribute__((unused)) from `os_dev', which *is* being used.
15551
b50787de
VS
155522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15555 forgotten define.
15556 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15557 GRUB_IA64_DL_GOT_ALIGN.
15558 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15559 GRUB_IA64_DL_TRAMP_ALIGN.
15560
119d11c8
VS
155612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 Replace grub_fatal with normal errors in i386 linux loader.
15564
15565 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15566 (allocate_pages): Check find_efi_mmap_size return value.
15567 (grub_e820_add_region): Return error.
15568 (grub_linux_boot): Check mmap return value.
15569
6e0632e2
VS
155702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * grub-core/commands/acpihalt.c: Gettextized.
15573 * grub-core/commands/cacheinfo.c: Likewise.
15574 * grub-core/commands/cmp.c: Likewise.
15575 * grub-core/commands/efi/loadbios.c: Likewise.
15576 * grub-core/commands/gptsync.c: Likewise.
15577 * grub-core/commands/ieee1275/suspend.c: Likewise.
15578 * grub-core/commands/legacycfg.c: Likewise.
15579 * grub-core/commands/memrw.c: Likewise.
15580 * grub-core/commands/minicmd.c: Likewise.
15581 * grub-core/commands/parttool.c: Likewise.
15582 * grub-core/commands/time.c: Likewise.
15583 * grub-core/commands/videoinfo.c: Likewise.
15584 * grub-core/disk/geli.c: Likewise.
15585 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15586 * grub-core/disk/luks.c: Likewise.
15587 * grub-core/disk/lvm.c: Likewise.
15588 * grub-core/font/font_cmd.c: Likewise.
15589 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15590 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15591 * grub-core/gfxmenu/view.c: Likewise.
15592 * grub-core/kern/emu/hostdisk.c: Likewise.
15593 * grub-core/kern/emu/main.c: Likewise.
15594 * grub-core/kern/emu/misc.c: Likewise.
15595 * grub-core/kern/emu/mm.c: Likewise.
15596 * grub-core/kern/mips/arc/init.c: Likewise.
15597 * grub-core/kern/mips/loongson/init.c: Likewise.
15598 * grub-core/kern/partition.c: Likewise.
15599 * grub-core/lib/i386/halt.c: Likewise.
15600 * grub-core/lib/mips/arc/reboot.c: Likewise.
15601 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15602 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15603 * grub-core/loader/i386/xnu.c: Likewise.
15604 * grub-core/loader/multiboot.c: Likewise.
15605 * grub-core/net/bootp.c: Likewise.
15606 * grub-core/net/net.c: Likewise.
15607 * grub-core/normal/term.c: Likewise.
15608 * grub-core/partmap/bsdlabel.c: Likewise.
15609 * grub-core/parttool/msdospart.c: Likewise.
15610 * grub-core/term/gfxterm.c: Likewise.
15611 * grub-core/term/terminfo.c: Likewise.
15612 * grub-core/video/i386/pc/vbe.c: Likewise.
15613 * util/grub-menulst2cfg.c: Likewise.
15614 * util/grub-mkdevicemap.c: Likewise.
15615 * util/grub-mklayout.c: Likewise.
15616 * util/grub-mkrelpath.c: Likewise.
15617 * util/grub-script-check.c: Likewise.
15618 * util/ieee1275/grub-ofpathname.c: Likewise.
15619 * util/resolve.c: Likewise.
15620
073aa7a9
VS
156212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 Support %1$d syntax.
15624
15625 * tests/printf_unit_test.c: New file.
15626 * Makefile.util.def (printf_test): New test.
15627 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15628
c76b5417
VS
156292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15632 fix.
15633
df067ad1
VS
156342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15637 dprintf.
15638 * grub-core/font/font.c (grub_font_load): Likewise.
15639
5b289bc5
VS
156402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 * util/grub-macho2img.c: Add comment concerning gettext.
15643 * grub-core/lib/legacy_parse.c: Likewise.
15644
c1860f87
VS
156452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15648 (grub_xvasprintf): Likewise.
15649
d35d0d37
VS
156502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 Add const keyword to grub_env_get and gettextize week days.
15653
15654 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15655 (grub_read_hook_datetime): Return const char *.
15656 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15657 updated.
15658 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15659 Mark for gettext.
15660 (grub_get_weekday_name): Return const char *. Call gettext.
15661 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15662 char * and len as the argument. All users updated.
15663 (grub_script_argv_split_append): Receive const char *.
15664 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15665 * include/grub/env.h (grub_env_get): Likewise.
15666 (grub_env_read_hook_t): Return const char *.
15667 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15668 (grub_script_argv_split_append): Likewise.
15669
9aed8a71
VS
156702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15673
067fdf00
VS
156742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15677 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15678
a8bd9d39
VS
156792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15682 Fix prototype.
15683
f7ce5baf
VS
156842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 Fix mips compilation.
15687
15688 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15689 normal decoder.
15690 (hashes): Use in embed decoder as well (for sizes).
15691 (dec_stream_header): Fix embed decompressor logic.
15692 (dec_stream_footer): Likewise.
15693
9bb182f3
VS
156942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15697 an error and not a fatal on unrecognised relocation types.
15698
63a9e6f6
VS
156992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15702 Issue error rather than printf on unknown arguments.
15703
4c458569
VS
157042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15707 Make buf a const.
15708
e2d22baf
VS
157092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15712 Fix module name.
15713
53dc8590
VS
157142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15715
15716 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15717 leftover debug printf.
15718
6c189294
VS
157192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15720
15721 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15722
f7688369
VS
157232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15726 A stylistic fix.
15727
11a775a3
VS
157282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15731
33f784e8
SL
157322011-11-10 Shea Levy <slevy@tieronedesign.com>
15733
15734 Allow all modules to perform serial IO
15735
15736 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15737 * include/grub/serial.h (grub_serial_port_configure): New inline
15738 function.
15739 (grub_serial_port_fetch): Likewise.
15740 (grub_serial_port_put): Likewise.
15741 (grub_serial_port_fini): Likewise.
15742 (grub_serial_find): New proto.
15743
f6276525
VS
157442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 Put symlink at the end of the node and fix a potential
15747 memory corruption.
15748
15749 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15750 Make symlink into an array.
15751 (set_rockridge): Set have_symlink and alloc_dirents.
15752 (grub_iso9660_read_symlink): Use new layout.
15753 (grub_iso9660_iterate_dir): Fix memory corruption.
15754 Use new layout.
15755 (grub_iso9660_dir): Set have_symlink.
15756 (grub_iso9660_open): Likewise.
15757
c3591189
VS
157582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Remove local keyword.
15761
15762 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15763 (version_test_gt): Likewise.
15764 (version_find_latest): Likewise.
15765 (gettext_printf): Likewise.
15766 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15767
cb544caa
VS
157682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15771
45bd824d
VS
157722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 Fix ZFS memory and resource leaks.
15775
15776 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15777 All users updated.
15778 Free type on exit.
15779 (fill_vdev_info): New parameter inserted. All users updated.
15780 (check_pool_label): Likewise.
15781 (scan_disk): Likewise.
15782 (scan_devices): Close non-inserted disks.
15783 (fzap_iterate): Free l.
15784 (unmount_device): Free children descripto memory.
15785
ad9a2f44
VS
157862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15789 argument (access out of bounds).
15790
6b68db81
VS
157912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15794 >= 6 drives.
15795
28840fda
VS
157962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15799 Fix declaration.
15800
8a5a3a5b
VS
158012011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 Fix several memory leaks.
15804
15805 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15806 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15807 (grub_cpio_dir): Likewise.
15808 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15809 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15810 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15811 (grub_romfs_label): Likewise.
15812 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15813 (squash_unmount): New function.
15814 (grub_squash_dir): Fix memory leak.
15815 (grub_squash_open): Likewise.
15816 (grub_squash_read): Likewise.
15817 (grub_squash_mtime): Likewise.
15818 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15819 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15820 * util/grub-fstest.c (fstest): Likewise.
15821
57b01250
VS
158222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15825 avoid accessing beyond the array.
15826
19e81ba7
VS
158272011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15830
52b656c0
VS
158312011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 Several AFFS fixes.
15834
15835 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15836 (GRUB_AFFS_FLAG_FFS): Removed.
15837 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15838 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15839 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15840 (grub_fshelp_node): Make block 32-bit.
15841 Add block_cache and last_block_cache.
15842 (grub_affs_read_block): Fill and use block cache.
15843 (grub_affs_read_file): Removed.
15844 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15845 boot block.
15846 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15847 safety.
15848 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15849 space.
15850 (grub_affs_close): Free block cache.
15851 (grub_affs_read): Use grub_fshelp_read_file directly.
15852
438a746a
VS
158532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
15856 with no error set.
15857
49a45021
VS
158582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
15861 used variable.
15862 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15863 Likewise.
15864
3ae17eb8
VS
158652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
15868
15869 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
15870 byteswap when needed.
15871
27610c38
VS
158722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 Fix FreeBSD compilation.
15875
15876 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
15877 to avoid circular dependency.
15878 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
15879 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
15880 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
15881
4a19b601
VS
158822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15883
15884 Fix ZFS crypto error types.
15885
15886 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
15887 (grub_gcm_decrypt): Likewise.
15888 (grub_zfs_load_key_real): Fix error code type. Handle possible error
15889 from PBKDF2.
15890
958ee221
VS
158912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 Illumos support.
15894
15895 * Makefile.util.def (10_illumos): New script.
15896 * configure.ac: Set COND_HOST_ILLUMOS.
15897 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
15898 Support Illumos calls.
15899 (find_partition_start) [__sun__]: Likewise.
15900 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
15901 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
15902 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
15903 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
15904 device.
15905 * util/grub-probe.c (probe) [__sun__]: Do character check.
15906 * util/grub.d/10_illumos.in: New file.
15907
cac14fb6
VS
159082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 Support escaped commas in hostdisk.
15911
15912 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
15913 (find_grub_drive): Use unescape_cmp.
15914 (make_device_name): Escape commas.
15915
78e08dc3
VS
159162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
15919
9f421dd1
VS
159202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
15923 variable.
15924
ed64e9e2
VS
159252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 Support trampoline jumps on powerpc.
15928
15929 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
15930 __ia64__ path.
15931 (grub_dl_load_segments): Set mod->sz.
15932 (grub_dl_flush_cache): Flush whole space occupied by module, not just
15933 segments.
15934 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
15935 (jump): Likewise.
15936 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
15937 function.
15938 (trampoline): New struct.
15939 (trampoline_template): New const.
15940 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
15941 * include/grub/dl.h (grub_dl): Add sz element.
15942 [__powerpc__]: Follow __ia64__.
15943 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
15944 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
15945 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
15946 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
15947
3084ede4
VS
159482011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 ZFS crypto support.
15951
15952 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
15953 * grub-core/Makefile.core.def (zfscrypt): New module.
15954 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
15955 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
15956 it. All users updated.
15957 (grub_zfs_decrypt): New var.
15958 (grub_zfs_load_key): Likewise.
15959 (zio_checksum_functions): Add SHA256+MAC.
15960 (zio_checksum_verify): Handle incomplete comparison due to MAC.
15961 (zio_read): Handle encrypted blocks.
15962 (zap_verify): Remove incorrect check.
15963 (fzap_iterate): Handle non-standard fzap.
15964 (zap_iterate): Likewise.
15965 (zap_iterate_u64): New function.
15966 (dnode_get_fullpath): Load keys.
15967 * grub-core/fs/zfs/zfscrypt.c: New file.
15968 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
15969 (grub_crypto_ecb_encrypt): Make input const.
15970 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
15971 (grub_crypto_ecb_encrypt): Make input const.
15972 (GRUB_CIPHER_AES): New macro.
15973 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
15974 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
15975 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
15976 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
15977 prefix. All users updated.
15978 (grub_zfs_add_key): New proto.
15979 (grub_zfs_decrypt): Likewise.
15980 (grub_zfs_load_key): Likewise.
15981 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
15982 * util/grub-fstest.c (options): Add -K option.
15983 (argp_parser): Likewise.
15984
b632b404
VS
159852011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 Support zle compression on ZFS.
15988
15989 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
15990 (decomp_table): Add zle.
15991 * include/grub/zfs/zio.h (zio_compress): Add zle.
15992
c7ba4f69
VS
159932011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 Support BtrFS embedding.
15996
15997 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
15998 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
15999 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16000 * util/grub-setup.c (setup): Use fs embedding if available.
16001 Add additional sanity check.
16002
455377d9
VS
160032011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * util/grub-install.in: Fix condition for config_opt.
16006
c2fd16ca
VS
160072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Support third redundancy strip on raidz3.
16010
16011 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16012 Return error on singularity. All users updated.
16013 (read_device): Don't stop on 3rd failure on raidz3.
16014
8622923b
VS
160152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Support case-insensitive ZFS subvolumes.
16018
16019 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16020 All users updated.
16021 (zap_hash): Likewise.
16022 (name_cmp): New function.
16023 (zap_leaf_array_equal): New parameter case_insensitive.
16024 All users updated.
16025 (zap_leaf_lookup): Likewise.
16026 (fzap_lookup): Likewise.
16027 (zap_lookup): Likewise.
16028 (dnode_get_path): New parameter case_insensitive. Retrieve case
16029 sensitiviness of a volume. All users updated.
16030 (dnode_get_fullpath): New parameter case_insensitive.
16031 All users updated.
16032 (grub_zfs_dir): Set info.case_insensitiveness.
16033
95f2e860
VS
160342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 Support second redundancy strip on raidz(2,3).
16037
16038 * grub-core/fs/zfs/zfs.c (powx): New array.
16039 (powx_inv): Likewise.
16040 (poly): New const.
16041 (xor_out): New function.
16042 (gf_mul): Likewise.
16043 (recovery): Likewise.
16044 (read_device): Use second redundancy strip.
16045
11ee4389
VS
160462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 Use a power of generator representation of GF(256) multiplication group
16049 to save space time and complexity.
16050
16051 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16052 (raid6_table2): Likewise.
16053 (powx): New array.
16054 (powx_inv): Likewise.
16055 (poly): New const.
16056 (grub_raid_block_mul): Replace with ...
16057 (grub_raid_block_mulx): ...this.
16058 (grub_raid6_init_table): Rewritten.
16059 (grub_raid6_recover): Use power of generator representation.
16060
09e2763f
VS
160612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16064 for the right device.
16065
8bec9a28
VS
160662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16069 expected by grub-mkimage and it's more clear since there is no implicit
16070 padding.
16071
dbd3a32e
VS
160722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16073
16074 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16075 disk.
16076 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16077
182c872a
PMH
160782011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16079
16080 * util/grub-mkrescue.in: Fix handling xorriso option.
16081
1e51cabd
VS
160822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16085 NULL.
16086
9cc3581d 160872011-11-03 crocket <crockabiscuit@gmail.com>
16088
16089 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16090
158dc1ea
VS
160912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 XZ CRC64 and SHA256 support.
16094
16095 * Makefile.util.def (libgrubmods): Add crc64.c.
16096 * grub-core/Makefile.core.def (crc64): New module.
16097 * grub-core/lib/crc64.c: New file.
16098 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16099 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16100 Fix the type.
16101 (MAX_HASH_SIZE): New define.
16102 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16103 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16104 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16105 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16106 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16107 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16108 Handle non-crc32 hashes.
16109 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16110 (dec_stream_header): Handle non-crc32 hashes.
16111 (dec_stream_footer): Likewise.
16112 (dec_block_header): Likewise.
16113 (dec_main): Likewise.
16114 (xz_dec_init): Likewise.
16115 (xz_dec_reset): Likewise.
16116 (xz_dec_end): Likewise.
16117 * util/import_gcry.py: Add CRC64 line.
16118
9d9b3d2f
VS
161192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16122 as well.
16123
7d0ac931
VS
161242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 Make reiserfs label retrieval similar to other *_label functions.
16127
16128 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16129 (REISERFS_MAX_LABEL_LENGTH): Removed.
16130 (REISERFS_LABEL_OFFSET): Likewise.
16131 (grub_reiserfs_label): Rewritten.
16132
161332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16136 field.
16137
cf5ba824
VS
161382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16141
17744004
VS
161422011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16145 drive failure on both raidz and raidz2.
16146
aca5aefc
VS
161472011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 Fix RAIDZ(2) for >= 5 devices.
16150
16151 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16152 asize argument. All users updated.
16153
ce8ca56e
VS
161542011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 Fix RAIDZ(2).
16157
16158 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16159 (fill_vdev_info_real): Set ashift.
16160 (read_device): Rewrite RAIDZ part based on reverse engineering.
16161
7c01e783
VS
161622011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16165 don't report potentially unavialiable fields in debug output.
16166 (find_path): Fix double-free and memory leak.
16167
ce109e84
VS
161682011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Read label on UFS1.
16171
16172 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16173 (grub_ufs_fs): Always set .label.
16174
87661123
VS
161752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 Use shifts in UFS.
16178
16179 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16180 (grub_ufs_data): New field log2_blksz.
16181 (grub_ufs_read_file): Use shifts.
16182 (grub_ufs_mount): Check block size and logarithm it.
16183
46bc1dc2
VS
161842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16187 long symlinks.
16188
19ee2987
VS
161892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 Handle symlinks and long names on tar and cpio.
16192
16193 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16194 (ATTR_FILE): Likewise.
16195 (ATTR_DIR): Likewise.
16196 (ATTR_LNK): Likewise.
16197 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16198 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16199 L and K entries.
16200 (grub_cpio_mount): Zero-fill data.
16201 (handle_symlink): New function.
46bc1dc2
VS
16202 (grub_cpio_dir): Handle symlinks.
16203 (grub_cpio_open): Likewise.
16204 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16205
c83a08d8
VS
162062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Fix iso9660 filename limitations and fix memory leaks.
16209
16210 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16211 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16212
45cdd3ea
VS
162132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 Fix JFS file name length limitations.
16216
16217 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16218 (grub_jfs_diropen): Fix maximum filename length.
16219 (grub_jfs_getent): Fix filename length.
16220 (grub_jfs_lookup_symlink): Fix size checks.
16221
94ef05c2
VS
162222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16225 string.
16226
785ab8c7
VS
162272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16228
eb0b6b45
VS
16229 Leverage BFS implementation to read AFS.
16230
16231 * Makefile.util.def (libgrubmods): Add afs.c.
16232 * grub-core/Makefile.core.def (afs): New module
16233 * grub-core/fs/afs.c: New file.
16234 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16235
162362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16239
c4a1628f
VS
162402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * grub-core/fs/bfs.c: Run indent.
16243
5825b379
VS
162442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16245
16246 BFS implementation based on the specification.
16247
16248 * grub-core/fs/bfs.c: New file.
16249 * Makefile.util.def (libgrubmods): Add bfs.c.
16250 * grub-core/Makefile.core.def (bfs): New module.
16251
42b2a706
VS
162522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * util/grub-fstest.c (cmd_cp): Clarify error message.
16255 (cmd_cmp): Likewise.
16256
61b99bfc
YB
162572011-10-30 Yves Blusseau <blusseau@zetam.org>
16258
16259 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16260 and befs_be.
16261
faba3d16
VS
162622011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 Remove afs and befs because of copyright problem.
16265
16266 * grub-core/fs/afs.c: Removed.
16267 * grub-core/fs/afs_be.c: Removed.
16268 * grub-core/fs/befs.c: Removed.
16269 * grub-core/fs/befs_be.c: Removed.
16270 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16271 * grub-core/Makefile.core.def (afs): Removed.
16272 (afs_be): Likewise.
16273 (befs): Likewise.
16274 (befs_be): Likewise.
16275
c39224b0
VS
162762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 Prefer rockridge over Joliet.
16279
16280 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16281 to ...
16282 (set_rockridge): ... here.
16283 (grub_iso9660_mount): Check rockridge on the primary label when
16284 discovering. Ignore Joliet if Rockridge is present.
16285
e551115a
VS
162862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Use shifts in nilfs2.
16289
16290 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16291 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16292 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16293 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16294 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16295 (grub_nilfs2_entries_per_block): Replaced with ...
16296 (grub_nilfs2_log_entries_per_block_log): ... this.
16297 (grub_nilfs2_blocks_per_group): Replaced with ...
16298 (grub_nilfs2_blocks_per_group_log): ... this.
16299 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16300 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16301 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16302 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16303 (grub_nilfs2_palloc_entry_offset): Replaced ...
16304 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16305 (grub_nilfs2_dat_translate): Use shifts.
16306 (grub_nilfs2_read_inode): Likewise.
16307 (GRUB_MOD_INIT): Ensure that logs are correct.
16308
564dd58c
VS
163092011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 Use shifts in minix filesystem.
16312
16313 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16314 (GRUB_MINIX_ZONE2SECT): Likewise.
16315 (grub_minix_data): Replace block_size with log_block_size.
16316 (grub_minix_read_file): Use shifts.
16317 (grub_minix_mount): Check block size and take a logarithm.
16318
ed9ba06d
VS
163192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 Use shifts in squash4.
16322
16323 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16324 (squash_mount): Check block size and take logarithm.
16325 (direct_read): Use shifts.
16326
ad03fe76
VS
163272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 Correct befs block counting logic.
16330
16331 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16332 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16333 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16334 (grub_afs_read_inode): Use block_shift.
16335 (RANGE_SHIFT): New definition.
16336 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16337 unexpected conditions, use shifts and appropriate types.
16338 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16339
6563f63d
VS
163402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * grub-core/disk/raid.c (scan_devices): Check partition.
16343 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16344
5b1ae25f
VS
163452011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 Support BFS (befs) UUID.
16348
16349 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16350 (grub_afs_small_data_element_header): New struct.
16351 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16352 (grub_afs_read_attribute) [MODE_BFS]: New function.
16353 (grub_afs_iterate_dir): Allocate for complete inode.
16354 (grub_afs_mount): Likewise.
16355 (grub_afs_uuid) [MODE_BFS]: New function.
16356 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16357
f8d82408
VS
163582011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16361 (zfs_unmount): Fix memory leak.
16362
5773fb64
VS
163632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 Support NTFS reparse points.
16366
16367 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16368 (symlink_descriptor): New struct.
16369 (grub_ntfs_read_symlink): New function.
16370 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16371 (grub_ntfs_open): Likewise.
16372
91c3fdde
VS
163732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16376
3be82e10
VS
163772011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 fstest xnu_uuid subcommand.
16380
16381 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16382 grub-core/commands/xnu_uuid.c.
16383 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16384 (fstest): Handle xnu_uuid.
16385 (options): Document xnu_uuid.
16386 (argp_parser): Parse xnu_uuid.
16387
8e32442e
VS
163882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16391 -l argument. Add newline at the end if printing.
16392 (GRUB_MOD_INIT): Document -l.
16393
52a05075
VS
163942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16397
1869edb5
VS
163982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 ZFS multi-device and version 33 support.
16401
16402 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16403 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16404 (grub_zfs_data): Add multidev-ice-related fields.
16405 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16406 (dva_get_offset): Make dva const.
16407 (zfs_fetch_nvlist): New function.
16408 (fill_vdev_info_real): Likewise.
16409 (fill_vdev_info): Likewise.
16410 (check_pool_label): Likewise.
16411 (scan_disk): Likewise.
16412 (scan_devices): Likewise.
16413 (read_device): Likewise.
16414 (read_dva): Likewise.
16415 (zio_read_gang): Use read_dva.
16416 (zio_read_data): Likewise.
16417 (zap_leaf_lookup): Add missing endian conversion.
16418 (zap_verify): Add missing endian conversion. All users updated.
16419 (fzap_lookup): Likewise.
16420 (fzap_iterate): Likewise.
16421 (dnode_get_path): Handle SA bonus.
16422 (nvlist_find_value): Make input const. All users updated.
16423 (unmount_device): New function.
16424 (zfs_unmount): Use unmount_device.
16425 (zfs_mount): Use scan_disk.
16426 (zfs_mtime): New function.
16427 (grub_zfs_open): Handle system attributes.
16428 (fill_fs_info): Likewise.
16429 (grub_zfs_dir): Likewise.
16430 (grub_zfs_fs): Add mtime.
16431 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16432 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16433 (SA_MTIME_OFFSET): Likewise.
16434 (SA_SYMLINK_OFFSET): Likewise.
16435 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16436 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16437 (fstest): Support zfsinfo.
16438 (argp_parser): Likewise.
16439
186b4028
VS
164402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16443 error.
16444
164452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16446
16447 ZFS fixes.
16448
16449 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16450 sharing the same block. Iterate over correct number of indices.
16451 (dnode_get_path): Handle symlinks correctly.
16452
c0584900
VS
164532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16456
67e2bd71
VS
164572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 Read label on HFS+.
16460
16461 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16462 (grub_hfsplus_btree_search): Fix types.
16463 (grub_hfsplus_label): Implement.
16464
e9cc6b7b
VS
164652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16468
19832ddb
VS
164692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16472
66b40850
VS
164732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Fix symlink handling on iso9660.
16476
16477 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16478 All users updated.
16479 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16480 (grub_iso9660_read_symlink): Moved most of code ...
16481 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16482
db821363
VS
164832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16486 Use union to avoid breaking strict-aliasing rules.
16487
e1211949
VS
164882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 Support multi-extent iso files.
16491
16492 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16493 Add node.
16494 (grub_fshelp_node): Revamp. All users updated.
16495 (FLAG_*): New enum.
16496 (read_node): New function.
16497 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16498 All users updated.
16499 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16500 (get_node_size): New function.
16501 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16502 entries.
16503 Fix memory leak on . and ..
16504 (grub_iso9660_read): Use read_node.
16505 (grub_iso9660_close): Free node.
16506
d4888031
VS
165072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 Fix tar 4G limit and handle paths containing dot.
16510
16511 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16512 (canonicalize): New function.
16513 (grub_cpio_find_file): Use canonicalize. Store offs in
16514 grub_disk_addr_t.
16515 (grub_cpio_dir): Use grub_disk_addr_t.
16516 (grub_cpio_open): Likewise.
16517
9f12e664
VS
165182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16521
16522 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16523 unused flags.
16524 (grub_squash_inode): Add long_file and block_size.
16525 (grub_squash_cache_inode): New struct.
16526 (grub_squash_dirent): Make types into enum.
16527 (SQUASH_TYPE_LONG_REGULAR): New type.
16528 (grub_squash_frag_desc): Add field size.
16529 (SQUASH_BLOCK_FLAGS): New enum.
16530 (grub_squash_data): Use grub_squash_cache_inode.
16531 (grub_fshelp_node): Make ino_chunk 64-bit.
16532 (read_chunk): Minor argument change. All users updated.
16533 (squash_mount): Use correct le_to_cpu.
16534 (grub_squash_open): Handle LONG_REGULAR.
16535 (direct_read): New function.
16536 (grub_squash_read_data): Handle blocks correctly.
16537
9f326fba
VS
165382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16541
f4d9b64b
VS
165422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16545
5bbd28b8
VS
165462011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Fix 2G limit on ZFS.
16549
16550 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16551 types.
16552 (uberblock_verify): Likewise.
16553 (dmu_read): Likewise.
16554 (grub_zfs_read): Likewise. Remove invalid cast.
16555
68c72069
VS
165562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16559 (grub_jfs_blkno): Fix incorrect shift.
16560 (grub_jfs_read_file): Use more appropriate types.
16561
6e536dc8
VS
165622011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16563
16564 Support triple indirect on minix2 and minix3.
16565
16566 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16567 Declare triple_indir_zone.
16568 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16569 indirect.
16570
e0864e7a
VS
165712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 Minix FS fixes.
16574
16575 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16576 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16577 Rename ctime to mtime. All users updated.
16578 (grub_minix_get_file_block): Fix types and double indirect computations.
16579
89481cab
VS
165802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16583 if no label is found.
16584 (grub_fat_iterate_dir): Fix file size type.
16585 (grub_fat_iterate_dir): Likewise.
16586
f646e143
VS
165872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16590 save some space.
16591 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16592 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16593
534d769e
VS
165942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16595
16596 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16597
e084ba18
VS
165982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * util/import_gcry.py: Accept space between # and include.
16601
3471ecdf
VS
166022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16605
124df5f6
VS
166062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16609
16610 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16611 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16612 yylex_strncpy.
16613 * grub-core/script/yylex.l: Add fine-grained #pragma.
16614
4defb8d5
VS
166152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16618 New inline function.
16619 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16620 Likewise.
16621 (memset) [GRUB_UTIL]: Likewise.
16622 (memcmp) [GRUB_UTIL]: Likewise.
16623
4e94ae65
VS
166242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16627 inline function rather than a define.
16628
18c575e5
VS
166292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 * util/grub-setup.c: Add missing include.
16632
f8bc22a8
VS
166332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * util/ieee1275/grub-ofpathname.c: Add missing include.
16636
3ce69fc9
VS
166372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16640 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16641 Likewise.
16642
d1e293bb
VS
166432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16646 grub_memcmp usage.
16647
7a5c54a4
VS
166482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * util/grub-install.in: Add datarootdir as per automake manual
16651 suggestion.
16652 * util/grub-mknetdir.in: Likewise.
16653
166542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16655
16656 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16657 suggestion.
16658 * util/grub.d/10_kfreebsd.in: Likewise.
16659 * util/grub.d/10_linux.in: Likewise.
16660 * util/grub.d/10_netbsd.in: Likewise.
16661 * util/grub.d/10_windows.in: Likewise.
16662 * util/grub.d/20_linux_xen.in: Likewise.
16663
766f7d08
VS
166642011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 Remove redundant grub_kernel_image_size.
16667
16668 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16669 _edata and _start.
16670 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16671 the small code. It moves it only by few bytes but simplifies the code.
16672 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16673 _start.
16674 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16675 (grub_kernel_image_size): Removed.
16676 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16677 (grub_kernel_image_size): Removed.
16678 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16679 compiled with Apple toolchain.
16680 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16681 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16682 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16683 (grub_total_module_size): Likewise.
16684 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16685 Removed.
16686 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16687 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16688 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16689 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16690 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16691 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16692 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16693 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16694 Removed.
16695 (grub_total_module_size): Removed.
16696 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16697 (image_targets): Likewise.
16698 Set .compressed_size to no field on sparc.
16699 (generate_image): Remove kernel_image_size handling.
16700
fcf1d672
SJ
167012011-10-19 Szymon Janc <szymon@janc.net.pl>
16702
16703 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16704 NULL pointer dereference.
16705
de9c615e
VS
167062011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16707
16708 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16709 done with a dedicated section.
16710
16711 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16712 Ensure the correct position of boot_path.
16713 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16714 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16715 other fields.
16716 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16717 * include/grub/boot.h: Removed. All references removed.
16718 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16719 Removed.
16720 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16721
e55599dc
VS
167222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16725 name.
16726
36dd20ad
VS
167272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16728
16729 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16730
f8f72eb8
VS
167312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16734 Don't add the bogus brackets.
16735
a374751b
VS
167362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 ExFAT support.
16739
16740 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16741 * grub-core/Makefile.core.def (exfat): New module.
16742 * grub-core/fs/exfat.c: New file.
16743 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16744 (GRUB_FAT_ATTR_*): Make into an enum.
16745 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16746 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16747 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16748 (GRUB_FAT_MAXFILE): Removed.
16749 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16750 (grub_current_fat_bpb_t): New type.
16751 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16752 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16753 (grub_fat_dir_node_t): New type.
16754 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16755 (fat_log2) [MODE_EXFAT]: Removed.
16756 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16757 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16758 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16759 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16760 (grub_fat_label) [MODE_EXFAT]: New function.
16761 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16762 reserved_first_sector to 0.
16763
544c2487
VS
167642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 Move grub_reboot out of the kernel.
16767
16768 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16769 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16770 * grub-core/lib/efi/reboot.c: ... here.
16771 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16772 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16773 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16774 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16775 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16776 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16777 * grub-core/lib/ieee1275/reboot.c: ... here.
16778 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16779 * grub-core/lib/mips/arc/reboot.c: ... here.
16780 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16781 * grub-core/lib/mips/loongson/reboot.c: ...here.
16782 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16783 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16784 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16785 * include/grub/i386/reboot.h: New file.
16786 * include/grub/mips/loongson/ec.h: Fix includes.
16787 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16788 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16789 * grub-core/lib/i386/reboot.c: New file.
16790
a97501d2
VS
167912011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 Make grub_prefix into module to fix the arbitrary limit and save
16794 some space.
16795
16796 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16797 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16798 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16799 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16800 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16801 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16802 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16803 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16804 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16805 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16806 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16807 * include/grub/ia64/efi/kernel.h: Removed.
16808 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16809 (grub_prefix): Removed.
16810 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16811 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16812 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16813 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16814 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16815 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16816 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16817 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16818 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16819 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16820 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16821 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16822 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16823 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16824 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16825 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16826 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16827 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16828 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16829 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16830 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16831 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16832 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16833 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16834 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16835 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16836 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16837 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16838 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16839 from module.
16840 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16841 prefix_end.
16842 (image_targets): Likewise.
16843 (generate_image): Put prefix as a module.
16844
39705fad
VS
168452011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 Replace grub_module_iterate with FOR_MODULES.
16848
16849 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16850 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16851 (grub_efi_modules_addr): ...this.
16852 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16853 (grub_efi_init): Set grub_modbase.
16854 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
16855 (grub_modbase): New variable.
16856 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
16857 (grub_modbase): New variable.
16858 (grub_machine_init): Set grub_modbase.
16859 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
16860 (grub_modbase): New variable.
16861 (grub_machine_init): Set grub_modbase.
16862 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
16863 (grub_modbase): New variable.
16864 (grub_machine_init): Set grub_modbase.
16865 * grub-core/kern/main.c (grub_module_iterate): Remove.
16866 (grub_modules_get_end): Use grub_modbase.
16867 (grub_load_modules): Use FOR_MODULES.
16868 (grub_load_config): Likewise.
16869 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
16870 (grub_modbase): New variable.
16871 (grub_machine_init): Set grub_modbase.
16872 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
16873 (grub_modbase): New variable.
16874 (grub_machine_init): Set grub_modbase.
16875 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
16876 Removed.
16877 (grub_modbase): New variable.
16878 (grub_machine_init): Set grub_modbase.
16879 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
16880 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
16881 (grub_module_iterate): Likewise.
16882 (grub_modbase): New variable declaration.
16883 (FOR_MODULES): New macro.
16884
2afb7f6c
VS
168852011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * configure.ac: Check for __ctzdi2 and __ctzsi2.
16888 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
16889
366e34fa
VS
168902011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16891
16892 Fix few obvious type discrepancies.
16893
16894 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
16895 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
16896 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
16897 variable.
16898 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
16899 and connected types.
16900 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
16901 offset.
16902 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
16903 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
16904 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
16905 and connected types.
16906
177b960e
VS
169072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 Fix python 3.x incompatibilities.
16910
16911 * gentpl.py: Put brackets around print strings.
16912 * util/import_gcry.py: Open explicitly as utf-8.
16913 Use in instead of has_key.
16914
3b619ae1
VS
169152011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
16918 (GRUB_XFS_INO_AGBITS): Make into inline function.
16919 (GRUB_XFS_INO_INOINAG): Likewise.
16920 (GRUB_XFS_INO_AG): Likewise.
16921 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16922 (GRUB_XFS_EXTENT_OFFSET): Likewise.
16923 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16924 (GRUB_XFS_EXTENT_SIZE): Likewise.
16925 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
16926 (GRUB_XFS_NEXT_DIRENT): Likewise.
16927 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
16928 (grub_xfs_read_file): Fix offset type.
16929
8bcebcb8
RM
169302011-10-15 Robert Millan <rmh@gnu.org>
16931
16932 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
16933
0017e5ef
RM
169342011-10-15 Robert Millan <rmh@gnu.org>
16935
16936 Fix build problem on FreeBSD and GNU/kFreeBSD.
16937
16938 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
16939
d8919552
VS
169402011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
16943
16944 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
16945 types.
16946 (grub_hfsplus_btree_recoffset): Likewise.
16947 (grub_hfsplus_btree_recptr): Likewise.
16948 (grub_hfsplus_find_block): Likewise.
16949 (grub_hfsplus_btree_search): Likewise.
16950 (grub_hfsplus_read_block): Likewise.
16951 (grub_hfsplus_read_file): Likewise.
16952 (grub_hfsplus_mount): Likewise.
16953 (grub_hfsplus_btree_iterate_node): Likewise.
16954 (grub_hfsplus_btree_search): Likewise.
16955 (grub_hfsplus_iterate_dir): Likewise.
16956 (grub_hfsplus_read): A small code simplification.
16957
c81296b6
VS
169582011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 * grub-core/kern/emu/hostdisk.c
16961 (convert_system_partition_to_system_disk): Don't assume that children
16962 of mapper nodes are mapper nodes.
16963
0eb8ffb1
VS
169642011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16965
16966 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
16967 * include/grub/misc.h (grub_isxdigit): New function.
16968 * grub-core/video/colors.c (my_isxdigit): Removed. All users
16969 switched to grub_isxdigit.
16970 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
16971 number starting with a letter.
16972
a98f4a08
RM
169732011-10-09 Robert Millan <rmh@gnu.org>
16974
16975 LVM support for FreeBSD and GNU/kFreeBSD.
16976
16977 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
16978 GNU/kFreeBSD.
16979 (LVM_DEV_MAPPER_STRING): Move from here ...
16980 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
16981 * util/getroot.c: Include `<grub/util/lvm.h>'.
16982 (grub_util_get_dev_abstraction): Enable
16983 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
16984 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
16985 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
16986 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
16987 support it.
16988 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
16989 GNU/kFreeBSD.
16990 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
16991 when LVM abstraction is required for ${GRUB_DEVICE}.
16992
050e8e90
SJ
169932011-10-06 Szymon Janc <szymon@janc.net.pl>
16994
16995 Add support for LZO compression in GRUB:
16996 - import of minilzo library,
16997 - LZO decompression for btrfs,
16998 - lzop files decompression.
16999
17000 * grub-core/io/lzopio.c: New file.
17001 * grub-core/lib/adler32.c: Likewise.
17002 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17003 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17004 * grub-core/lib/minilzo/minilzo.c: Likewise.
17005 * grub-core/lib/minilzo/minilzo.h: Likewise.
17006 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17007 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17008 grub-core/lib/minilzo/minilzo.c to common.
17009 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17010 cflags in cppflags.
17011 * grub-core/Makefile.core.def (btrfs): Likewise.
17012 * grub-core/Makefile.core.def (lzopio): New module.
17013 (adler32): Likewise.
17014 * grub-core/fs/btrfs.c: Include minilzo.h.
17015 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17016 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17017 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17018 (grub_btrfs_lzo_decompress): New function.
17019 (grub_btrfs_extent_read): Add support for LZO compression type.
17020 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17021 (GRUB_USHRT_MAX): Likewise.
17022 (GRUB_UINT_MAX): Likewise.
17023 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17024 (UINT_MAX): Likewise.
17025 (CHAR_BIT): Likewise.
17026 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17027 grub-core/lib/posix_wrap/limits.h
17028 (UCHAR_MAX): Likewise.
17029 * include/grub/file.h (grub_file_filter_id): New compression filter
17030 GRUB_FILE_FILTER_LZOPIO.
17031 * include/grub/file.h (grub_file_filter_id): Set
17032 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17033 * include/grub/types.h (grub_get_unaligned16): New function.
17034 (grub_get_unaligned32): Likewise.
17035 (grub_get_unaligned64): Likewise.
17036 * util/import_gcry.py (cryptolist): Add adler32.
17037
0eb8ffb1
VS
170382011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17041 in perspective decreases the complexity of build system and fixes
17042 compilation right now.
17043
ce79cc99 170442011-10-01 Ales Nesrsta <starous@volny.cz>
17045
17046 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17047 (fixed problem related to using UHCI with coreboot).
17048
8667a314
BC
170492011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17050
17051 * gentpl.py: Use Autogen macros so that the output template file
17052 (Makefile.tpl) size is reduced.
17053
fc5efcc0
MK
170542011-09-29 Mads Kiilerich <mads@kiilerich.com>
17055
17056 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17057 extra_dist.
17058
d1ab689d
ML
170592011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17060
17061 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17062 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17063
c05de032
ML
170642011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17065
17066 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17067 _fullpath.
17068
cca7ccd8
ML
170692011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17070
17071 Remove extra declaration of sleep for mingw32.
17072
17073 * util/misc.c (sleep) [__MINGW32__]: Removed.
17074 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17075
e0b0dc83
GS
170762011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17077
17078 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17079 type and packname.
17080 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17081 Resurrected.
17082 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17083 (grub_netbsd_btinfo_bootwedge): New struct.
17084 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17085 New function.
17086 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17087
91a1a164
TH
170882011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17089
17090 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17091 loader.
17092
2ded951e
AB
170932011-09-28 Andreas Born <futur.andy@googlemail.com>
17094
17095 Fix incorrect identifiers in bash-completion.
17096
17097 * util/bash-completion.d/grub-completion.bash.in
17098 (_grub_mkpasswd-pbkdf2): Rename to ...
17099 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17100 (_grub_script-check): Rename to ...
17101 (_grub_script_check): ... this. All users updated.
17102
69915030
VS
171032011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17106 Return 0 if disk isn't biosdisk.
17107
20fd15f9
GS
171082011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17109
17110 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17111 on NetBSD.
17112 * Makefile.util.def (grub-fstest): Likewise.
17113
1a7d7db9
GS
171142011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17115
17116 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17117 Get sector size from disk label.
17118
2221ab6c
CW
171192011-09-05 Colin Watson <cjwatson@ubuntu.com>
17120
17121 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17122 */README* as well as README*.
17123 Reported by: Axel Beckert.
17124
ca51c4a0
VS
171252011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17128 case of less than 256 MiB of RAM.
17129
ab80f326
VS
171302011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * grub-core/commands/wildcard.c (make_regex): Handle @.
17133
4155e697
VS
171342011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17137
ab178c08
SJ
171382011-08-21 Szymon Janc <szymon@janc.net.pl>
17139
17140 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17141 AC_LANG_CONFTEST macros.
17142
7dc3c686
SJ
171432011-08-20 Szymon Janc <szymon@janc.net.pl>
17144
17145 Add grub-fstest option to uncompress data for commands.
17146
17147 * util/grub-fstest.c (uncompress): New var.
17148 (options): New option -u.
17149
fe8d4a7b
SJ
171502011-08-20 Szymon Janc <szymon@janc.net.pl>
17151
17152 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17153 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17154
a5219af1
SJ
171552011-08-20 Szymon Janc <szymon@janc.net.pl>
17156
17157 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17158 file type was not recognized correctly (not gzip or corrupted).
17159
f87abff5
VS
171602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17163 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17164
d94497ea
VS
171652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17168 loongson.
17169 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17170 video_radeon_fuloong2e.
17171 * grub-core/video/radeon_fuloong2e.c: New file.
17172 * include/grub/video.h (grub_video_id_t): Add new ID
17173 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17174
0d1fd011
VS
171752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17178 define.
17179 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17180 that PRID matches the detected subplatform and reset the subplatform
17181 if it doesn't.
17182
84beb0ee
VS
171832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17186
1227c133
VS
171872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 Fix PCI iterating on functions >= 4.
17190
17191 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17192 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17193 Removed.
17194 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17195 (grub_pci_read): Fix bitmask.
17196 (grub_pci_read_word): Likewise.
17197 (grub_pci_read_byte): Likewise.
17198 (grub_pci_write): Likewise.
17199 (grub_pci_write_word): Likewise.
17200 (grub_pci_write_byte): Likewise.
17201
9594c689
VS
172022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17205 can still be specified in TARGET_CFLAGS)
17206
14a2562c
VS
172072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17210
17211 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17212 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17213 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17214 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17215 (FULOONG): Rename to ...
17216 (FULOONG2F): ... this. All users updated.
17217 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17218 (machtype_fuloong2f_str): ... this.
17219 (machtype_fuloong2e_str): New string.
17220 Check for machtype_fuloong2e_str.
17221 * grub-core/loader/mips/linux.c (loongson_machtypes)
17222 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17223 * grub-core/term/serial.c (loongson_defserial)
17224 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17225 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17226 loongson_defserial.
17227 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17228 Rename to ...
17229 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17230 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17231 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17232 to IMAGE_FULOONG2F_FLASH. All users updated.
17233 (image_targets): Rename images.
17234 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17235
b526cbb6
SJ
172362011-08-19 Szymon Janc <szymon@janc.net.pl>
17237
17238 Make enable of disk cache statistics code configurable.
17239
17240 * configure.ac: --enable-cache-stats added.
17241 * config.h.in (DISK_CACHE_STATS): New define.
17242 * grub-core/Makefile.core.def (cacheinfo): New command.
17243 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17244 * grub-core/commands/cacheinfo.c: New file.
17245 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17246 moved to cacheinfo.c.
17247 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17248 debug code.
17249 * include/grub/disk.h: Likewise.
17250
fb739ccd
SJ
172512011-08-19 Szymon Janc <szymon@janc.net.pl>
17252
17253 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17254 * grub-core/Makefile.am: Likewise.
17255
2bba8cfd
VS
172562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17257
17258 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17259 non-zero pull.
17260
43526629
VS
172612011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17264 All users updated.
17265 (grub_jfs_lookup_symlink): Use correct starting inode.
17266
5c144cc8
VS
172672011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17268
17269 * util/grub-setup.c (main): Add missing gcry initialisation.
17270
b1257f65
VS
172712011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 Don't accept text modes on EFI when booting Linux.
17274
17275 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17276 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17277
828bc390
ML
172782011-08-15 Mario Limonciello <mario_limonciello@dell.com>
172792011-08-15 Colin Watson <cjwatson@ubuntu.com>
17280
17281 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17282 use of "/path/.." as in grub-install for EFI as well as handling
17283 symlinks correctly.
17284 Fixes Debian bug #637768.
17285
5f60ccac
CW
172862011-08-15 Colin Watson <cjwatson@ubuntu.com>
17287
17288 * util/grub-probe.c: Remove duplicate #include.
17289
6dc212f9
RM
172902011-08-10 Robert Millan <rmh@gnu.org>
17291
17292 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17293
17294 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17295 function.
17296 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17297 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17298
66816d85
RM
172992011-08-03 Robert Millan <rmh@gnu.org>
17300
17301 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17302 la_array as packed.
17303 Reported by: Zachary Bedell
17304
20168fca
CW
173052011-07-26 Colin Watson <cjwatson@ubuntu.com>
17306
17307 * configure.ac: The Loongson port requires grub-mkfont due to its
17308 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17309 be built.
17310
303b6246
CW
173112011-07-26 Colin Watson <cjwatson@ubuntu.com>
17312
17313 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17314 processing arguments (otherwise help2man fails when GRUB has not yet
17315 been installed).
17316
6795300e
VS
173172011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17318
41aa28ea
VS
17319 New script grub-mkstandalone.
17320
17321 * Makefile.util.def (grub-mkstandalone): New script.
17322 * docs/man/grub-mkstandalone.h2m: New file.
17323 * util/grub-mkstandalone.in: Likewise.
17324
173252011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 Support ATA disks with 4K sectors.
6795300e
VS
17328
17329 * include/grub/ata.h (grub_ata): New member log_sector_size.
17330 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17331 (grub_ata_identify): Read sector size.
17332 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17333
92227597
VS
173342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 * util/grub-install.in: Don't use uhci outside of x86.
17337
c77069f5
VS
173382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * util/grub-mkrescue.in: Add missing quotes.
17341
173422011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17343
17344 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17345 dereference.
17346
583168a2
VS
173472011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17350
6be1c01f
VS
173512011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17352
17353 * include/grub/video.h: add missing EXPORT_FUND on
17354 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17355
a1167439
VS
173562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17357
17358 * include/grub/mips/kernel.h: Fix define conflict.
17359
bf66054f
VS
173602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17363 all four ways.
17364
8fc4fa45
CW
173652011-07-21 Colin Watson <cjwatson@ubuntu.com>
17366
17367 Preferred resolution detection for VBE.
17368
17369 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17370 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17371 the Flat Panel extension, in line with the X.org VESA driver.
17372 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17373 New function.
17374 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17375 (grub_vbe_bios_read_edid): Likewise.
17376 (grub_vbe_get_preferred_mode): Likewise.
17377 (grub_video_vbe_setup): When the mode is "auto", try to get the
17378 preferred mode from VBE, and use the largest mode that is no larger
17379 than the preferred mode (some BIOSes expose a preferred mode that is
17380 not in their mode list!). If this fails, fall back to 640x480 as a
17381 safe conservative choice.
17382 (grub_video_vbe_get_edid): New function.
17383 (grub_video_vbe_adapter): Add get_edid.
17384 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17385 (struct grub_video_adapter): Add get_edid.
17386 (grub_video_edid_checksum): Add prototype.
17387 (grub_video_edid_preferred_mode): Likewise.
17388 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17389 structure.
17390
17391 * grub-core/commands/videoinfo.c (print_edid): New function.
17392 (grub_cmd_videoinfo): Print EDID if available.
17393
17394 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17395 is more appropriate on a wider range of platforms than 640x480.
17396 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17397 documentation.
17398
ca5572a9
VS
173992011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17402
e4bcf625
VS
174032011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * po/POTFILES.in: Regenerate.
17406
c4edd548
VS
174072011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17408
17409 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17410 incorrect memory usage.
17411
16a2bab0
VS
174122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * util/grub-install.in: Source grub-mkconfig_lib.
17415
2e418de6
VS
174162011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 Remove getroot.c from core on emu platform.
17419
17420 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17421 kern/emu/raid.c.
17422 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17423 useless.
17424 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17425 * util/getroot.c (get_win32_path): ... here.
17426 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17427 * util/getroot.c (fini_libzfs): ... here.
17428 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17429 * util/getroot.c (grub_get_libzfs_handle): ... here.
17430 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17431 Moved from here...
17432 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17433 * grub-core/kern/emu/misc.c
17434 (grub_make_system_path_relative_to_its_root): Moved from here...
17435 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17436 * grub-core/kern/emu/getroot.c: Moved from here ...
17437 * util/getroot.c: ... here. All users updated.
17438 * grub-core/kern/emu/raid.c: Moved from here ...
17439 * util/raid.c: ... here. All users updated.
17440
def9832a
VS
174412011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 * po/POTFILES.in: Regenerate.
17444
cd8fe79a
VS
174452011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 Fix compilation on GNU/Linux.
17448
17449 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17450 Disable geli.
17451 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17452 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17453 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17454
a251b719
VS
174552011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
174562011-07-07 Michael Gorven <michael@gorven.za.net>
174572011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17458
17459 LUKS and GELI support.
17460
17461 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17462 grub-core/disk/luks.c, grub-core/disk/geli.c,
17463 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17464 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17465 grub-core/lib/arg.c.
17466 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17467 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17468 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17469 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17470 (grub-bin2h): Add libgcry.a.
17471 (grub-mkimage): Likewise.
17472 (grub-mkrelpath): Likewise.
17473 (grub-script-check): Likewise.
17474 (grub-editenv): Likewise.
17475 (grub-mkpasswd-pbkdf2): Likewise.
17476 (grub-pe2elf): Likewise.
17477 (grub-fstest): Likewise.
17478 (grub-mkfont): Likewise.
17479 (grub-mkdevicemap): Likewise.
17480 (grub-probe): Likewise.
17481 (grub-ofpath): Likewise.
17482 (grub-mklayout): Likewise.
17483 (example_unit_test): Likewise.
17484 (grub-menulst2cfg): Likewise.
17485 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17486 * grub-core/Makefile.core.def (cryptodisk): New module.
17487 (luks): Likewise.
17488 (geli): Likewise.
17489 * grub-core/disk/AFSplitter.c: New file.
17490 * grub-core/disk/cryptodisk.c: Likewise.
17491 * grub-core/disk/geli.c: Likewise.
17492 * grub-core/disk/luks.c: Likewise.
17493 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17494 grub_util_is_lvm.
17495 (grub_util_get_dm_abstraction): New function.
17496 (grub_util_follow_gpart_up): Likewise.
17497 (grub_util_get_geom_abstraction): Likewise.
17498 (grub_util_get_dev_abstraction): Use new functions.
17499 (grub_util_pull_device): Pull GELI and LUKS.
17500 (grub_util_get_grub_dev): Handle LUKS and GELI.
17501 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17502 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17503 (follow_geom_up): Removed.
17504 (grub_util_fd_seek): New function.
17505 (open_device): Use grub_util_fd_seek.
17506 (nread): Rename to ..
17507 (grub_util_fd_read): ... this. All users updated.
17508 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17509 (grub_crypto_cbc_decrypt): Likewise.
17510 (grub_crypto_hmac_write): Likewise.
17511 (grub_crypto_hmac_buffer): Likewise.
17512 (grub_password_get): Extend to util.
17513 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17514 New member modname.
17515 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17516 * include/grub/cryptodisk.h: New file.
17517 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17518 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17519 LUKS and GELI.
17520 (grub_util_follow_gpart_up): New proto.
17521 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17522 (grub_util_fd_read): Likewise.
17523 (grub_cryptodisk_cheat_mount): Likewise.
17524 (grub_util_cryptodisk_print_uuid): Likewise.
17525 (grub_util_get_fd_sectors): Likewise.
17526 * util/grub-fstest.c (mount_crypt): New var.
17527 (fstest): Mount crypto if requested.
17528 (options): New option -C.
17529 (argp_parser): Parse -C.
17530 (main): Init and fini gcry.
17531 * util/grub-install.in: Support cryptodisk install.
17532 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17533 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17534 cryptodisk.
17535 (prepare_grub_to_access_device): Likewise.
17536 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17537 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17538 (probe_cryptodisk_uuid): New function.
17539 (probe_abstraction): Likewise.
17540 (probe): Use new functions.
17541 * util/import_gcry.py: Create Makefile.utilgcry.def.
17542 Add modname member.
17543
9bfdcbbc
VS
175442011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 Lazy device scanning.
17547
17548 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17549 (grub-setup): Remove util/raid.c.
17550 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17551 * grub-core/disk/lvm.c (scan_depth): New variable.
17552 (grub_lvm_iterate): Rescan if necessary.
17553 (find_lv): New function based on grub_lvm_open.
17554 (grub_lvm_open): Use find_lv. Rescan on error.
17555 (is_node_readable): New function.
17556 (is_lv_readable): Likewise.
17557 (grub_lvm_scan_device): Skip already found disks.
17558 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17559 Stop if searched device is found and readable.
17560 * grub-core/disk/raid.c (inscnt): New variable.
17561 (scan_depth): Likewise.
17562 (scan_devices): New function based on grub_raid_register. Abort if
17563 looked for device is found.
17564 (grub_raid_iterate): Rescan if needed.
17565 (find_array): NEw function based on -grub_raid_open.
17566 (grub_raid_open): Use find_array and rescan.
17567 (insert_array): Set became_readable_at.
17568 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17569 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17570 New function.
17571 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17572 (grub_util_pull_device): New function.
17573 (grub_util_get_grub_dev): Call grub_util_pull_device.
17574 * util/raid.c: Moved to ..
17575 * grub-core/kern/emu/raid.c: ... here.
17576 (grub_util_raid_getmembers): New parameter "bootable".
17577 All users updated. Support 1.x.
17578 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17579 All users updated.
17580 * include/grub/disk.h (grub_disk_pull_t): New enum.
17581 (grub_disk_dev): Change iterate prototype.
17582 All users updated.
17583 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17584 New proto.
17585 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17586 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17587 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17588 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17589 All users updated.
17590 * include/grub/util/raid.h: Removed.
17591
1c358e59
VS
175922011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17593
17594 * po/POTFILES.in: Regenerate.
17595
abee94ed
VS
175962011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17597
17598 Unify sparc init with other ieee1275.
17599
17600 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17601 instead of kern/sparc64/ieee1275/init.c.
17602 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17603 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17604 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17605 grub/machine/kernel.h.
17606 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17607 (grub_claim_heap) [__sparc__]: Use sparc version.
17608 (grub_machine_init): Moved args parsing to
17609 (grub_parse_cmdline): ...this.
17610 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17611 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17612 New definition.
17613 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17614
17615 Move BOOTP to separate file.
17616
17617 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17618 * grub-core/net/net.c: Move all BOOTP functions to
17619 * grub-core/net/bootp.c: ... here.
17620
17621 Use frame interface on PXE.
17622
17623 * grub-core/Makefile.core.def (pxecmd): Removed.
17624 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17625 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17626 * grub-core/i386/pc/pxe.c: Moved from here ...
17627 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17628 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17629 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17630
17631 EFI network support.
17632
17633 * grub-core/Makefile.core.def (efinet): New module.
17634 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17635 here...
17636 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17637 All users updated.
17638 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17639 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17640 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17641 * grub-core/net/drivers/efi/efinet.c: New file.
17642 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17643 (grub_efi_net_config): New extern var.
17644
17645 Various cleanups and bugfixes.
17646
17647 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17648 error.
17649 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17650 disk declared as partition.
17651 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17652 leak on failure.
17653 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17654 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17655 (grub_debug_zalloc): Likewise.
17656 (grub_debug_realloc): Likewise.
17657 (grub_debug_memalign): Likewise.
17658 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17659 Check that target is IPv4.
17660 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17661 local-mac-address as fallback.
17662 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17663 memory leak.
17664 * grub-core/net/ip.c (ipchksum): Rename to ...
17665 (grub_net_ip_chksum): ... this. All users updated.
17666 (grub_net_recv_ip_packets): Special handling for DHCP.
17667 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17668
17669 Unify prefix handling
17670
17671 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17672 (grub_machine_get_bootlocation): ... this.
17673 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17674 (grub_machine_get_bootlocation): ... this.
17675 (grub_prefix): New variable.
17676 (prefix): Removed.
17677 (root_dev): New variable.
17678 (dir): Likewise.
17679 (main): Use new variables.
17680 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17681 Revamped into ...
17682 (grub_machine_get_bootlocation): ... this.
17683 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17684 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17685 (grub_machine_get_bootlocation): ... this.
17686 (grub_machine_set_prefix): Removed.
17687 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17688 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17689 Revamped into ...
17690 (grub_machine_get_bootlocation): ... this.
17691 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17692 (grub_set_prefix_and_root): ... this. All users updated.
17693 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17694 Revamped into ...
17695 (grub_machine_get_bootlocation): ... this.
17696 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17697 (grub_machine_get_bootlocation): New proto.
17698 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17699
17700 Less intrusive and more reliable seek on network implementation.
17701
17702 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17703 (grub_file_seek): Don't call grub_file_net_seek.
17704 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17705 (grub_net_fs_read_real): .. this.
17706 (grub_net_seek_real): Use net->offset.
17707 (grub_net_fs_read): Seek if necessary.
17708
17709 Unify IEEE1275 netwotk config with the other platforms.
17710
17711 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17712 New variable.
17713 (grub_machine_get_bootlocation): Support network.
17714 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17715 Support type and device parsing.
17716 (grub_ieee1275_get_device_type): New function.
17717 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17718 into ...
17719 (grub_ieee1275_net_config_real): ... this.
17720 (grub_ofnet_probecards): Removed.
17721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17722 * include/grub/ieee1275/ofnet.h: Removed.
17723 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17724 extern var.
17725 (grub_ieee1275_get_device_type): New function.
17726
17727 Unify network device closing across platforms and make more robust.
17728
17729 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17730 grub_grubnet_fini.
17731 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17732 already.
17733 * grub-core/net/net.c (grub_net_network_level_interface_register):
17734 Update num_ifaces.
17735 (grub_net_card_unregister): Close all interfaces.
17736 (receive_packets): Don't poll if no iterfaces are registered.
17737 Open if necessary.
17738 (grub_net_fini_hw): New function.
17739 (grub_net_restore_hw): Likewise.
17740 (fini_hnd): New variable.
17741 (GRUB_MOD_INIT): Register preboot hook.
17742 (GRUB_MOD_FINI): Run and unregister preboot hook.
17743
17744 Poll network cards when idle.
17745
17746 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17747 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17748 * grub-core/net/net.c (receive_packets): Save last poll time.
17749 (grub_net_poll_cards_idle_real): New function.
17750 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17751 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17752 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17753
17754 Rename ofnet interfaces.
17755
17756 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17757 (grub_ofnet_findcards): Use ofnet_%s names.
17758
17759 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17760
17761 Cleanup socket opening.
17762
17763 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17764 (grub_net_fs_close): Likewise.
17765 (grub_net_fs_read_real): Use eof member.
17766 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17767 (+grub_net_udp_close): New inline function.
17768
17769 * include/grub/net/tftp.h: Moved to the top of ...
17770 * grub-core/net/tftp.c: ... here.
17771 * include/grub/net/ip.h: Moved mostly to the top of ...
17772 * grub-core/net/ip.c: ... here.
17773 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17774 * grub-core/net/ethernet.c: ... here.
17775
17776 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17777
17778 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17779 FS name.
17780
17781 * include/grub/net/ip.h (ipv4_ini): Removed.
17782 (ipv4_fini): Likewise.
17783
17784 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17785 (grub_net_send_ip_packets): Likewise.
17786
cf1337aa
VS
177872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17790 grub_read_cmos prototype.
17791
93c06ff9
VS
177922011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 VGA text support in qemu-mips
17795
17796 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17797 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17798 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17799 text.
17800 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17801 * grub-core/kern/vga_init.c: ... this.
17802 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17803 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17804 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17805 Adjust.
17806 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17807 GRUB_MACHINE_PCI_IO_BASE.
17808
748ccabe
VS
178092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 MIPS qemu flash support.
17812
17813 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17814 magic.
17815 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17816 (grub_machine_init): Probe memory if its size isn't known.
17817 * util/grub-mkimage.c (image_targets): Add flash targets.
17818 (generate_image): Handle flash targets.
17819
d7345994
VS
178202011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 MIPS qemu at_keyboard support.
17823
17824 * gentpl.py (videoinkernel): Add qemu-mips.
17825 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17826 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17827 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17828 modules.
17829 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17830 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17831 * grub-core/term/serial.c (grub_serial_register)
17832 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17833
a07a81b3
VS
178342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 CMOS support on sparc.
17837
17838 * gentpl.py (cmos): Add powerpc and sparc.
17839 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17840 powerpc and sparc.
17841 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17842 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17843 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17844 grub_set_datetime_cmos.
17845 * grub-core/lib/ieee1275/cmos.c: New file.
17846 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17847 (find_rtc): Set no_ieee1275_rtc on error.
17848 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17849 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17850 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17851 fail. Move value to argument. All users updated
17852 (grub_cmos_write): Likewise.
17853 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17854 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
17855 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
17856 grub_get_datetime_cmos and grub_set_datetime_cmos.
17857
77546584
GS
178582011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17859
17860 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
17861 sourcing grub-mkconfig_lib.
17862 * util/update-grub_lib.in: Likewise.
17863 * util/grub.d/00_header.in: Likewise.
17864 * util/grub.d/10_hurd.in: Likewise.
17865 * util/grub.d/10_kfreebsd.in: Likewise.
17866 * util/grub.d/10_linux.in: Likewise.
17867 * util/grub.d/10_netbsd.in: Likewise.
17868 * util/grub.d/10_windows.in: Likewise.
17869 * util/grub.d/20_linux_xen.in: Likewise.
17870 * util/grub.d/30_os-prober.in: Likewise.
17871
54894791
CW
178722011-06-28 Colin Watson <cjwatson@ubuntu.com>
17873
17874 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
17875 default_bg_color rather than black.
17876 (grub_gfxterm_fullscreen): Likewise.
17877 (grub_gfxterm_background_color_cmd): Save new background color in
17878 default_bg_color.
17879
8d5d8444
VS
178802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
17883
5afeb5bd
VS
178842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17885
17886 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
17887 mismerge.
17888
ba7df45e
VS
178892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 Chainloading on coreboot support.
17892
17893 * grub-core/Makefile.core.def (chain): Add coreboot.
17894 * grub-core/loader/i386/coreboot/chainloader.c: New file.
17895
d0b526b2
VS
178962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
17899 if it happens.
17900
5ff1d945
VS
179012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17902
17903 Implement time command.
17904
17905 * grub-core/Makefile.core.def (time): New module.
17906 * grub-core/commands/time.c: New file.
17907 * grub-core/script/parser.y: Remove "time" keyword.
17908 * grub-core/script/yylex.l: Likewise.
17909
5ebaad7e
VS
179102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
17913
bdea3798
VS
179142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
17917 when handling leftovers.
17918
b28c5655
VS
179192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
17922 so that help2man doesn't fail.
17923
b6f945dc
VS
179242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
17927 type in pointers on sparc64.
17928 (get_card_packet): Likewise.
17929
f9b75e8a
CW
179302011-06-27 Colin Watson <cjwatson@ubuntu.com>
17931
17932 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
17933 with `*'.
17934 (grub_cmd_videoinfo): Fetch current video mode.
17935
1e3d9b86
VS
179362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
17939 because of underlying system restrictions.
17940
efff4b1c
VS
179412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
17944 necessary.
17945
9fc9ce37
VS
179462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 Coreboot video support.
17949
17950 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
17951 (vbe): Likewise.
17952 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
17953 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
17954 here ...
17955 * grub-core/kern/i386/int.S: ... here.
17956 * grub-core/video/i386/pc/vbe.c: Updated includes.
17957 * grub-core/video/i386/pc/vga.c: Likewise.
17958 * include/grub/i386/coreboot/memory.h
17959 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
17960 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
17961 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
17962 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
17963 Disable interrupts.
17964 * include/grub/i386/pc/vga.h: Removed. All users updated.
17965
41bec7fe
VS
179662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
17969 definitions for dprintf.
17970 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
17971
ca80309d
VS
179722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
17975 prototype.
17976 (get_card_packet): Likewise.
17977
9e322ce8
YB
179782011-06-26 Yves Blusseau <blusseau@zetam.org>
17979
17980 Display the path of the file when file is not found
17981
17982 * grub-core/fs/fat.c: Display the filename when file is not found.
17983 * grub-core/fs/fshelp.c: Likewise.
17984 * grub-core/fs/hfs.c: Likewise.
17985 * grub-core/fs/jfs.c: Likewise.
17986 * grub-core/fs/minix.c: Likewise.
17987 * grub-core/fs/ufs.c: Likewise.
17988 * grub-core/fs/btrfs.c: Likewise.
17989 * grub-core/commands/i386/pc/play.c: Likewise.
17990
cbf597af
SJ
179912011-06-26 Szymon Janc <szymon@janc.net.pl>
17992
17993 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
17994 pointer checks before calling grub_free().
17995 * grub-core/commands/wildcard.c (match_devices): Likewise.
17996 * grub-core/commands/wildcard.c (match_files): Likewise.
17997 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
17998 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
17999 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18000 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18001 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18002 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18003 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18004 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18005 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18006
6295b32f
P
180072011-06-25 Patrick <p55@mailinator.com>
18008
18009 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18010
77c0840b
VS
180112011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18014 (grub_pxe_send): Likewise.
18015 (GRUB_MOD_INIT): Fix types.
18016
40ea05de
SJ
180172011-06-24 Szymon Janc <szymon@janc.net.pl>
18018
18019 * grub-core/io/xzio.c: Fix code style issues
18020
90162423
MRA
180212011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
180222011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
18023
18024 Network infrastructure.
18025 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18026
18027 * include/grub/net/arp.h: New file.
90162423
MRA
18028 * include/grub/net/device.h: Likewise.
18029 * include/grub/net/ethernet.h: Likewise.
18030 * include/grub/net/ip.h: Likewise.
18031 * include/grub/net/netbuff.h: Likewise.
18032 * include/grub/net/tftp.h: Likewise.
18033 * include/grub/net/udp.h: Likewise.
18034 * include/grub/ieee1275/ofnet.h: Likewise.
18035 * include/grub/emu/export.h: Likewise.
18036 * include/grub/net.h: Likewise.
18037 * grub-core/net/arp.c: Likewise.
18038 * grub-core/net/ethernet.c: Likewise.
18039 * grub-core/net/ip.c: Likewise.
18040 * grub-core/net/udp.c: Likewise.
18041 * grub-core/net/tftp.c: Likewise.
18042 * grub-core/net/netbuff.c: Likewise.
18043 * grub-core/net/net.c: Likewise.
18044 * grub-core/net/drivers/emu/emunet.c: Likewise.
18045 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18046 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18047 export.h.
18048 * grub-core/Makefile.core.def (net): New module.
18049 (tftp): Likewise.
18050 (ofnet): Likewise.
18051 (emunet): Likewise.
18052 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18053 network protocols.
18054 * grub-core/kern/device.c (grub_net_open) : New variable.
18055 (grub_device_open): Handle network device.
18056 (grub_device_close): Likewise.
18057 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18058 (grub_grubnet_fini): Likewise.
18059 (grub_file_seek): Seek in network device.
18060 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18061 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18062 network root.
18063 (grub_machine_fini): Call grub_grubnet_fini.
18064 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18065 network.
18066 (grub_ieee1275_get_aliasdevname): New function.
18067 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18068 Add unofficial Solaris network info.
18069 (grub_multiboot_make_mbi): Likewise.
18070 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18071 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18072 * include/grub/device.h (grub_fs): Removed.
18073 * include/grub/err.h (grub_err_t): Add network-related values.
18074 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18075 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18076 (grub_ieee1275_get_aliasdevname): New proto.
18077 * include/grub/net.h: Rewritten.
423a1849 18078
031f22a0
VS
180792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18082 names.
18083
4388ca72
VS
180842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18085
18086 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18087 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18088 it truncates the output.
18089 Reported by: Ximin Luo.
18090
98e2f506
VS
180912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18094
2a5e94d8
VS
180952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18098 partmap before abstraction.
18099
535c1910
AK
181002011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18101
18102 * util/grub-mkconfig_lib.in: Add missing quotes.
18103
bc09e1a2
VS
181042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18107 old method if mountinfo would return /dev/root and /dev/root doesn't
18108 exist.
18109
290766fb
VS
181102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 ZFS zlib support
18113
18114 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18115 (decomp_table): Add zlib entries.
18116 (zio_read): USe 8 bits for compression function rather than 3.
18117 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18118
181192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 * grub-core/disk/ahci.c: Add missing license statements.
18122 * grub-core/fs/romfs.c: Likewise.
18123 * grub-core/lib/ia64/setjmp.S: Likewise.
18124 * grub-core/loader/i386/pc/freedos.c: Likewise.
18125 * grub-core/loader/ia64/efi/linux.c: Likewise.
18126 * grub-core/video/colors.c: Likewise.
18127 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18128
5ab3f48a
VS
181292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 AHCI support.
18132
18133 * grub-core/Makefile.core.def (ata_pthru): Removed.
18134 (ahci): New module.
18135 (pata): Likewise.
18136 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18137 on unload.
18138 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18139 readwrite.
18140 (grub_hdparm_do_check_powermode_cmd): Likewise.
18141 (grub_hdparm_do_smart_cmd): Likewise.
18142 (grub_hdparm_set_val_cmd): Likewise.
18143 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18144 * grub-core/disk/ahci.c: New file.
18145 * grub-core/disk/ata.c: Factor out the low-level part into ...
18146 * grub-core/disk/pata.c: ... here.
18147 * grub-core/disk/ata_pthru.c: Contents moved to ...
18148 * grub-core/disk/pata.c: ... here.
18149 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18150 (grub_scsi_iterate): Use grub_scsi_names.
18151 (grub_scsi_open): Likewise.
18152 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18153 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18154 (grub_ata_regs_t): New struct.
18155 (grub_disk_ata_pass_through_parms): Likewise.
18156 (grub_ata_device): Renamed to ...
18157 (grub_ata): ... this.
18158 (grub_ata_dev): New struct.
18159 Removed all low-level inline functions.
18160 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18161 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18162 iterate hooks and open. All users updated.
18163 * util/grub-install.in: Handle AHCI disk module.
18164
c31dc5f5
SJ
181652011-06-23 Szymon Janc <szymon@janc.net.pl>
18166
18167 Add support for DRI and RSTn markers in JPEG files.
18168
18169 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18170 (JPEG_MARKER_RST0): Likewise.
18171 (JPEG_MARKER_RST1): Likewise.
18172 (JPEG_MARKER_RST2): Likewise.
18173 (JPEG_MARKER_RST3): Likewise.
18174 (JPEG_MARKER_RST4): Likewise.
18175 (JPEG_MARKER_RST5): Likewise.
18176 (JPEG_MARKER_RST6): Likewise.
18177 (JPEG_MARKER_RST7): Likewise.
18178 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18179 (grub_jpeg_decode_dri): New function.
18180 (grub_jpeg_decode_sos): Move image data related part into
18181 grub_jpeg_decode_data function.
18182 (grub_jpeg_decode_data): New function.
18183 (grub_jpeg_reset): New function.
18184 (grub_jpeg_decode_jpeg): Handle new markers.
18185
fe12fd5b
VS
181862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 * util/ieee1275/ofpath.c (check_sas): Close fd.
18189 (main): Free of_path.
18190 Reported by: David Volgyes <dvolgyes>.
18191
03147f46
VS
181922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18195 Reported by: David Volgyes <dvolgyes>.
18196
cad3237f
VS
181972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18200 file after stat.
18201 Reported by: David Volgyes <dvolgyes>.
18202
13548d26
VS
182032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18206
18207 Reported by: David Volgyes <dvolgyes>.
18208
e061a1b5
VS
182092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18212 Prevent memory leak.
18213
1abe47dc
VS
182142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18217 (main): Close file.
e061a1b5 18218 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18219
fbc62666
VS
182202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18223 to continue if allocation is failed.
18224
18225 Reported by: David Volgyes <dvolgyes>.
18226
e98c83e9
DV
182272011-06-23 David Volgyes <dvolgyes>
18228
18229 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18230 dereference.
18231
a199a8cd
VS
182322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 Fix spurious warning.
18235
18236 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18237 (acorn_partition_map_find): Use .bin member.
18238
e2d1dba0
VS
182392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18242 /dev/root as a valid device.
18243
8a5d6919
JM
182442011-06-23 Jim Meyering <meyering@redhat.com>
18245
e2d1dba0
VS
18246 Avoid NULL deref in grub_device_open.
18247
8a5d6919
JM
18248 * grub-core/kern/device.c (grub_device_open): Don't dereference
18249 a NULL pointer upon failed grub_env_get.
18250
f7db6f4a
VS
182512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18252
18253 Support non-512B sectors and agglomerate reads.
18254
18255 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18256 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18257 (disk_io_guid): Removed.
18258 (make_devices): Locate solely by BlockIO.
18259 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18260 (grub_efidisk_read): Use read_blocks.
18261 (grub_efidisk_write): Use write_blocks.
18262 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18263 log_sector_size.
18264 (get_safe_sectors): Handle non-512B sectors.
18265 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18266 sectors.
18267 (grub_biosdisk_write): Handle non-512B sectors.
18268 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18269 (grub_scsi_read): Remove special non-512B block handling (now handled
18270 one level up).
18271 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18272 and do sanity checks.
18273 (grub_disk_adjust_range): Handle non-512B sectors.
18274 (transform_sector): New function.
18275 (grub_disk_read_small): Likewise.
18276 (grub_disk_read): Rewritten.
18277 (grub_disk_write): Handle non-512B sectors.
18278 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18279 log_sector_size.
18280 (open_device): Use log_sector_size.
18281 (grub_util_biosdisk_read): Likewise.
18282 (grub_util_biosdisk_write): Likewise.
18283 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18284 non-512B sectors.
18285 (pc_partition_map_embed): Likewise.
18286 * include/grub/disk.h (grub_disk): New field log_sector_size.
18287 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18288 (GRUB_DISK_CACHE_BITS): Increased to 6.
18289 * util/grub-fstest.c (fstest): New command testload.
18290 (argp_parser): Likewise.
18291
881ac815
RM
182922011-06-16 Robert Millan <rmh@gnu.org>
18293
18294 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18295 `ata' driver on kernel of FreeBSD 9.
18296
18297 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18298 (get_ataraid_disk_name): New functions.
18299 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18300 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18301 get_ataraid_disk_name() and get_ada_disk_name().
18302
1e9aef7d
CW
183032011-06-13 Colin Watson <cjwatson@ubuntu.com>
18304
18305 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18306 input format.
18307
351c7c8a
CW
183082011-05-29 Colin Watson <cjwatson@ubuntu.com>
18309
18310 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18311 `ftp.gnu.org' for `alpha.gnu.org'.
18312
6b4e6430
CW
183132011-05-27 Colin Watson <cjwatson@ubuntu.com>
18314
18315 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18316 partitions under /dev/disk/by-id/.
18317
c64db050
CW
183182011-05-27 Colin Watson <cjwatson@ubuntu.com>
18319
18320 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18321 after ten consecutive open failures. Scanning all the way up to
18322 10000 is excessive and can cause serious performance problems in
18323 some configurations.
18324 Fixes Ubuntu bug #787461.
18325
245f4aba
VS
183262011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18329 opening new one.
18330
f767c929
VS
183312011-05-21 Colin Watson <cjwatson@ubuntu.com>
183322011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18333
18334 Don't stat devices unless we have to.
18335
18336 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18337 dir == /dev/mapper.
18338 (grub_guess_root_device): Use already known os_dev if possible.
18339 * grub-core/kern/emu/hostdisk.c
18340 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18341 if device is known to be a dm one.
18342
f35fa3a6
CW
183432011-05-20 Colin Watson <cjwatson@ubuntu.com>
18344
18345 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18346 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18347 Reported by: Pawel Tecza.
18348
9a79fcf2
VS
183492011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18352 (lsefisystab): Likewise.
18353 (lssal): Likewise.
18354 (lsefimmap): Likewise.
18355 (hdparm): Enable on qemu-mips.
18356 (setjmp): Add ia64 nodist.
18357 (serial): Simplify tags.
18358
63e3eea9
CW
183592011-05-18 Colin Watson <cjwatson@ubuntu.com>
18360
18361 * Makefile.util.def (grub-ofpathname): Install manual page.
18362
09728256
CW
183632011-05-18 Colin Watson <cjwatson@ubuntu.com>
18364
18365 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18366
8b63a142
CW
183672011-05-18 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18370
e775d8ed
VS
183712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18374 into dprintf.
18375
bf947d36
VS
183762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18377
18378 Use full 64-bit division.
18379
18380 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18381 (grub_divmod64): ... this.
18382 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18383 version.
18384
b84f26c5
CW
183852011-05-18 Colin Watson <cjwatson@ubuntu.com>
18386
18387 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18388 `source'.
18389
5626056f
CW
183902011-05-18 Colin Watson <cjwatson@ubuntu.com>
18391
18392 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18393 to avoid accidents when debugging with 'sh -x'.
18394 * grub-core/gensyminfo.sh.in: Likewise.
18395 * tests/example_scripted_test.in: Likewise.
18396 * tests/grub_cmd_regexp.in: Likewise.
18397 * tests/grub_script_blanklines.in: Likewise.
18398 * tests/grub_script_dollar.in: Likewise.
18399 * tests/grub_script_expansion.in: Likewise.
18400 * tests/grub_script_final_semicolon.in: Likewise.
18401 * tests/partmap_test.in: Likewise.
18402 * tests/util/grub-shell-tester.in: Likewise.
18403 * tests/util/grub-shell.in: Likewise.
18404
e2965f4a
CW
184052011-05-18 Colin Watson <cjwatson@ubuntu.com>
18406
18407 Move gfxmenu color handling to video, so that gfxterm can use it
18408 too.
18409
18410 * grub-core/gfxmenu/named_colors.c: Move to ...
18411 * grub-core/video/colors.c: ... here. Rename
18412 grub_gui_get_named_color to grub_video_get_named_color.
18413 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18414 * grub-core/video/colors.c (my_isxdigit): ... here.
18415 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18416 Move to ...
18417 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18418 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18419 to ...
18420 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18421
18422 * include/grub/gui.h (grub_gui_color_t): Move to ...
18423 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18424 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18425 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18426 * include/grub/gui.h (grub_gui_map_color): Move to ...
18427 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18428 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18429 to ...
18430 * include/grub/video.h (grub_video_get_named_color): ... here.
18431 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18432 * include/grub/video.h (grub_video_parse_color): ... here.
18433
18434 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18435 video/colors.c.
18436 (gfxmenu): Remove gfxmenu/named_colors.c.
18437 (video) [videomodules]: Add video/colors.c.
18438
18439 Add a background_color command.
18440
18441 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18442 function.
18443 (GRUB_MOD_INIT): Register background_color command.
18444 (GRUB_MOD_FINI): Unregister background_color command.
18445 (redraw_screen_rect): Allow blend/replace of text layer to be
18446 controlled independently from whether there is a background bitmap.
18447 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18448 changing bitmap.
18449
1e4b4390
VS
184502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18451
26618ff0
VS
18452 Patch BPB in ntldr and chainloader --bpb.
18453
1e4b4390
VS
18454 * grub-core/fs/fat.c: Include grub/fat.h.
18455 (grub_fat_bpb): Moved to ...
18456 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18457 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18458 grub/ntfs.h.
18459 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18460 Moved from here...
18461 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18462 here.
18463 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18464 New function.
18465 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18466 (GRUB_MOD_INIT): Show --bpb.
18467 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18468 * grub-core/normal/main.c (features): New variable.
18469 (GRUB_MOD_INIT): Set feature_* variables.
18470 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18471 proto.
18472 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18473
cf02731e
VS
184742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18477 for cleanness.
18478
e3a1073f
VS
184792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 FreeDOS direct loading support.
18482
18483 * docs/grub.texi (Supported OS): Add FreeDOS.
18484 * grub-core/Makefile.core.def (freedos): New module.
18485 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18486 variable.
18487 (grub_relocator16_boot): Handle %ebx.
18488 * grub-core/lib/i386/relocator16.S: Likewise.
18489 * grub-core/loader/i386/pc/freedos.c: New file.
18490
05caa461
VS
184912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18492
18493 Long Linux command line support.
18494
18495 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18496 (maximal_cmdline_size): New variable.
18497 (allocate_pages): Use maximal_cmdline_size.
18498 (grub_cmd_linux): Set and use maximal_cmdline_size.
18499 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18500 (allocate_pages): Use maximal_cmdline_size.
18501 (grub_cmd_linux): Set and use maximal_cmdline_size.
18502 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18503 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18504 and cmdline_size.
18505
a2491e23
VS
185062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
185072011-05-18 Colin Watson <cjwatson@ubuntu.com>
18508
18509 Improve devmapper support
18510
18511 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18512 (grub_util_is_lvm): New function.
18513 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18514 than lvm if not dmraid.
18515 Handle mapped md nodes.
18516 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18517 (grub_util_device_is_mapped): ... this. Make always available. All users
18518 updated.
18519 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18520 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18521 dmraid nodes.
18522 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18523
6ad6223e
VS
185242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18527
18528 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18529 * grub-core/modinfo.sh.in: New file.
18530 * grub-core/Makefile.core.def (modinfo.sh): New script.
18531 * util/grub-mknetdir.in: Use modinfo.sh.
18532 * util/grub-mkrescue.in: Likewise.
18533
543a8f6e
VS
185342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18537 Fix potential usage of Elf32 instead of Elf64 when compiling on
18538 32-bit architecture. Add endianness macros while on it.
18539
4959e111
VS
185402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 Use mipsel- rather than mips- in directories involving mipsel ports to
18543 allow both endiannesses coexist.
18544
18545 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18546 mips. All conditions adjusted.
18547 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18548 variable.
18549 * util/grub-install.in: Adjust conditions to take renaming into account.
18550 * util/grub-mkimage.c (image_targets): Likewise. New target
18551 mips-qemu_mips-elf for bigendian mips.
18552
35341bbc
VS
185532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 Avoid unnecessary copying on MIPS.
18556
18557 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18558 early if src == dest.
18559 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18560 compression is none.
18561
b772baed
VS
185622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18563
18564 Reduce memory footprint on SGI by putting modules before the kernel
18565 as opposed to after.
18566
18567 * grub-core/Makefile.core.def (kernel): Increase linking address.
18568 (none_decompress): Likewise.
18569 (xz_decompress): Likewise.
18570 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18571 address.
18572 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18573 layout change.
18574 (grub_arch_modules_addr): New function.
18575 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18576 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18577 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18578 here.
18579 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18580 (grub_total_modules_size): ... this. Make global.
18581 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18582 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18583 New definition.
18584 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18585 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18586 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18587 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18588 * util/grub-mkimage.c (image_target_desc): New flag
18589 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18590 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18591 (generate_image): Handle images with modules before kernel.
18592
566a1917
VS
185932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 Prevent potential loss of memory map by overwrite on qemu-mips.
18596
18597 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18598 Save ram size in $s4.
18599 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18600 All users changed to grub_arch_memsize.
18601 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18602 Loongson.
18603 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18604 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18605 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18606 external variable.
18607
5d420cd9
CW
186082011-05-17 Colin Watson <cjwatson@ubuntu.com>
18609
18610 * .bzrignore: Remove grub-dumpbios.
18611
d064b830
CW
186122011-05-17 Colin Watson <cjwatson@ubuntu.com>
18613
18614 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18615 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18616 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18617 existing options which append).
18618 * docs/grub.texi (Simple configuration): Document new options.
18619 Reported by: Ian Jackson. Fixes Debian bug #617538.
18620
3ca2b466
CW
186212011-05-17 Colin Watson <cjwatson@ubuntu.com>
18622
18623 * util/grub-fstest.c (cmd_cat): New function.
18624 (fstest): Handle CMD_CAT.
18625 (options): Add cat.
18626 (argp_parser): Handle cat.
18627
24c9143a
CW
186282011-05-17 Colin Watson <cjwatson@ubuntu.com>
18629
18630 * Makefile.util.def (grub-bin2h): Don't install.
18631 * docs/man/grub-bin2h.h2m: Remove.
18632
90f7ac19
VS
186332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18636 place.
18637
8d4a5178
VS
186382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 Reenable qemu-mips port.
18641
18642 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18643 Fix small arc bug while on it.
18644 * gentpl.py: Handle qemu_mips.
18645 * grub-core/Makefile.am: Likewise.
18646 * grub-core/Makefile.core.def: Likewise.
18647 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18648 inappropriate includes.
18649 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18650 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18651 * grub-core/kern/main.c (grub_modules_get_end)
18652 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18653 * grub-core/kern/mips/qemu-mips: Moved to ..
18654 * grub-core/kern/mips/qemu_mips: ... this.
18655 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18656 (grub_machine_init): Call terminfo_init and serial_init.
18657 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18658 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18659 New variable.
18660 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18661 parameter passing.
18662 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18663 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18664 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18665 * include/grub/mips/qemu_mips/cmos.h: New file.
18666 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18667 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18668 Removed.
18669 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18670 Use correct mips-style address.
18671 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18672 (GRUB_TICKS_PER_SECOND): Removed.
18673 (grub_get_rtc): Likewise.
18674 (grub_cpu_idle): Likewise.
18675 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18676 New definition.
18677 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18678 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18679 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18680 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18681 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18682 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18683 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18684 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18685
400b9371
VS
186862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 SGI ARCS port.
18689
18690 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18691 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18692 platforms.
18693 * configure.ac: New target mips-arc.
18694 * gentpl.py: Likewise.
18695 * grub-core/Makefile.am: Likewise.
18696 * grub-core/Makefile.core.def: Likewise.
18697 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18698 (none_decompress): Likewise.
18699 (lsdev): New module.
18700 (datetime): Use lib/arc/datetime.c on ARC.
18701 (part_dvh): New module.
18702 * grub-core/commands/arc/lsdev.c: New file.
18703 * grub-core/disk/arc/arcdisk.c: Likewise.
18704 * grub-core/kern/mips/arc/init.c: Likewise.
18705 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18706 aligned addresses.
18707 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18708 support.
18709 (grub_arch_dl_relocate_symbols): Likewise.
18710 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18711 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18712 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18713 platforms.
18714 * grub-core/lib/arc/datetime.c: New file.
18715 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18716 pci.h on non-loongson.
18717 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18718 (grub_linux_boot): Set unused registers to 0.
18719 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18720 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18721 * grub-core/mmap/mips/uppermem.c: ...here.
18722 * grub-core/partmap/dvh.c: New file.
18723 * grub-core/term/arc/console.c: Likewise.
18724 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18725 (grub_terminfo_set_current): Add terminal "arc".
18726 (grub_terminfo_readkey): Support ARC sequences.
18727 * include/grub/arc/arc.h: New file.
18728 * include/grub/arc/console.h: Likewise.
18729 * include/grub/disk.h (grub_disk_dev_id): Add
18730 GRUB_DISK_DEVICE_ARCDISK_ID.
18731 * include/grub/mips/arc/kernel.h: New file.
18732 * include/grub/mips/arc/memory.h: Likewise.
18733 * include/grub/mips/arc/time.h: Likewise.
18734 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18735 * include/grub/mips/kernel.h (grub_halt): ... here.
18736 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18737 here...
18738 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18739 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18740 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18741 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18742 proto.
18743 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18744 from here ...
18745 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18746 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18747 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18748 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18749 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18750 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18751 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18752 (grub_phys_addr_t): Moved from here ...
18753 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18754 (grub_vtop): Moved from here ...
18755 * include/grub/mips/memory.h (grub_vtop): ... here.
18756 (grub_map_memory): Moved from here ...
18757 * include/grub/mips/memory.h (grub_map_memory): ... here.
18758 (grub_unmap_memory): Moved from here ...
18759 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18760 (grub_machine_mmap_iterate): Moved from here ...
18761 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18762 (grub_mmap_get_lower): Moved from here ...
18763 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18764 (grub_mmap_get_upper): Moved from here ...
18765 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18766 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18767 here ...
18768 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18769 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18770 here ...
18771 * include/grub/mips/time.h (grub_get_rtc): ... here.
18772 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18773 here ...
18774 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18775 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18776 here ...
18777 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18778 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18779 definition.
18780 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18781 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18782 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18783 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18784 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18785 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18786 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18787 (GRUB_MACHINE_LINK_ADDR): Likewise.
18788 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18789 to 6.
18790 * util/grub-install.in: Run dvhtool on ARC.
18791 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18792 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18793
c8ecc840
VS
187942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18797 blocks.
18798
153a4b55
VS
187992011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18802 after enabling port.
18803
ff44d107
VS
188042011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 Skip incorrect USB devices.
18807
18808 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18809 configcnt == 0.
18810 * include/grub/usb.h (grub_usb_err_t): New enum value
18811 GRUB_USB_ERR_BADDEVICE.
18812
638dbe4f
VS
188132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 Fuloong video init support.
18816
18817 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18818 well.
18819 (grub_vga_read_arx): New function.
18820 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18821 definition.
18822 (framebuffer): New members io, mmioptr and mmiobase.
18823 (read_sis_cmd): New function.
18824 (write_sis_cmd): Likewise.
18825 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18826 rather than 640x400.
18827 * grub-core/video/sis315_init.c: New file.
18828
c3fc520c
VS
188292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18832 non-loongson.
18833 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18834 to grub_dl_register_symbol.
18835
67b1e5c9
VS
188362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 Fix compilation errors.
18839
18840 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18841 potentially unused.
18842 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18843 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18844 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18845 to loongson machines.
18846
b756f75f
VS
188472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 Several FS mtime support.
18850
18851 * grub-core/fs/affs.c (grub_affs_time): New struct.
18852 (grub_affs_file): New field mtime.
18853 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18854 type. Removed 'size'. New field 'di'. All users updated.
18855 (grub_affs_mount): Simplify checsum checking.
18856 (grub_affs_iterate_dir): New helper grub_affs_create_node.
18857 (grub_affs_dir): Handle mtime.
18858 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
18859 (grub_cpio_dir): Likewise.
18860 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
18861 (grub_hfs_filerec): New field mtime.
18862 (grub_hfs_dir): Handle mtime.
18863 (grub_hfs_mtime): New function.
18864 (grub_hfs_fs): Register grub_hfs_mtime.
18865 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
18866 (grub_iso9660_dir): New field mtime.
18867 (grub_fshelp_node): New field dirent.
18868 (iso9660_to_unixtime): New function.
18869 (iso9660_to_unixtime2): Likewise.
18870 (grub_iso9660_read_symlink): Use node->dirent.
18871 (grub_iso9660_iterate_dir): Likewise.
18872 (grub_iso9660_dir): Set mtime.
18873 (grub_iso9660_mtime): New function.
18874 (grub_iso9660_fs): Register grub_iso9660_mtime.
18875 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
18876 (grub_jfs_inode): New fields atime, ctime and mtime.
18877 (grub_jfs_dir): Set mtime.
18878 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18879 * grub-core/fs/ntfs.c (list_file): Set mtime.
18880 (grub_ntfs_dir): Likewise.
18881 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
18882 (grub_reiserfs_iterate_dir): Set mtime.
18883 (grub_reiserfs_dir): Likewise.
18884 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
18885 (grub_fshelp_node): Likewise.
18886 (grub_sfs_iterate_dir): Set mtime.
18887 (grub_sfs_dir): Likewise.
18888 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
18889 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
18890 (grub_xfs_inode): New fields atime, mtime, ctime.
18891 (grub_xfs_dir): Set mtime.
18892 * include/grub/datetime.h (grub_datetime2unixtime): New function.
18893 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
18894 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
18895
18896 Support UDF symlinks.
18897
18898 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
18899 (grub_ufs_read_symlink): New function. All users updated.
18900
18901 Check amiga partmap checksum.
18902
18903 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
18904 (grub_amiga_partition): Likewise.
18905 (amiga_partition_map_checksum): New function.
18906 (amiga_partition_map_iterate): Check checksum.
18907
5470225d
VS
189082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18909
18910 ROMFS support.
18911
18912 * Makefile.util.def (libgrubmods.a): Add romfs.
18913 * grub-core/Makefile.core.def (romfs): New module.
18914 * grub-core/fs/romfs.c: New file.
18915
d4680a35
VS
189162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 Squashfs v4 support.
18919
18920 * Makefile.util.def (libgrubmods.a): Add squash4.
18921 * grub-core/Makefile.core.def (squash4): New module.
18922 * grub-core/fs/squash4.c: New file.
18923 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
18924 disk_input_start, disk_input.
18925 (get_byte): Handle disk_input.
18926 (grub_zlib_disk_read): New function.
18927 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
18928
bcb18e74
FZ
189292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
189302011-05-15 Feiran Zheng <famcool@gmail.com>
18931
18932 * Makefile.util.def (libgrubmods.a): Add minix3.
18933 * grub-core/Makefile.core.def (minix3): New module.
18934 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
18935 (GRUB_MINIX_BSIZE): Removed.
18936 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
18937 (grub_minix_ino_t): New type.
18938 (grub_minix_le_to_cpu_ino): New macro.
18939 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
18940 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
18941 (grub_minix_data): New field block_size.
18942 (grub_minix_read_file): Handle 64-bit correctly.
18943 * grub-core/fs/minix3.c: New file.
18944
32297d5f
TG
189452011-05-15 Tristan Gingold <gingold@free.fr>
189462011-05-15 Robert Millan <rmh.grub@aybabtu.com>
189472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18948
18949 IA64 support.
18950
18951 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
18952 * configure.ac: Add ia64-efi target.
18953 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
18954 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
18955 * gentpl.py: Add ia64_efi platform.
18956 Rename x86_efi to efi and Add ia64-efi. All users updated.
18957 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
18958 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
18959 Remove kern/generic/rtc_get_time_ms.c on EFI.
18960 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
18961 kern/ia64/dl_helper.c on ia64-efi.
18962 Add kern/emu/cache.c on emu.
18963 (linux): Use on loader/ia64/efi/linux.c on ia64.
18964 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
18965 whether symbol is a function.
18966 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
18967 (grub_symbol): New field 'isfunc'.
18968 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
18969 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
18970 (grub_dl_load_segments): Place all sections into the same region.
18971 [__ia64__]: Create trampolines and got.
18972 [GRUB_MACHINE_EMU]: Call mprotect.
18973 (grub_dl_resolve_symbols): Resolve symbol type as well.
18974 [__ia64__]: Create function descriptors.
18975 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
18976 (grub_rtc_get_time_ms): ... this. Expressions simplified.
18977 (grub_get_rtc): New function.
18978 * grub-core/kern/emu/cache.c [__ia64__]: New file.
18979 * grub-core/kern/emu/cache.S: Renamed to ...
18980 * grub-core/kern/emu/cache_s.S: ... this.
18981 [__ia64__]: Add a nop.
18982 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
18983 [__ia64__]: New function.
18984 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
18985 * grub-core/kern/ia64/dl.c: New file.
18986 * grub-core/kern/ia64/dl_helper.c: Likewise.
18987 * grub-core/kern/ia64/efi/init.c: New file.
18988 * grub-core/kern/ia64/efi/startup.S: Likewise.
18989 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
18990 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
18991 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
18992 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
18993 * grub-core/loader/ia64/efi/linux.c: New file.
18994 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
18995 (GRUB_MOD_DEP): Likewise.
18996 (grub_dl) [__ia64__]: New fields got and tramp.
18997 (grub_dl): New field 'base'.
18998 (grub_dl_register_symbol): New argument isfunc. All users updated.
18999 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19000 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19001 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19002 (grub_ia64_dl_get_tramp_got_size): New proto.
19003 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19004 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19005 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19006 * include/grub/efi/api.h: Skip call wrappers on ia64.
19007 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19008 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19009 * include/grub/elf.h (ELF_ST_INFO): New definition.
19010 * include/grub/ia64/efi/kernel.h: New file.
19011 * include/grub/ia64/efi/memory.h: Likewise.
19012 * include/grub/ia64/efi/time.h: Likewise.
19013 * include/grub/ia64/kernel.h: Likewise.
19014 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19015 * include/grub/ia64/time.h: New file.
19016 * include/grub/ia64/types.h: Likewise.
19017 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19018 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19019 New protos.
19020 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19021 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19022 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19023 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19024 All users updated.
19025 (EFI64_HEADER_SIZE): New definition. All users updated.
19026 (image_targets): Add ia64-efi.
19027 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19028 jumpers_addr. All users updated.
19029 Create function descriptors.
19030 (count_funcs): New function.
19031 (unaligned_uint32): New struct.
19032 (MASK20): New definition.
19033 (MASK19): Likewise.
19034 (MASKF21): Likewise.
19035 (add_value_to_slot_20b): New function.
19036 (add_value_to_slot_21_real): Likewise.
19037 (add_value_to_slot_21): Likewise.
19038 (ia64_kernel_trampoline): New struct.
19039 (nopm): New variable.
19040 (jump): Likewise.
19041 (make_trampoline): New function.
19042 (relocate_addresses): Handle ia64.
19043 (make_reloc_section): Likewise.
19044 (load_image): Likewise.
19045
983b414d
VS
190462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19049 warning. Move variables before code while on it.
19050
5d063cdc
VS
190512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 Fuloong support.
19054
19055 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19056 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19057 * grub-core/boot/mips/loongson/fuloong.S: New file.
19058 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19059 Explicitly init CS5536.
19060 [FULOONG]: Don't use serial until CS5536 is available.
19061 Set GPIO based on dumps.
19062 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19063 [FULOONG]: Handle GPIO and memory controller differences.
19064 Parse machine type in $a2.
19065 * grub-core/boot/mips/startup_raw.S: Determine and save the
19066 architecture.
19067 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19068 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19069 init on architecture type.
19070 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19071 SIS315E. Don't init at_keyboard on fuloong.
19072 (grub_halt): Support Fuloong.
19073 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19074 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19075 (loongson_machtypes): New array.
19076 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19077 type.
19078 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19079 config. All users updated. Handle CS5536 serial.
19080 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19081 default port on machine type. Register serial as inactive.
19082 * grub-core/video/sis315pro.c: New file.
19083 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19084 definition.
19085 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19086 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19087 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19088 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19089 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19090 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19091 to ...
19092 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19093 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19094 definition.
19095 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19096 (grub_arch_machine): New extern var.
19097 * include/grub/mips/loongson/serial.h
19098 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19099 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19100 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19101 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19102 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19103 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19104 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19105 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19106 * include/grub/term.h (grub_term_register_input_inactive): New inline
19107 function.
19108 (grub_term_register_output_inactive): Likewise.
19109 * include/grub/video.h (grub_video_driver_id): New value
19110 GRUB_VIDEO_DRIVER_SIS315PRO.
19111 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19112 New field "names". All users updated.
19113 New field value IMAGE_FULOONG_FLASH.
19114 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19115
6ada82d1
JU
191162011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19117
19118 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19119 and add some clarification.
19120
90c571a4
VS
191212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19124 platforms if kernel is compressed.
19125
de04eecf
VS
191262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19129 unused modules since currently referrence counter isn't reliable and
19130 there isn't much memory to recover there anyway.
19131
57688121
VS
191322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19133
19134 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19135 rather than resetting it to allow modules to reference themselves
19136 in init.
19137
3d2c7e35
VS
191382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19141 counter on dependencies since grub_dl_unref already handles this.
19142
b25db218
VS
191432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19146 on error if not already done.
19147
25a45338
VS
191482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 Fix few potential memory misusage.
19151
19152 * grub-core/font/font.c (load_font_index): Don't free char_index to
19153 avoid double free.
b25db218
VS
19154 (grub_font_load): Zero-fill font at alloc for safety.
19155 Close file on error.
19156 (free_font): Free bmp_idx.
25a45338 19157
0cac83df
VS
191582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * docs/grub.texi (Installation): Fix several outdated claims.
19161
2217a143
VS
191622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 Handle module_license on windows.
19165
19166 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19167 sections shifted.
19168 (insert_string): Make argument const char * instead of char *.
19169 (write_section_data): Handle long section names.
19170 Handle module_license.
19171
d4de6b01
VS
191722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19175 handle class-free menuentries.
19176 (grub_normal_add_menu_entry): Add a check to be sure.
19177
4c2a3b43
VS
191782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19181 PgUp and PgDown.
19182
85c6210f
VS
191832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * configure.ac: Bump version to 1.99.
19186
36084912
VS
191872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 Give ATA device a bit more time on first try in order to allow disks
19190 to spin up.
19191
19192 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19193 if dev->present is 1. Reset dev->present on failure.
19194 (grub_ata_device_initialize): Set dev->present to 1.
19195 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19196 (grub_ata_device): New member 'present'.
19197
bda0e219
VS
191982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * util/grub-mkimage.c (generate_image): Update hash.
19201
19e1c41b
VS
192022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19203
19204 Flush caches on DMA memory.
19205
19206 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19207 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19208 (grub_dma_free): Likewise.
19209 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19210
91bbcc0c
VS
192112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19212
19213 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19214 to avoid asm treating ld and sd as macros.
19215
60ddfad3
VS
192162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19219 decompressor.
19220
a298aa04
VS
192212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19224 grub_decompress_core since later would fail if grub_decompress_core
19225 is too far.
19226
9b44feca
VS
192272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19230 R_MIPS_JALR since it's used by newer compiler.
19231
56dbe7b4
VS
192322011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19235
52856af2
VS
192362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19239 file_path to 0 for surety.
19240 (grub_chainloader_boot): Set exit_data to NULL.
19241 Unset the loader once done.
19242 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19243
9c9bfc6d
VS
192442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19247 unknown key into a dprintf.
19248
dd94a3df
VS
192492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19252 on first non-existant partition.
19253
fa68d99c
VS
192542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19257 openning fails.
19258 Reported by: Mark Korenberg.
19259
157effb7
VS
192602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19263 overflow.
19264
ea75312f
VS
192652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19268 before closing to ensure that it will be readable by grub-setup.
19269
072b5d31
VS
192702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19273 (devpath_1): Use MAKE_PIWG_PATH.
19274 (devpath_2): Likewise.
19275 (devpath_3): Likewise.
19276 (devpath_4): Likewise.
19277 (devpath_5): Likewise.
19278 (devpath_6): Likewise.
19279
19280 The appleldr.mod was checked that to be binary identical to previous
19281 version.
19282
7fae0051
Z
192832011-05-05 Zach <mikezackles>
19284
19285 Support 2010 Macbooks.
19286
19287 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19288 (devs): Add devpath_6.
19289
7c515bee
VS
192902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19293 /dev/random. /dev/urandom is good enough for our purposes (salting).
19294
ed660bd8
VS
192952011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19298
ee5614b7
VS
192992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19302 hexadecimal.
19303
664889a6
VS
193042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19307 and not 0 on failure.
19308
bd405bbc
CW
193092011-05-03 Colin Watson <cjwatson@ubuntu.com>
19310
19311 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19312 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19313 disk; otherwise grub_fs_probe will not fall back to the next
19314 filesystem.
19315 (grub_pxefs_open): Likewise, for consistency.
19316 Reported and tested by: Ezekiel Grave.
19317
4ebff753
CW
193182011-05-03 Colin Watson <cjwatson@ubuntu.com>
19319
19320 * tests/partmap_test.in: Don't hardcode path to parted.
19321 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19322
8f942553
CW
193232011-05-01 Colin Watson <cjwatson@ubuntu.com>
19324
19325 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19326 of `ls' to find out which devices are available.
19327
3c62402d
VS
193282011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19331 than source address for efi mmap buffer.
19332
723f63f2
VS
193332011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19336 wrong action on non-detecting the magic.
19337
68797f92
VS
193382011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19341 already supplied by another part of the module (fixes compilation on
19342 FreeBSD).
19343
6be8715d
VS
193442011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19347 match the one used by mdadm.
19348
e91dba5b
CW
193492011-04-21 Colin Watson <cjwatson@ubuntu.com>
19350
19351 * po/README: Add instructions for creating po/LINGUAS.
19352
c85140b3
CW
193532011-04-21 Colin Watson <cjwatson@ubuntu.com>
19354
19355 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19356 #551428.
19357
19358 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19359 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19360 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19361 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19362 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19363 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19364 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19365 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19366 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19367 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19368 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19369 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19370 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19371 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19372 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19373 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19374 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19375 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19376 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19377 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19378 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19379 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19380
92051871
CW
193812011-04-21 Colin Watson <cjwatson@ubuntu.com>
19382
19383 * grub-core/kern/emu/getroot.c
19384 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19385 test that was incorrectly reintroduced in r3214.
19386 Reported by: Ian Dall. Fixes Savannah bug #33133.
19387
b13f79a4
CW
193882011-04-21 Colin Watson <cjwatson@ubuntu.com>
19389
19390 Fix stack pointer handling in 16-bit relocator.
19391
19392 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19393 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19394 Fixes Ubuntu bug #683904.
19395
9b710a88
VS
193962011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * configure.ac: Bump version to 1.99~rc2.
19399
d97e7b59
VS
194002011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19403 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19404 * grub-core/lib/x86_64/setjmp.S: Likewise.
19405 * grub-core/lib/mips/setjmp.S: Likewise.
19406 * grub-core/lib/powerpc/setjmp.S: Likewise.
19407 * grub-core/lib/sparc64/setjmp.S: Likewise.
19408
0624551c
VS
194092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19410
19411 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19412 * grub-core/lib/efi/datetime.c: Likewise.
19413
e8f28d4c
VS
194142011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19417 New function.
19418 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19419 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19420 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19421
bba79a15
VS
194222011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19425 bitmap.
19426 (grub_gfxterm_term_init): Likewise.
19427
abc474ef
VS
194282011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Take into account the decorations the computing menu entry width.
19431
19432 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19433 (grub_gfxmenu_create_box): Register get_border_width.
19434 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19435 if available.
19436 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19437 get_border_width.
19438
e74b3947
EP
194392011-04-18 Endres Puschner <code@e7p.de>
19440
19441 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19442 Don't skip first class.
19443
34faa595
VS
194442011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19447 chunks.
19448 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19449
93a777e3
VS
194502011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 Complete 64-bit division support.
19453
19454 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19455 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19456 * include/grub/misc.h (grub_divmod64): Rename to ...
19457 (grub_divmod64_full): ... this.
19458 (grub_divmod64): New inline function.
19459
a5102d94
VS
194602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19463
f3fb7b36
VS
194642011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19467 performing the necessary test.
19468
9ac718b0
VS
194692011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19472 (kfreebsd.elf): Likewise.
19473 (pc-chainloader.elf): Likewise.
19474 (ntldr.elf): Likewise.
19475
50d2cc5a
VS
194762011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19477
19478 Identify RAID by its UUID rather than (guessed) name.
19479
19480 * grub-core/disk/raid.c (ascii2hex): New function.
19481 (grub_raid_open): Accept mduuid/%s specification.
19482 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19483 (get_mdadm_uuid): ... this.
19484 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19485
e03f7bea
VS
194862011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19489 to negative size.
19490
e74c3112
CW
194912011-04-13 Colin Watson <cjwatson@ubuntu.com>
19492
19493 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19494 btrfs subvolume.
19495 * util/grub.d/20_linux_xen.in: Likewise.
19496
78fa584f
CW
194972011-04-13 Colin Watson <cjwatson@ubuntu.com>
19498
19499 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19500 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19501
19502 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19503 Build a list of relevant visible mounts using the mnt_id and
19504 parent_mnt_id fields, and then scan that list at the end.
19505
9d5f8162
CW
195062011-04-12 Colin Watson <cjwatson@ubuntu.com>
19507
19508 * docs/grub.texi (normal): New section.
19509 (normal_exit): New section.
19510 (Embedded configuration): Add reference to normal.
19511 (GRUB only offers a rescue shell): Likewise.
19512 * docs/grub-dev.texi (Error Handling): Fix typo.
19513
09a9d66f
CW
195142011-04-12 Colin Watson <cjwatson@ubuntu.com>
19515
19516 * NEWS: Drop obsolete entry about probe-only btrfs support.
19517
0c676933
CW
195182011-04-12 Colin Watson <cjwatson@ubuntu.com>
19519
19520 * util/import_gcry.py: Fix typo.
19521
ec9f5e0d
VS
195222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19523
19524 * NEWS: Add btrfs support.
19525
fe6b2cba
VS
195262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
195272011-04-11 Colin Watson <cjwatson@ubuntu.com>
19528
19529 BtrFS support. Written by me (Vladimir) with important bugfixes and
19530 even more important testing by Colin.
19531
19532 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19533 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19534 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19535 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19536 mem_input_off and mem_input. All users updated to accept in-RAM input.
19537 (gzio_seek): New function.
19538 (test_zlib_header): Likewise.
19539 (grub_gzio_read): Likewise.
19540 (grub_zlib_decompress): Likewise.
19541 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19542 Accept partial and non-virtual mounts.
19543 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19544 avoid receiving /dev/dm-X as device.
19545 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19546 Handle bind and partial mounts.
19547 * grub-core/lib/crc.c: New file.
19548 * include/grub/deflate.h: Likewise.
19549 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19550 proto.
19551 * include/grub/lib/crc.h: New file.
19552
e745cf0c
VS
195532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Implement automatic module license checking according to new GNU
19556 guidelines.
19557
19558 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19559 (grub_dl_load_core): Use grub_dl_check_license.
19560 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19561 (GRUB_MOD_LICENSE): Likewise.
19562 (GRUB_MOD_DUAL_LICENSE): Likewise.
19563 All modules updated.
19564
2a9bc016
CW
195652011-04-11 Colin Watson <cjwatson@ubuntu.com>
19566
19567 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19568 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19569 loaders.
19570 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19571
8a3bc88e
VS
195722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19575
af869a4a
VS
195762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19577
19578 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19579 failed.
19580
9ee8d94f
VS
195812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19582
19583 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19584 parenthesis in the middle of the filename.
19585
b01abe3e
VS
195862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19589 rather than trying to put initrd way too high.
19590 Reported by: Ryan Lortie <desrt@desrt.ca>
19591
335bda1e
VS
195922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19595 improperly removed string.
19596
5ca1a64d
VS
195972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19600 is_disk.
19601 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19602 (open_device) Likewise.
19603 (grub_util_biosdisk_close): Likewise.
d8ce9995 19604 Reported by: Mark Korenberg.
5ca1a64d 19605
cbac5b1e
AK
196062011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19607
19608 * util/grub-mkconfig_lib.in: Add missing quotes.
19609
088cdb65
CW
196102011-04-10 Colin Watson <cjwatson@ubuntu.com>
19611
19612 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19613 is NULL.
19614
8b8a81fa
VS
196152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 Dynamically count the number of lines for the lower banner.
19618
19619 * grub-core/normal/menu_entry.c (per_term_screen): New member
19620 num_entries.
19621 (print_down): Use num_entries.
19622 (update_screen): Likewise.
19623 (grub_menu_entry_run): Set num_entries.
19624 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19625 num_entries.
19626 (grub_print_message_indented): Move real part to ...
19627 (grub_print_message_indented_real): ... here. Additional argument
19628 dry_run.
19629 (draw_border): Additional argument num_entries.
19630 (print_message): Additional argument dry_run.
19631 (print_entries): Receive menu viewer data.
19632 (grub_menu_init_page): New argment num_entries.
19633 (menu_text_set_chosen_entry): Use num_entries.
19634 (grub_menu_try_text): Likewise.
19635 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19636 All users updated.
19637 (grub_ucs4_count_lines): New function.
19638 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19639 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19640 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19641 (grub_term_border_height): Likewise.
19642 (grub_term_num_entries): Likewise.
19643
277f955b
VS
196442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19647 Remove now unused string.
19648
536ce85a
CW
196492011-04-09 Colin Watson <cjwatson@ubuntu.com>
19650
19651 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19652 build system.
19653 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19654
19655 (Comment): Fix typo.
19656 (Getting started): General copy-editing.
19657 (Typical Development Experience): Likewise.
19658 (Error Handling): Likewise.
19659 (Video API): Likewise.
19660
2cf09e32
CW
196612011-04-09 Colin Watson <cjwatson@ubuntu.com>
19662
19663 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19664 throughout.
19665
1ec652f4
VS
196662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19667
19668 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19669 directory.
19670
2c583728
CW
196712011-04-08 Colin Watson <cjwatson@ubuntu.com>
19672
19673 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19674 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19675 "development".
19676
d7a565e9
VS
196772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19680 grub_strcpy since the lines aren't necessarily 0-terminated.
19681
7c2e4909
VS
196822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19683
19684 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19685 root on legacy.
19686
34c09785
VS
196872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19688
19689 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19690 (GRUB_MOD_INIT): DEVICE isn't optional.
19691
6a6f8058
VS
196922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19695 word on new line if it's too long anyway. Fixes a hang.
19696
2e335e90
VS
196972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19700 const.
19701 * util/grub-setup.c (main): Reuse md device name if available.
19702 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19703 not GRUB name as argument.
19704 Based on patch by: Florian Wagner <fwagner>.
19705
10a7a867
VS
197062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19707
19708 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19709 Place mbi on low memory for better compatibility.
19710
7a3d6cd9
VS
197112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19714
18dd6b47
VS
197152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
197162011-04-08 Colin Watson <cjwatson@ubuntu.com>
19717
19718 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19719 * conf/Makefile.common: Likewise.
18dd6b47 19720
3c0e3f14
VS
197212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19722
f7148863
VS
19723 * grub-core/normal/menu.c: Add missing include.
19724
197252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19728
6d1fa41f
MZ
197292011-04-08 Martin Zuther <mzuther@mzuther.de>
19730
19731 * util/grub-mkconfig.in: Ignore emacsen backup.
19732
478182a8
VS
197332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19734
19735 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19736 on open.
19737 (grub_util_biosdisk_close): Likewise.
19738
72a89a54
VS
197392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19740
19741 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19742 const attribute and use grub_isdigit.
19743
b5ebecfa
A
197442011-04-06 Andrey <dev_null@ukr.net>
19745
19746 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19747 gcc warning.
19748
7755f66e
VS
197492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19752 useful grub_dprintf's.
19753
461121ff
VS
197542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19757
2a961775
VS
197582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19761
adf594cc
VS
197622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 Output errors if theme loading failed.
19765
19766 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19767 grub_gfxterm_fullscreen on error paths to ...
19768 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19769 theme loading error.
19770
665900a3
VS
197712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19774 space for older compilers.
19775 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19776
a562b479
VS
197772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19780 and report them as not RAID members since they are useless for GRUB.
19781 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19782
850e9373
VS
197832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 Increase LVM implementation robustness in order not to crash on
19786 configurations like pvmove. Previously code assumed that in some places
19787 only lvs or only pvs are used whereas it seems that they are used
19788 interchangeably.
19789
19790 * grub-core/disk/lvm.c (read_node): New function.
19791 (read_lv): Use read_node.
19792 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19793 Match volumes only at the end when all lvs are found. Take both
19794 pvs (first) and lvs (second) into account.
19795 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19796 mirror_* into node_*. All users updated.
19797 (grub_lvm_stripe): Merge this ...
19798 (grub_lvm_mirror): ... and this ...
19799 (grub_lvm_node): ... into this. All users updated.
19800
6f332153
VS
198012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19804 of function to allow further scanning for LVMs.
19805
829ea451
VS
198062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19809 on failed seek as it breaks open fd reusage.
19810
09ceb9a5
VS
198112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * util/grub-install.in: Add a recommendation to use --recheck before
19814 reporting bugs.
19815
67e11623
VS
198162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19819 are obtained.
19820
caee5efd
VS
198212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19822
19823 GRUB developper manual based on existing Internals section and
19824 contributions by the various authors with active copyright assignment.
19825
19826 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19827 * docs/font_char_metrics.png: New file.
19828 * docs/font_char_metrics.txt: Likewise.
19829 * docs/grub-dev.texi: Likewise.
19830 * docs/grub.texi (Internals): Move from here ...
19831 * docs/grub-dev.texi: ... here.
19832
2cccc747
CW
198332011-04-01 Colin Watson <cjwatson@ubuntu.com>
19834
19835 Store the loopback device as data on loopback grub_disk structures,
19836 rather than the file it points to. This fixes use of freed memory
19837 if an existing loopback device is replaced.
19838
19839 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19840 disk->data, not dev->file.
19841 (grub_loopback_read): Adjust file assignment to match.
19842 Fixes Ubuntu bug #742967.
19843
186ae367
CW
198442011-04-01 Colin Watson <cjwatson@ubuntu.com>
19845
19846 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19847 when replacing an existing device.
19848
cfed2ad0
VS
198492011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19850
19851 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19852 memory corruptions.
19853
19854 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
19855 unsigned.
19856 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
19857 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
19858 (grub_jfs_read_inode): Likewise.
19859 (grub_jfs_opendir): Likewise. Remove now useless casts.
19860 (grub_jfs_getent): Likewise.
19861 Make ino a grub_uint32_t rather than int.
19862 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
19863 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
19864 division and module with bit operations.
19865 (grub_jfs_find_file): Make ino a grub_uint32_t.
19866 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
19867
05d2ed32
CW
198682011-04-01 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
19871 warning. (This was in fact always initialised before use, but GCC
19872 wasn't smart enough to prove that.)
19873 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
19874
91dc6073
VS
198752011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
19878 stack alignment.
19879 (efi_wrap_1): Likewise.
19880 (efi_wrap_2): Likewise.
19881 (efi_wrap_3): Likewise.
19882 (efi_wrap_4): Likewise.
19883 (efi_wrap_5): Likewise.
19884 (efi_wrap_6): Likewise.
19885 (efi_wrap_10): Likewise.
19886 Based on information by: Red Hat/Peter Jones.
19887
a8afc1d1
CW
198882011-03-31 Colin Watson <cjwatson@ubuntu.com>
19889
19890 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
19891 set-but-not-used variable.
19892
a826cc7d
CW
198932011-03-31 Colin Watson <cjwatson@ubuntu.com>
19894
19895 * docs/grub.texi (Simple configuration): Be more explicit about
19896 GRUB_DEFAULT, and add an example.
19897 Reported by: Leslie Rhorer.
19898
875b67ba
CW
198992011-03-30 Colin Watson <cjwatson@ubuntu.com>
19900
19901 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
19902 shell".
19903
fd7cd914
AS
199042011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19905
19906 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
19907 * util/grub.d/20_linux_xen.in: Likewise.
19908
090b1b6a
VS
199092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * util/grub.d/10_linux.in: Try alternative config filenames where
19912 we parse config file.
19913 * util/grub.d/20_linux_xen.in: Likewise.
19914
baad885c
AS
199152011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
19916
19917 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
19918 * util/grub.d/20_linux_xen.in: Likewise.
19919
241e41f5
VS
199202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 * grub-core/disk/raid.c (insert_array): Add few potentially
19923 useful grub_util_info.
19924 (grub_raid_register): Likewise.
19925
56445fb2
VS
199262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
19929 Preserve partition number in mdadm code path.
19930
c871b1c6
VS
199312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
19934 few potentially useful grub_util_info.
19935
5e631b4f
CW
199362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
19939
2d5d0333
CW
199402011-03-30 Colin Watson <cjwatson@ubuntu.com>
19941
19942 * docs/grub.texi (default): Use @example rather than nested
19943 itemized lists to avoid breaking gendocs.
19944
3d7ed04e
CW
199452011-03-30 Colin Watson <cjwatson@ubuntu.com>
19946
19947 * docs/grub.texi (Future): Update.
19948
abf04200 199492011-03-30 Colin Watson <cjwatson@ubuntu.com>
19950
19951 * docs/grub.texi (Environment): New chapter.
19952 (Changes from GRUB Legacy): Link to "Environment block" section for
19953 details of limitations.
19954 (Simple configuration): Likewise. Link to documentation of gfxmode
19955 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
19956 respectively.
19957 (Shell-like scripting): Note that normal variables are stored in the
19958 environment.
19959 (gettext): Link to documentation of lang and locale_dir.
19960 (list_env): New section.
19961 (load_env): New section.
19962 (save_env): New section.
19963
19964 (Reporting bugs): Fix typo.
19965
e1ad0edd
VS
199662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
19969 the example.
19970
5d803174
VS
199712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * grub-core/term/at_keyboard.c (set_scancodes)
19974 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
19975
2a2da1d0
CW
199762011-03-30 Colin Watson <cjwatson@ubuntu.com>
19977
19978 * docs/grub.texi (Menu-specific commands): Remove some semantics
19979 that were true in GRUB Legacy but not in GRUB 2.
19980 (submenu): New section.
19981 (false): New section.
19982 (read): New section.
19983 (true): New section.
19984
a7527639
CW
199852011-03-30 Colin Watson <cjwatson@ubuntu.com>
19986
19987 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
19988
199892011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
19990
19991 * docs/grub.texi (Simple configuration): Explain some of the
19992 current limitations of grub-mkconfig.
8a748df2 19993 Reported by: Leslie Rhorer.
e30af029 19994
fc858482
VS
199952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 Old macs search for boot.efi rather than for bootia32.efi.
19998
19999 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20000 * util/grub-mkrescue.in: Likewise.
20001 Suggested by: Peter Jones.
20002
e1eb511d
VS
200032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20004
20005 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20006
70e75364
VS
200072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20010 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20011 (grub_lvm_mirror): New struct.
20012 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20013 (grub_lvm_iterate): Iterate only visible volumes.
20014 (grub_lvm_read): Factor out to ..
20015 (read_lv): ... this. Support mirrors.
20016 (grub_lvm_read): New wrapper function.
20017 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20018 stripped or mirrored.
20019
fc18f6a3
VS
200202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20023
5c650f4c
CW
200242011-03-29 Colin Watson <cjwatson@ubuntu.com>
20025
20026 * docs/grub.texi (loopback): New section.
20027
61d7156b
CW
200282011-03-29 Colin Watson <cjwatson@ubuntu.com>
20029
20030 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20031 removed -p option.
20032
994b8264
CW
200332011-03-29 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * docs/grub.texi (BIOS installation): New section, partly based on
20036 previous text in other sections.
20037 (Installing GRUB using grub-install): Replace BIOS discussion with a
20038 cross-reference.
20039 (Images): Likewise.
20040
9e4d19e0
VS
200412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20044 [HAVE_DIOCGDINFO]: Add safety checks.
20045
a307c0b2
VS
200462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20049 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20050
b4db4f39
CW
200512011-03-29 Colin Watson <cjwatson@ubuntu.com>
20052
20053 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20054 real_sb->size is zero (e.g. RAID-0), get the disk size from
20055 real_sb->data_size instead.
20056 Fixes Ubuntu bug #743136.
20057
35e5f84c
VS
200582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20061 printf clauses for printing size and start.
20062
d2e29d81
VS
200632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20066 Reported and tested by: Timothy Nikkel.
20067
ed5587af
VS
200682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20071 (dirty_region_add_real): ... this.
20072 (dirty_region_add): Don't discard margin refresh when performing
20073 scheduled repaint.
20074
a1dc717c
VS
200752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * grub-core/lib/relocator.c (allocate_regstart)
20078 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20079 terminals are capabple of malloc-free operation.
20080 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20081 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20082
9f3677d3
VS
200832011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20084
20085 * util/grub-setup.c: Copy the partition table zone if floppy support
20086 is disabled, even if no partition table is found.
20087
20088 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20089 during POST if an invalid partition table is contained in the PBR
20090 of the active partition when GRUB is installed to a partition.
20091
24148725
CW
200922011-03-28 Colin Watson <cjwatson@debian.org>
20093
20094 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20095 comment.
20096
f329eda7
CW
200972011-03-28 Colin Watson <cjwatson@debian.org>
20098
20099 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20100 to be specific about what kind of RAID device we're scanning for.
20101
c482ad98
SG
201022011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20103
20104 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20105 return freed string.
20106
5ee04984
VS
201072011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20110
f4727da9
VS
201112011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 Use libgeom on FreeBSD to detect partitions.
20114
20115 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20116 (grub-mkrelpath): Likewise.
20117 (grub-script-check): Likewise.
20118 (grub-editenv): Likewise.
20119 (grub-mkpasswd-pbkdf2): Likewise.
20120 (grub-fstest): Likewise.
20121 (grub-mkfont): Likewise.
20122 (grub-mkdevicemap): Likewise.
20123 (grub-probe): Likewise.
20124 (grub-setup): Likewise.
20125 (grub-ofpathname): Likewise.
20126 (grub-mklayout): Likewise.
20127 (example_unit_test): Likewise.
20128 (grub-menulst2cfg): Likewise.
20129 * grub-core/Makefile.core.def (grub-emu): Likewise.
20130 (grub-emu-lite): Likewise.
20131 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20132 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20133 define HAVE_DIOCGDINFO.
20134 (follow_geom_up) [FreeBSD]: New function.
20135 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20136 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20137 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20138 unconditionally of HAVE_DIOCGDINFO.
20139
82fe6c75
VS
201402011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 Fix FreeBSD compilation problem.
20143
20144 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20145 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20146
4c6c9431
CW
201472011-03-24 Colin Watson <cjwatson@ubuntu.com>
20148
20149 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20150 Switch back to page zero before loading a kernel, since some kernel
20151 drivers expect that.
20152 Thanks to: Felix Kuehling.
20153
c7064d94
VS
201542011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20155
20156 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20157 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20158 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20159
3f71cded
VS
201602011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20163 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20164
ef6de21a
VS
201652011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20168 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20169 malloc is disabled.
20170
8bc66a2c
VS
201712011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20174 for modules headers when counting the needed allocation size.
20175
5657722c
VS
201762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20179 if no ASCII character is found to prevent crash.
20180
41a85f55
AK
201812011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20182
20183 * grub-core/video/bitmap.c (match_extension): Ignore case.
20184
59e1e5f1
VS
201852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20188
bd4d051a
VS
201892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * grub-core/script/parser.y: Declare "time" as valid argument.
20192
bae7fcc1
PJ
201932011-03-23 Peter Jones <pjones@redhat.com>
20194
20195 Fix incorrect assert failure reporting.
20196
20197 * grub-core/tests/example_functional_test.c (example_test): Add
20198 a failure comment.
20199 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20200 (failure_start): ...this. Check that malloc succeeded.
20201 Don't call xvasprintf. Return failure struct.
20202 (failure_append_vtext): New function.
20203 (failure_append_text): Likewise.
20204 (add_failure): Likewise.
20205 (grub_test_assert_helper): Likewise.
20206 * include/grub/test.h (grub_test_assert_helper): New declaration.
20207 (grub_test_assert): Macro rewritten.
20208
537dc9be
VS
202092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20210
20211 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20212
fa3e01bf
VS
202132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20216
b1d28404
VS
202172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20220 into GRUB-style one.
20221
2e3e2e09
VS
202222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20225 error and not grub_errno.
20226 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20227
ed57e557
VS
202282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20231 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20232
d1611f01
VS
202332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * grub-core/efiemu/i386/pc/cfgtables.c
20236 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20237 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20238 (grub_xnu_unlock): Likewise.
20239 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20240
7d4e39d6
VS
202412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20244 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20245 * grub-core/commands/hashsum.c (aliases): Likewise.
20246 * grub-core/commands/setpci.c (pci_registers): Likewise.
20247 * grub-core/disk/usbms.c (attach_hook): Likewise.
20248 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20249 (zio_checksum_table): Likewise.
20250 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20251 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20252 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20253 * grub-core/lib/relocator.c (leftovers): Likewise.
20254 (extra_blocks): Likewise.
20255 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20256 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20257 (modules_last): Likewise.
20258 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20259 (devices): Likewise.
20260 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20261 (modules_last): Likewise.
20262 * grub-core/normal/auth.c (users): Likewise.
20263 * grub-core/normal/context.c (initial_menu): Likewise.
20264 (current_menu): Likewise.
20265 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20266 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20267 (grub_serial_terminfo_input_template): Likewise.
20268 (grub_serial_terminfo_output_template): Likewise.
20269 (grub_serial_terminfo_input): Likewise.
20270 (grub_serial_terminfo_output): Likewise.
20271 (registered): Likewise.
20272 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20273
40fc4659
VS
202742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20277 grub_video_mode_type_t.
20278 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20279 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20280 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20281
2da48d28
VS
202822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * util/grub-install.in: Correct the x86-64 name as x86_64.
20285
9b43bf39
CW
202862011-03-11 Colin Watson <cjwatson@ubuntu.com>
20287
20288 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20289 initial chunk read from the kernel always includes GRUB's multiboot
20290 header, which is now outside the first sector.
20291
be1a7ce0
CW
202922011-03-09 Colin Watson <cjwatson@ubuntu.com>
20293
20294 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20295 cached mmap_size, so that this works correctly when called multiple
20296 times.
20297 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20298
83a3c48d
CW
202992011-03-09 Colin Watson <cjwatson@ubuntu.com>
20300
20301 * docs/grub.texi (Simple configuration): Tidy up formatting.
20302
57d75699
SJ
203032011-03-07 Szymon Janc <szymon@janc.net.pl>
20304
20305 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20306 Set-but-not-used variable removed.
20307
028501a0
VS
203082011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 Workaround yet another IEEE1275 bug.
20311
20312 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20313 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20314 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20315 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20316 is set.
20317 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20318 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20319
d998657d
VS
203202011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20321
20322 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20323 error.
20324
fee7cdd4
CW
203252011-02-11 Colin Watson <cjwatson@ubuntu.com>
20326
20327 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20328 empty, since in that case we can only generate either nothing or a
20329 syntactically invalid configuration file.
20330 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20331
97286eb5
CW
203322011-02-09 Colin Watson <cjwatson@ubuntu.com>
20333
20334 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20335 (Making a GRUB bootable CD-ROM): Likewise.
20336 (Invoking grub-mkrescue): New section.
20337 Reported by: Yann Dirson. Fixes Debian bug #612585.
20338
22b28eb3
CW
203392011-02-09 Colin Watson <cjwatson@ubuntu.com>
20340
20341 * util/grub-install.in: Remove unnecessary brackets from tr
20342 arguments.
20343 * util/grub.d/10_hurd.in: Likewise.
20344 * util/grub.d/10_kfreebsd.in: Likewise.
20345 * util/grub.d/10_linux.in: Likewise.
20346 * util/grub.d/20_linux_xen.in: Likewise.
20347 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20348
7e735e43
CW
203492011-02-08 Colin Watson <cjwatson@ubuntu.com>
20350
20351 * include/grub/file.h (not_easly_seekable): Rename to ...
20352 (not_easily_seekable): ... this. Update all users.
20353
800f1881
CW
203542011-01-28 Colin Watson <cjwatson@ubuntu.com>
20355
20356 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20357 grub-mkrescue.
20358
3281d3d6
VS
203592011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 * util/grub-mkimage.c (generate_image): Refuse to create the images
20362 bigger than the actual flash (512K) in Loongson machines. 512K is also
20363 the biggest chip supported by them.
20364
3533413c
VS
203652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20368
73ae4f4f
VS
203692011-01-22 Anthony DeRobertis <anthony@derobert.net>
20370
20371 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20372 super_offset field.
20373
37f4f608
VS
203742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * util/grub-install.in: Ignore install device on platforms
20377 where it doesn't make sense. Always use UUIDs except on pc, efi and
20378 sparc64.
20379 Reported by: Daniel Kahn Gillmor.
20380
03a4ccb5
VS
203812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20384
ffc8f4d8
VS
203852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20388 (iterate_real): Don't rely on partition being non-NULL.
20389
80f23be7
VS
203902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20393 supported platforms. Put a compile time assert for this rather than
20394 generate a warning with 32-bit shift.
20395
5d4f4dd5
VS
203962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20399 logical expression more readable.
20400
e489601a
VS
204012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20404 even if some elements have a name.
20405 Reported by: Alexander GQ Gerasiov.
20406
96e0a6ea
CW
204072011-01-22 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20410 path unreadable if `grub-probe -t abstraction' fails, for example if
20411 memberlist fails on an LVM volume group.
20412 Reported by: Darius Jahandarie.
20413
81431e2b
CW
204142011-01-22 Colin Watson <cjwatson@ubuntu.com>
20415
20416 * docs/grub.texi (Simple configuration): Document
20417 GRUB_PRELOAD_MODULES.
20418
5e79d66a
CW
204192011-01-17 Colin Watson <cjwatson@ubuntu.com>
20420
20421 * .bzrignore: Remove nonexistent grub-pbkdf2.
20422
646ada34
VS
204232011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 * configure.ac: Bump version to 1.99~rc1.
20426
04360337
VS
204272011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20430 for safety.
20431
46c9db88
VS
204322011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20435 module.
20436
204372011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20438
20439 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20440
4fbf1852
VS
204412011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20444 diskdevid.
20445
f1632d4d
VS
204462011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 Fix compilation on cygwin.
20449
20450 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20451 -R .drectve on cygwin.
20452 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20453 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20454 (COND_CYGWIN): New condition.
20455 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20456 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20457 not @TARGET_OBJ2ELF@.
20458 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20459 type to determine whether aux is to be used.
20460
0b5e127b
VS
204612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20464 realpath'ed device string.
20465 Handle floppy (somewhat).
20466 Issue error in unknown case rather than garbage.
20467 Reported by: Axel Beckert.
20468
173b71e9
VS
204692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * util/grub.d/00_header.in (load_video): Handle the case when no video
20472 drivers available.
20473 Thanks to: Axel Beckert.
20474
f8f479db
VS
204752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20478 variable. Fixes problem on big endian platforms.
20479
8fc0a245
VS
204802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20483 It doesn't work well there.
20484
b8494fbe
VS
204852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20488 warning.
20489 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20490 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20491 counter.
20492
b44a558c
VS
204932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 Use alias->path rather than buggy "canon".
20496
20497 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20498 (ofdisk_hash_add): New argument curcan. All users updated.
20499
51fa856c
CW
205002011-01-11 Colin Watson <cjwatson@ubuntu.com>
20501
20502 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20503
9da068a5
VS
205042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20507 loadmask before doing any calculations. Use correct type for offset.
20508 (grub_linux_load64): Likewise.
20509
86205c94
CW
205102011-01-11 Colin Watson <cjwatson@ubuntu.com>
20511
20512 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20513 with NULL.
20514 (console_grub_equivalences_unshift): Likewise.
20515 Reported by: Daniel Dehennin.
20516
4531a206
VS
205172011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20520 (set_env_limn_ro): Likewise.
20521 (GRUB_MOD_INIT): Likewise.
20522 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20523 ARRAY_SIZE while on it.
20524 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20525 * grub-core/normal/context.c (grub_env_export): Move from here ...
20526 * grub-core/kern/env.c (grub_env_export): ... here.
20527 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20528 prefix.
20529 * grub-core/kern/main.c (grub_main): Export root and prefix.
20530 * include/grub/env.h (grub_env_export): Export.
20531 Reported by: Seth Goldberg.
20532
45146057
VS
205332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20536 Take into account space used by ELF sections and multiboot palette.
20537 Reported by: Grégoire Sutre.
20538
f093110b
VS
205392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20540
20541 * BUGS: New file.
20542
3395fe52
VS
205432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 Pass more appropriate video id to Linux.
20546
20547 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20548 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20549 fill have_vga.
20550 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20551 shift params->lfb_size.
20552 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20553
c2fa6cbb
VS
205542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20555
20556 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20557
b3ff6ff0
VS
205582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20561 separator and pass bootpath/devid even if only one of them is available.
20562 Reported by: Seth Goldberg.
20563
ae67942e
VS
205642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20567 implementations bug on them.
20568
20569 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20570 memory.
20571 (filter_memory_map): Likewise.
20572
d570097a
VS
205732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20576 Reported by: nebuchadnezzar.
20577
a508e776
VS
205782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20581 Reported by: nebuchadnezzar.
20582
dcb883b1
VS
205832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 Submenu default support.
20586
20587 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20588 auto_boot. All users updated.
20589 Declared static.
20590 Handle chosen and default with submenus.
20591 (grub_menu_execute_with_fallback): Declared static.
20592 Don't notify failure if autobooted. Upper level does it.
20593 (menuentry_eq): New function.
20594 (get_entry_number): Use menuentry_eq.
20595 (show_menu): New parameter "autobooted". All users updated.
20596 (grub_show_menu): Likewise.
20597 * include/grub/normal.h (grub_show_menu): Likewise.
20598 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20599 (grub_menu_execute_with_fallback): Likewise.
20600
6fef99b4
VS
206012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 * util/grub-mklayout.c (usage): Update help text.
20604
47a77af5
VS
206052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20608
ce6bb3ee
VS
206092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * util/grub-menulst2cfg.c (main): Trim the line.
20612
db87be2a
VS
206132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20616 (grub_machine_init): Don't check amount of low memory as reportedly
20617 INT 12h can be broken and if low memory is too low we wouldn't have
20618 gotten into grub_machine_init anyway.
20619
c49849cc
VS
206202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20621
20622 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20623 (grub_machine_mmap_iterate): Take low memory into account
20624
b1969b30
VS
206252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20628 badfs.
20629 Reported by: TiCPU.
20630
cf0eaf13
VS
206312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20632
20633 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20634 members errors.
20635
1f060f39
GS
206362011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20637
20638 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20639 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20640
a21e5672
GS
206412011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20642
20643 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20644 openbsd and netbsd types being in part_bsd module.
20645
c88172fa
VS
206462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20649 (_FILE_OFFSET_BITS): Likewise.
20650 Reported by: Seth Goldberg.
20651
53798c4b
GS
206522011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20653
20654 * configure.ac: Check for libdevmapper header.
20655
e7121b69
VS
206562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20657
20658 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20659 avoid aliasing.
20660 (fzap_lookup): Likewise.
20661 (dnode_get): Likewise.
20662 (make_mdn): Likewise.
20663 (zfs_mount): Likewise.
20664 (fzap_iterate): Use temporary pointer to avoid aliasing.
20665 (grub_zfs_read): Likewise.
20666 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20667 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20668 pointers to avoid aliasing.
20669 (grub_cmd_xnu_kernel64): Likewise.
20670 (grub_xnu_load_driver): Likewise.
20671
fc836af9
VS
206722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20675 aliasing warning.
20676 (grub_cmd_terminal_output): Likewise.
20677 Reported and tested by: Grégoire Sutre.
20678
f9f37648
VS
206792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20682 warning.
20683 Reported and tested by: Grégoire Sutre.
20684
ec1dfd63
VS
206852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20686
20687 * configure.ac: Do CPU substitution even if it's specified explicitly.
20688 Reported and tested by: Alain Greppin.
20689
9462775a
VS
206902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20691
20692 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20693 Reported and tested by: Alain Greppin.
20694
0fd48e35
VS
206952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 Satisfy some bison versions need for inttypes.h.
20698
20699 * grub-core/lib/posix_wrap/inttypes.h: New file.
20700 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20701 (int16_t): Likewise.
20702 (int32_t): Likewise.
20703 (int64_t): Likewise.
20704 Reported and tested by: Alain Greppin.
20705
43f1bc83
VS
207062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20709 Silence spurious warning.
20710 Reported and tested by: Alain Greppin.
20711
64d1f041
SJ
207122011-01-07 Szymon Janc <szymon@janc.net.pl>
20713
20714 * docs/grub.texi (Support automatic decompression): Update with xz
20715 decompression support.
20716
25953e10
SJ
207172011-01-07 Szymon Janc <szymon@janc.net.pl>
20718
20719 Improve loaders' kernel command line handling.
20720
20721 * grub-core/lib/cmdline.c: New file.
20722 * include/grub/lib/cmdline.h: Likewise.
20723 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20724 grub_create_loader_cmdline to create kernel command line.
20725 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20726 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20727 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20728 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20729 (linux): Add lib/cmdline.c on common.
20730
e72d259f
VS
207312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20734 inopos might be unaligned.
20735
c0cf26da
VS
207362011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20739 endian transformations.
20740 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20741 Based on report by: Doug Nazar.
20742
0ca09e6c
DN
207432011-01-07 Doug Nazar <nazard.michi@gmail.com>
20744
20745 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20746 array->members[i].start_sector.
20747 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20748
014b6806
VS
207492011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20752 Reported and tested by: Grégoire Sutre.
20753
415502c2
CW
207542011-01-06 Colin Watson <cjwatson@ubuntu.com>
20755
20756 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20757 avoid causing test failures by clearing the screen.
20758
71b6a2b7
CW
207592011-01-06 Colin Watson <cjwatson@ubuntu.com>
20760
20761 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20762 Fix prefix check to handle the case where dir ends with a slash
20763 (most significantly, "/" itself).
20764 Reported by: Michael Vogt.
20765
b3f8d28a
VS
207662011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 Run terminfo_cls on initing terminfo output to clear the screen and
20769 move the cursor to (0,0).
20770
20771 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20772 Call grub_terminfo_output_init.
20773 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20774 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20775 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20776
4c3e4f37
VS
207772011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20780 only when needed.
20781
488f71f1
VS
207822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20785 CTRL.
20786
18a38098
VS
207872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20788
20789 The E820 type 5 is BADRAM, not EXEC_CODE.
20790
20791 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20792 (GRUB_E820_BADRAM): New define.
20793 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20794 into reserved. Propagate BADRAM.
20795 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20796 (GRUB_E820_BADRAM): New define.
20797
9eae2084
VS
207982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20799
20800 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20801 Ignore the memory post-4G.
20802 (grub_relocator_firmware_alloc_region): Additional debug statement.
20803
ebc71d28
VS
208042011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20807 names.
20808 Reported by: David Pravec.
20809
446fa400
VS
208102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20811
20812 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20813 BIOSes.
20814
a0159f37
VS
208152011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20816
20817 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20818 Prevent overflow.
20819 (grub_reed_solomon_recover): Likewise.
20820
e5146ca1
VS
208212011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20822
20823 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20824
208252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20826
20827 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20828 variable.
20829
5b1bdf12
CW
208302011-01-04 Colin Watson <cjwatson@ubuntu.com>
20831
20832 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20833 descriptions of extract_legacy_entries_source and
20834 extract_legacy_entries_configfile.
20835 Reported by: Seung Soo, Ha.
20836
99d925aa
CW
208372011-01-03 Colin Watson <cjwatson@ubuntu.com>
20838
20839 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20840 on devices that do not implement function 0.
20841
4af0504b
DV
208422011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20843
20844 * grub-core/fs/hfsplus.c: Make parent unsigned.
20845 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20846 overflows.
20847 (grub_hfsplus_cmp_extkey): Likewise
20848
469ee10a
VS
208492011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 * util/grub-install.in: Correctly use bootloader_id and not
20852 GRUB_DISTRIBUTOR on efibootmgr line.
20853
323a8e9c
VS
208542011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
20857
1b394975
IC
208582010-12-31 Ian Campbell <ijc@hellion.org.uk>
20859
20860 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
20861 Xen and reorder menu item wording to make it clearer that this entry
20862 will launch Xen. Print separate messages when loading Xen and
20863 Linux.
20864
275bff5f
VS
208652010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
20868 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
20869 loop in case of incorrect amiga partmap.
20870
307806cb
VS
208712010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
20874 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
20875 Reported by:EHeM.
20876
b12b923e
VS
208772010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
20880 spurious warning.
20881 Reported by: crocket
20882
14b48a19
VS
208832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
20886 Preload EFIemu.
20887 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
20888
693db2df
VS
208892010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
20892 is loaded
20893 (grub_cmd_xnu_kextdir): Likewise.
20894 (grub_cmd_xnu_splash): Likewise.
20895
c7638645
VS
208962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 Avoid using Reed-Solomon with 0 redundancy.
20899
20900 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
20901 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
20902 or 0 redundancy.
20903 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
20904 (grub_reed_solomon_recover): Likewise.
20905
25dd4780
VS
209062010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 Don't use disk subsystem in freebsd_boot.
20909
20910 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
20911 (freebsd_biosdev): Likewise.
20912 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
20913 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
20914
0b2db943
VS
209152010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 Handling of files of unknown size is currently limited. They can't be
20918 used e.g. for initrd or modules. Moreover gzip handling of not
20919 easily seekable files is buggy. Disable unknown file size for now. May
20920 be inefficient but works.
20921
20922 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
20923 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
20924
5c408d0f
MP
209252010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
20926
20927 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
20928 floppy probe.
20929
190a011a
JD
209302010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
20931
20932 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
20933
022d01b8
SL
209342010-12-25 Shea Levy <shlevy>
20935
20936 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
20937
c4855fdc
VS
209382010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
20941 Windows Server 2008.
20942 Reported by: Devin Giddings.
20943
0354b867
VS
209442010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20945
20946 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
20947 writing an error message because of async power management.
20948 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
20949 (grub_reboot): Likewise.
20950
ab66c69f
JU
209512010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
20952
20953 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
20954 keep unit tests from failing when they shouldn't.
20955
1426ef35
CW
209562010-12-21 Colin Watson <cjwatson@ubuntu.com>
20957
20958 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
20959 previous patch increased the size of the RS code by 20 bytes (at
20960 least with gcc-4.4), so increase this by 20 bytes to match.
20961 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20962
20641b6b
CW
209632010-12-21 Colin Watson <cjwatson@ubuntu.com>
20964
20965 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
20966 scratch area. Make sure to initialise chosen in standalone mode as
20967 well as non-standalone.
20968 Reported by: Robert Hooker and Andy Whitcroft.
20969 Tested by: Andy Whitcroft.
20970
d060ad60
CW
209712010-12-21 Colin Watson <cjwatson@ubuntu.com>
20972
20973 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
20974 constructing a new unescaped string and passing it to grub_xputs in
20975 one go, rather than passing characters to grub_printf one at a time.
20976
b889cfad
CW
209772010-12-21 Colin Watson <cjwatson@ubuntu.com>
20978
20979 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
20980 initialising utf16.
20981
4e01b6c8
CW
209822010-12-21 Colin Watson <cjwatson@ubuntu.com>
20983
20984 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
20985 comment. Add an extra layer of quotation, requiring the output of
20986 this function to be used in a printf format string.
20987 (gettext_printf): New function.
20988 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
20989 Extract translatable strings from here-documents and use a temporary
20990 variable instead, so that xgettext can find them.
20991 * util/grub.d/10_kfreebsd.in: Likewise.
20992 * util/grub.d/10_linux.in: Likewise.
20993 * util/grub.d/20_linux_xen.in: Likewise.
20994
20995 * po/grub.d.sed: New file.
20996 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
20997 arguments. Set c-format flags on all strings extracted from
20998 util/grub.d/ (xgettext refuses to include these itself for strings
20999 it extracted from a shell file, but these really are c-format).
21000
5318fe98
VS
210012010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21004 Avoid next pointing to nowhere.
21005
6c85b743
VS
210062010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21009 rather than assuming than rootblock is exactly in the middle.
21010 (grub_affs_label): Likewise.
21011
a2a08a35
VS
210122010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21015 reserved_first_sector to 0.
21016 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21017 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21018 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21019
7059d1ec
VS
210202010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 Fix handling of UTF-16 UDF labels.
21023
21024 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21025 (read_string): .. here.
21026 (grub_udf_label): Use read_string.
21027
30aff4cb
BC
210282010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21029
21030 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21031 editor under argument scope.
21032 Reported by: Jordan Uggla
21033
5cf86f4b
VS
210342010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21037
32570200
CW
210382010-12-18 Colin Watson <cjwatson@ubuntu.com>
21039
21040 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21041 line, and other keys scroll an entire page (previous handling was
21042 for \r and \n to scroll a page and other keys to scroll two lines).
21043
e1dffcf2
VS
210442010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21047 Set ptrdest to correct get_physical_target_address rather than
21048 incorrect get_virtual_current_address.
21049
b04298cf 210502010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21051
21052 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21053 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21054
5367ecd3
CW
210552010-12-10 Colin Watson <cjwatson@ubuntu.com>
21056
21057 * .bzrignore: Ignore grub-core/rs_decoder.S.
21058
1fb430f8
CW
210592010-12-10 Colin Watson <cjwatson@ubuntu.com>
21060
21061 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21062 .mo/.mo.gz opening sequence to ...
21063 (grub_mofile_open_lang): ... here.
21064 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21065 * util/grub.d/00_header.in (grub_lang): Include country part of
21066 locale.
21067 Reported by: Mario Limonciello.
21068
a94a6671
RM
210692010-12-09 Robert Millan <rmh@gnu.org>
21070
21071 * NEWS: Document addition of ZFS support.
21072
24b7938b
CW
210732010-12-04 Colin Watson <cjwatson@ubuntu.com>
21074
21075 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21076 rather than `/ 2', as the latter requires -Wa,--divide which would
21077 require bumping our minimum binutils version.
21078
bddc3ef6
BC
210792010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21080
21081 * util/grub-script-check.c (main): Print script line number on
21082 error.
21083
bf78d5b2
RM
210842010-12-01 Robert Millan <rmh@gnu.org>
21085
21086 * grub-core/fs/zfs/zfs.c: New file.
21087 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21088 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21089 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21090 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21091
21092 * include/grub/zfs/dmu.h: Likewise.
21093 * include/grub/zfs/dmu_objset.h: Likewise.
21094 * include/grub/zfs/dnode.h: Likewise.
21095 * include/grub/zfs/dsl_dataset.h: Likewise.
21096 * include/grub/zfs/dsl_dir.h: Likewise.
21097 * include/grub/zfs/sa_impl.h: Likewise.
21098 * include/grub/zfs/spa.h: Likewise.
21099 * include/grub/zfs/uberblock_impl.h: Likewise.
21100 * include/grub/zfs/vdev_impl.h: Likewise.
21101 * include/grub/zfs/zap_impl.h: Likewise.
21102 * include/grub/zfs/zap_leaf.h: Likewise.
21103 * include/grub/zfs/zfs.h: Likewise.
21104 * include/grub/zfs/zfs_acl.h: Likewise.
21105 * include/grub/zfs/zfs_znode.h: Likewise.
21106 * include/grub/zfs/zil.h: Likewise.
21107 * include/grub/zfs/zio.h: Likewise.
21108 * include/grub/zfs/zio_checksum.h: Likewise.
21109
21110 * Makefile.util.def: Build ZFS into libgrubmods.
21111 * grub-core/Makefile.core.def: Build zfs.mod.
21112
3f0f3831
SJ
211132010-11-30 Szymon Janc <szymon@janc.net.pl>
21114
21115 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21116 variable.
21117 * grub-core/commands/wildcard.c (match_files): Likewise.
21118
3a4253b2
RM
211192010-11-30 Robert Millan <rmh@gnu.org>
21120
21121 * grub-core/loader/i386/bsd.c
21122 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21123 whether kernel is loaded using grub_loader_is_loaded(), rather
21124 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21125 certain error conditions.
21126
8c317b27
RM
211272010-11-30 Robert Millan <rmh@gnu.org>
21128
c5c9cd3e
RM
21129 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21130 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 21131
49d3ab46
VS
211322010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 Avoid using tricks for initialising endian variables.
21135
21136 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21137 Make const.
21138 (GRUB_MOD_INIT): Don't byte-swap.
21139 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21140 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21141 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21142 (grub_swap_bytes32_compile_time): Likewise.
21143 (grub_cpu_to_le32_compile_time): Likewise.
21144 (grub_cpu_to_le16_compile_time): Likewise.
21145
f420a804
VS
211462010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 * util/grub-setup.c (setup): Stop recommending --force. People who
21149 understand the dangers of blocklists are able to find this option
21150 anyway and the ones who don't shouldn't use it anyway.
21151
4e7db17b
RM
211522010-11-26 Robert Millan <rmh@gnu.org>
21153
21154 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21155 Update all users.
21156
9be57a0d
CW
211572010-11-26 Colin Watson <cjwatson@ubuntu.com>
21158
21159 Fix LVM-on-RAID probing.
21160
21161 * util/grub-probe.c (probe): Remember which disk was detected as
21162 RAID (perhaps an LVM physical volume). Use that disk's raidname
21163 rather than that of the top-level disk.
21164
2c7859b3 211652010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21166
d7647bb6
BC
21167 Fix cmdline argument quotes for setparams command of menuentry
21168 definitions.
7e623b0d
BC
21169
21170 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21171 quotes for arguments.
f866fe80 21172 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21173 grub_strchrsub function instead.
f866fe80 21174
7955bea0 21175 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21176
74f72a64
CW
211772010-11-24 Colin Watson <cjwatson@ubuntu.com>
21178
21179 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21180 effort by skipping "." and ".." entries up-front.
21181 Suggested by: Michael Lazarev.
21182
5a407278
CW
211832010-11-24 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21186 ldflags to ldadd, to fix link line ordering.
21187 (none_decompress): Likewise.
21188
3030d8ec
CW
211892010-11-24 Colin Watson <cjwatson@ubuntu.com>
21190
21191 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21192 platforms.
21193 (grub-emu-lite): Remove kern/emu/cache.S.
21194
b7fbac12
CW
211952010-11-23 Colin Watson <cjwatson@ubuntu.com>
21196
21197 * util/deviceiter.c (compare_devices): If the by-id link for a
21198 device couldn't be resolved, fall back to sorting by the by-id link
21199 rather than segfaulting.
21200 Reported and tested by: Daniel Mierswa.
21201
5225f328
CW
212022010-11-23 Colin Watson <cjwatson@ubuntu.com>
21203
21204 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21205 ldflags, to fix link line ordering.
21206
038b3ce8
CW
212072010-11-23 Colin Watson <cjwatson@ubuntu.com>
21208
21209 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21210 linkers are picky about this.
21211
bf16e98e
CW
212122010-11-23 Colin Watson <cjwatson@ubuntu.com>
21213
21214 * grub-core/Makefile.am (command.lst): Adjust sed expression
21215 ordering so that extended and priority commands aren't treated as
21216 ordinary commands.
21217
7242bab6
CW
212182010-11-23 Colin Watson <cjwatson@ubuntu.com>
21219
21220 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21221 Remove byte-swapping function calls, which are not valid in
21222 structure initialisers.
21223 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21224 non-const.
21225 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21226 grub_gpt_partition_type_bios_boot.
21227
14e8b279
CW
212282010-11-22 Colin Watson <cjwatson@ubuntu.com>
21229
21230 Fix test program build on GNU/kFreeBSD.
21231
21232 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21233 $(LIBNVPAIR)' library dependencies.
21234
e6f63338 212352010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21236
21237 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21238
cf8ffc38
CW
212392010-11-22 Colin Watson <cjwatson@ubuntu.com>
21240
21241 * util/grub-install.in: Remove excessive quoting that broke
21242 installations to RAID devices.
21243
7f8b0fd7
VS
212442010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21247 bootloader version instead of 0.
21248
dfd240b1
VS
212492010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21250
21251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21252 warning.
21253
7b61e609
VS
212542010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21257 retrieve the metadat sector if size isn't known.
21258 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21259
9dfe92d0
RM
212602010-11-18 Robert Millan <rmh@gnu.org>
21261
21262 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21263 with grub_memcmp().
21264
41cc919e
VS
212652010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21266
21267 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21268 arrow.
21269 Reported by: Jordan Uggla.
21270
1afcc914
VS
212712010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 Make better UTF compliant.
21274
21275 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21276 sequences as incorrect.
21277 (grub_is_valid_utf8): Likewise.
21278 (grub_utf8_to_ucs4): Likewise.
21279 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21280 (grub_ucs4_to_utf8_alloc): Likewise.
21281 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21282
f1808884
VS
212832010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Make legacy_source behave like source.
21286
21287 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21288 grub_show_menu.
21289 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21290
24ec575b
CW
212912010-11-16 Colin Watson <cjwatson@debian.org>
21292
21293 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21294 (-Wunused implies -Wunused-parameter, but not vice versa).
21295
72b7c7aa
CW
212962010-11-16 Colin Watson <cjwatson@ubuntu.com>
21297
21298 * configure.ac: Make error messages less confusing by testing for
21299 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21300 accepted, but produces a diagnostic if something else is wrong).
21301
e98937aa
VS
213022010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21305 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21306 (now unused).
21307 (grub_keyboard_controller_init)
21308 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21309 read the initial state since controller isn't inited yet.
21310
f6bbabc3
VS
213112010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21312
21313 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21314 allocate_regbeg may need to create new chunk header.
21315
22e7dbb2
VS
213162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21317
21318 Fix quoting in legacy parser.
21319
21320 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21321 single quotes.
21322 (grub_legacy_parse): Likewise.
21323 Reported by: Jordan Uggla.
21324 Tested by: Jordan Uggla.
21325
03f80960
VS
213262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21327
21328 Don't add -lgcc on i386 and x86_64.
21329
21330 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21331 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21332 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21333
779dc15b
VS
213342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21335
21336 * configure.ac: Add -Wno-trampolines when supported.
21337
d20a3b37
MV
213382010-11-14 Modestas Vainius <modax@debian.org>
21339
21340 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21341 fakeraid.
21342
e5360933
GC
213432010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21344
21345 Add generic logical block size support for UDF.
21346
21347 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21348 (GRUB_UDF_BLKSZ): Removed.
21349 (struct grub_udf_data): New field "lbshift" to hold the logical block
21350 size of the file system in log2 format. All users updated.
21351 (sblocklist): Change type to unsigned.
21352 (grub_udf_mount): Change type of "sblklist" to unsigned.
21353 Move AVDP search before VRS recognition, because the latter requires
21354 knowledge of the logical block size, which is detected during the
21355 former.
21356 Detect and validate logical block size during AVDP search, adding
21357 support for block sizes 512, 1024 and 4096.
21358 Make VRS recognition independent of block size.
21359
cb0229c5
GC
213602010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21361
21362 Properly handle deleted files on UDF.
21363
21364 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21365 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21366 set.
21367
406858a8
GC
213682010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21369
21370 Support reading files larger than 2 GiB.
21371
21372 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21373 "offset" to grub_off_t.
21374 (grub_udf_read_file): Likewise for parameter "pos".
21375
130da6a7
VS
213762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21379 unavailable.
21380 (Simple configuration): Refer to Changes from GRUB Legacy about
21381 save_env availability.
21382
65e93f6b
VS
213832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21384
21385 * util/grub-install.in: Ignore empty partition table detection
21386 instead of trying to include part_ module.
21387
1fd08bf1
VS
213882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21391 LVM on RAID support.
21392
de1a024f
VS
213932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 Properly define WORDS_BIGENDIAN in wrapped environments.
21396
21397 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21398 definition.
21399 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21400
21401 Reported by: Manoel Rebelo Abranches.
21402 Tested by: Manoel Rebelo Abranches.
21403
bc5dd0b9
VS
214042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21405
21406 * util/grub-mkconfig.in: Fix quoting.
21407
58c184be
VS
214082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 Support big ext2 files.
21411
21412 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21413 (grub_ext2_read_block): Support triple indirect blocks.
21414 (grub_ext2_read_file): Use 64-bit types and read size_high.
21415 (grub_ext2_open): Read size_high.
21416 Reported by: Ximin Luo.
21417 Tested by: Manoel Rebelo Abranches.
21418
5f0c02b3
VS
214192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 * util/grub-install.in: Handle filenames containing spaces.
21422 Reported by: Jordan Uggla.
21423 Tested by: Jordan Uggla.
21424
4417aae6
VS
214252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 * util/grub-mkconfig.in (grub_script_check): New variable.
21428 Use grub_script_check instead of grub-script-check.
21429 Reported by: Barry Jackson.
21430
7625a68e
VS
214312010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21432
21433 * docs/grub.texi (menu): Correct the order.
21434 Reported by: D. Hugh Redelmeier.
21435
10001ac5
VS
214362010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21437
21438 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21439 jump.
21440
9c4cf53b
MRA
214412010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21442
10001ac5
VS
21443 * include/grub/elfload.h (grub_elf32_size): New parameter.
21444 All users updated.
9c4cf53b
MRA
21445 Return maximum segments alignment.
21446 (grub_elf64_size): Likewise.
21447 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21448 Return maximum segments alignment.
21449 (grub_elf64_size): Likewise.
21450 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21451 (grub_linux_claimmap_iterate): New function. Uses the
21452 "available" property in the "memory" node for memory allocation
21453 for kernel in the PowerPC loader.
9c4cf53b
MRA
21454 (grub_linux_load32): Correctly find linux entry point offset.
21455 (grub_linux_load64): Likewise.
21456
d2bf06bf
RM
214572010-11-07 Robert Millan <rmh@gnu.org>
21458
21459 On mips-yeeloong, build with -march=loongson2f when this flag is
21460 available (GCC >= 4.4).
21461 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21462 `-march=mips3'.
21463 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21464 or otherwise add -march=mips3.
21465
898c99a2
BC
214662010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21467
87220a68
BC
21468 Suppress shell expansion on echo '*' and echo "*" like cases.
21469 Reported by: Jordan Uggla.
898c99a2
BC
21470
21471 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21472 string arguments before shell expansion.
21473 * tests/grub_cmd_echo.in: New testcases.
21474
4f9b406a
RM
214752010-11-07 Robert Millan <rmh@gnu.org>
21476
21477 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21478 transition.
21479
80c6d25e
VS
214802010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * grub-core/kern/emu/hostdisk.c
21483 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21484
4a1a0153
VS
214852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21488 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21489 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21490
34706ddc
VS
214912010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21494
6972dea9
VS
214952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 * util/grub-install.in: Replace useless recomendation to pass
21498 --modules with a recomendation to report a bug.
21499
9c693bd6
VS
215002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 Properly register serial terminfo.
21503 Reported by: Jordan Uggla
21504
21505 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21506 const.
21507 (grub_serial_terminfo_output_template): Likewise.
21508 (grub_cmd_serial): Register "serial" with terminfo.
21509 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21510 grub_serial_terminfo_output.
21511
6c9e4c0c
RM
215122010-11-05 Robert Millan <rmh@gnu.org>
21513
21514 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21515 needed).
21516
b9b3839f
RM
215172010-11-05 Robert Millan <rmh@gnu.org>
21518
21519 On Yeeloong, pass machine type information to Linux.
21520
21521 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21522 (LOONGSON_MACHTYPE): New macro, set to
21523 "machtype=lemote-yeeloong-2f-8.9inches".
21524 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21525 additional argument to Linux.
21526
1a3aaff4
RM
215272010-11-04 Robert Millan <rmh@gnu.org>
21528
21529 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21530 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21531 (its SATA disks are detected as slaveless IDE master drives on
21532 kFreeBSD).
21533 Reported by Carsten Aulbert.
21534
a75f4f62
CW
215352010-11-02 Colin Watson <cjwatson@ubuntu.com>
21536
21537 * util/bin2h.c (main): Fix spelling error in generated output.
21538
33b4b0c6
GS
215392010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21540
21541 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21542
2b36fbf4
VS
215432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21546 vga= option is supplied.
21547
74aaf558
VS
215482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21551 * util/grub.d/10_kfreebsd.in: Likewise.
21552 * util/grub.d/10_linux.in: Likewise.
21553 * util/grub.d/20_linux_xen.in: Likewise.
21554
6428dec3
VS
215552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21558 argument as an argument to no-argument option.
21559
f8729d98
VS
215602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21561
21562 * util/grub.d/10_linux.in: Add missing load_video with explicit
21563 GRUB_GFXPAYLOAD_LINUX.
21564
89d68fa6
VS
215652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21568
3a1197cd
VS
215692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21572 elements with invlid index.
21573 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21574 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21575 members.
21576 * include/grub/raid.h (grub_raid_member): New struct.
21577 (grub_raid_array): Transform devices and start_sector into usage of
21578 grub_raid_member. All users updated
21579 (allocated_devs): New member.
21580
71574288
VS
215812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21584 is modified
21585
8d40ec65
BC
215862010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21587
21588 NetBSD build fix for getline function conflict from gnulib.
21589
21590 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21591 components that depend on gnulib headers.
21592 (libgrubmods.a): Renamed from earlier libgrub.a.
21593 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21594
95b9257e
VS
215952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21598 install rather than creating a broken install.
21599
26c53dc6
VS
216002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 * util/grub-setup.c (argp): Remove misleading example of installing to
21603 a partition.
21604
4171b3c5
VS
216052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * util/grub-setup.c (setup): Clarify the error message.
21608
18568d18
VS
216092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21612
4f6a2e21
VS
216132010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * grub-core/kern/emu/misc.c
21616 (grub_make_system_path_relative_to_its_root)
21617 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21618
216192010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21620
21621 * grub-core/kern/emu/misc.c
21622 (grub_make_system_path_relative_to_its_root): Revert r2882.
21623
e138c458
VS
216242010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21627 useless field head. All users updated.
21628 (free_subchunk): Correct handling of IN_REGION subchunk.
21629
0cbcdf0e
CW
216302010-10-22 Colin Watson <cjwatson@ubuntu.com>
21631
21632 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21633 (Supported kernels): Likewise.
21634
b65ea155
GS
216352010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21636
21637 Make mktemp invocations portable.
21638
21639 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21640 exit if mktemp fails.
21641 * tests/grub_script_blockarg.in: Likewise.
21642 * tests/partmap_test.in: Likewise.
21643 * tests/util/grub-shell-tester.in: Likewise.
21644 * tests/util/grub-shell.in: Likewise.
21645 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21646 * Makefile.am: Likewise, and chain shell commands with `&&'
21647 instead of ';'.
21648 * util/grub-mkrescue.in: Use the same explicit template as above, and
21649 exit if mktemp fails.
21650
05f43cdd
BC
216512010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21652
21653 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21654 Linux kernel, reported by Dennis Schridde.
21655
800e6a9b
SJ
216562010-10-17 Szymon Janc <szymon@janc.net.pl>
21657
21658 * grub-core/normal/auth.c (grub_auth_check_authentication):
21659 Set-but-not-used variable removed.
21660
d82df574
VS
216612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21664 32-bit linux protocol.
21665
7bced458
VS
216662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21669 cursor shape for sanity.
21670
5b027690
VS
216712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21672
21673 * docs/grub.texi (Installation): Document buggy BIOS install.
21674
ba5f65cf
VS
216752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * docs/grub.texi (Installation): Indent.
21678
fdf2ec9c
VS
216792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21680
21681 * util/grub-setup.c (setup): New parameter allow_floppy.
21682 (arguments): New member allow_floppy.
21683 (argp_parser): Handle --allow-floppy.
21684 (main): Pass allow_floppy.
21685 * util/grub-install.in: New option --allow-floppy passed though to
21686 grub-setup.
21687
861dfd4c
VS
216882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * util/grub-install.in: Handle partitionless disks.
21691
f77a8c24
VS
216922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * util/grub-setup.c (setup): Don't clean blocklists before readability
21695 verfification.
21696
27d9ee32
VS
216972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 * docs/grub.texi (Installation): Document embedding zone. Remove
21700 obsolete grub-install example.
21701
6bdda8f8
SJ
217022010-10-16 Szymon Janc <szymon@janc.net.pl>
21703
21704 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21705 Set-but-not-used variable ifdef'ed.
21706 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21707 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21708 variable removed.
21709 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21710 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21711 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21712 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21713 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21714 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21715 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21716 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21717 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21718 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21719 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21720 Likewise.
21721
e19b016b
VS
217222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21725 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21726 enum value.
21727
6c8d3002
VS
217282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21729
21730 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21731 synonym to _S5_. Needed for some DSDTs.
21732
c32b51c9
VS
217332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21734
21735 Userspace ACPI parser debugging.
21736
21737 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21738 headers and add relevant defines. Don't include standard headers.
21739 (main) [GRUB_DSDT_TEST]: New function.
21740 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21741 Don't declare functions.
21742
fbfbeb39
VS
217432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Remove dead grub_efi_mm_fini.
21746
21747 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21748 (ALLOCATED_PAGES_SIZE): Likewise.
21749 (MAX_ALLOCATED_PAGES): Likewise.
21750 (allocated_pages): Likewise.
21751 (grub_efi_allocate_pages): Don't record allocated pages.
21752 (grub_efi_free_pages): Likewise.
21753 (grub_efi_mm_init): Likewise.
21754 (grub_efi_mm_fini): Removed.
21755
65f7ed7c
VS
217562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21759 (grub_efi_mm_init): Take into account the memory map size increase.
21760
24977b44
VS
217612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21764 (serial_hw_put): Wait based on real time rather than port reads. Don't
21765 roken ports.
21766 * include/grub/serial.h (grub_serial_port): New field broken.
21767
1eb01cd2
RM
217682010-10-16 Robert Millan <rmh@gnu.org>
21769
21770 * grub-core/kern/emu/misc.c
21771 (grub_make_system_path_relative_to_its_root): Fix premature return
21772 when processing non-root ZFS filesystems.
5f8b440b 21773 Reported by Sergio Talens-Oliag.
1eb01cd2 21774
2d5fed60
RM
217752010-10-15 Robert Millan <rmh@gnu.org>
21776
21777 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21778 guarantee compressed ones are processed first.
21779
d0f4c1ea
VS
217802010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21783 grub_efiemu_autocore.
21784
d87c681f
VS
217852010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21786
21787 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21788 rather than 0x1b.
21789 (grub_console_getkey): Use correct jae opcode rather than ja.
21790
219b3564
RM
217912010-10-12 Robert Millan <rmh@gnu.org>
21792
21793 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21794 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21795 variable. All references updated.
21796
21797 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21798
20c6bb7e
VS
217992010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21800
21801 Correctly distinguish mdraid flavours.
21802
21803 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21804 (insert_array): New argument raid.
21805 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21806 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21807 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21808
74baff84
VS
218092010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21810
21811 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21812 handling of special keys.
21813
3ef068df 218142010-10-02 Aleš Nesrsta <starous@volny.cz>
21815
c7980ad9
VS
21816 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21817 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21818
a9455194 218192010-10-02 Aleš Nesrsta <starous@volny.cz>
21820
c7980ad9
VS
21821 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21822 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21823 users updated.
a9455194 21824 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21825 Use right endpoint when querying descriptor.
a9455194 21826
441cfe65
VS
218272010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21828
21829 Clear out 0x80 color bit on EFI.
21830 Tested by: decoder
21831 Reported by: decoder and meta tech.
21832
21833 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21834 (grub_console_setcolorstate): Clear out 0x80 bit.
21835 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21836 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21837 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21838
bf26bcc4
VS
218392010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21842 Set to "auto".
21843
6e3c515d
VS
218442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21847 mo_file after freeing.
21848
e6d983ba
VS
218492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21852
74ccb5b5
VS
218532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
21856 flags.
21857
17821956
VS
218582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21859
21860 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
21861 usage.
21862
ee74fa48
VS
218632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21864
21865 Put terminfo into core on ieee1275 and yeeloong (needed for console).
21866
21867 * gentpl.py: New groups terminfoinkernel and terminfomodule.
21868 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
21869 and terminfo.h when needed.
21870 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
21871 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
21872 (terminfo): Enable only on terminfokernel.
21873 (extcmd): Likewise.
21874 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
21875 * include/grub/lib/arg.h: Likewise.
21876 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
21877 incorrect usage of ->.
21878
aa438e68
VS
218792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
21882 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
21883
57994012
VS
218842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 Fix coreboot compilation.
21887
21888 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21889 Take VBE info into account even if only text is supported.
21890 (fill_vbe_info): Take into account the case when only VGA text
21891 is supported.
21892 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
21893 on coreboot, multiboot and qemu.
21894
2a406611
VS
218952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
21898 debug messages.
21899 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
21900
d33613fc
VS
219012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
21904 parameters.
21905
44a1b432
VS
219062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
21909 if they were BSD-style.
21910
edde54e6
VS
219112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21912
21913 * grub-core/boot/i386/pc/lnxboot.S: Replace
21914 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
21915 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
21916
b65830fa
VS
219172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 Write embedding zone using Reed-Solomon.
21920
21921 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
21922 * grub-core/Makefile.am (rs_decoder.S): New target.
21923 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
21924 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
21925 (multiboot): Move to RS part.
21926 (post_reed_solomon): New label.
21927 (grub_boot_drive): Move to non-RS part since it's modified in memory
21928 on boot.
21929 Include rs_decoder.S.
21930 * grub-core/lib/reed_solomon.c: New file.
21931 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
21932 New definition.
21933 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
21934 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
21935 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
21936 * include/grub/partition.h (grub_partition_map): Change prototype of
21937 embed to allow returning additional sectors.
21938 * include/grub/reed_solomon.h: New file.
21939 * util/grub-setup.c (setup): Handle Reed-Solomon.
21940
0b4b227f
CW
219412010-09-28 Colin Watson <cjwatson@ubuntu.com>
21942
21943 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
21944 i386 and x86-64 definedness tests.
21945
f772623b
YB
219462010-09-27 Yves Blusseau <blusseau@zetam.org>
21947
21948 Fix generation of kernel_syms.lst
21949
21950 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
21951 ASM_PREFIX
21952
8e57a6ca
RM
219532010-09-26 Robert Millan <rmh@gnu.org>
21954
21955 Support degraded ZFS arrays in "grub-probe -t device" resolution.
21956
21957 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
21958 the pool is an array of devices, iterate through it and return the
21959 first device that passes a stat() test (instead of blindly returning
21960 the first one).
21961
f9130836
RM
219622010-09-26 Robert Millan <rmh@gnu.org>
21963
21964 Build fixes for GNU/kFreeBSD.
21965
21966 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
21967 to programs that require ZFS conversion.
21968 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
21969 kernels that don't have FLOPPY_MAJOR.
21970
96510faf
BC
219712010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21972
21973 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
21974
449333eb
BC
219752010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
21976
21977 Fix grub-emu build.
21978
21979 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
21980 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
21981 mdraid09 and mdraid1x.
21982
e1fd1939
CW
219832010-09-24 Colin Watson <cjwatson@ubuntu.com>
21984
21985 Re-enable grub-extras.
21986
21987 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
21988 avoid confusing Automake. Run autogen only twice, once for the top
21989 level and once for grub-core. Add Makefile.util.def and
21990 Makefile.core.def from extra modules to the appropriate autogen
21991 invocations. If Makefile.common exists in an extra module, include
21992 it in both Makefile.util.am and grub-core/Makefile.core.am;
21993 similarly, include any Makefile.util.common file in Makefile.util.am
21994 and any Makefile.core.common file in grub-core/Makefile.core.am.
21995 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
21996 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
21997 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
21998 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
21999
22000 * gentpl.py (gvar_add): Turn GVARS into a set.
22001 (global_variable_initializers): Sort global variables on output.
22002 (vars_init): New function.
22003 (first_time): Likewise.
22004 (library): Ensure that non-global variable initialisations are
22005 emitted before the first time we emit code for a library block.
22006 Append to variables rather than setting them. Only emit
22007 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22008 each conditional path.
22009 (program): installdir() emits an Autogen macro, so must be passed to
22010 var_add rather than gvar_add.
22011 (data): Likewise.
22012 (script): Likewise.
22013 (rules): New function, centralising handling for different target
22014 types. Set up Guile association lists for first_time and vars_init,
22015 and send most output to a diversion so that variable initialisations
22016 can be emitted first.
22017 (module_rules): Use new rules function.
22018 (kernel_rules): Likewise.
22019 (image_rules): Likewise.
22020 (library_rules): Likewise.
22021 (program_rules): Likewise.
22022 (script_rules): Likewise.
22023 (data_rules): Likewise.
22024
22025 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22026
22027 * .bzrignore: Add contrib and grub-core/contrib. Remove
22028 grub-core/Makefile.gcry.am.
22029
1d12cf29
YB
220302010-09-24 Yves Blusseau <blusseau@zetam.org>
22031
22032 * grub-core/lib/LzFind.c: Add missing include.
22033 * grub-core/lib/LzmaEnc.c: Likewise.
22034 * grub-core/script/lexer.c: Likewise.
22035 * grub-core/script/yylex.l: Likewise.
22036 * util/grub-macho2img.c: Likewise.
22037 * util/grub-menulst2cfg.c: Likewise.
22038 * util/grub-mklayout.c: Likewise.
22039 * util/grub-mkpasswd-pbkdf2.c
22040 * util/grub-mkrelpath.c: Likewise.
22041 * util/resolve.c: Likewise.
22042
dd363028
BC
220432010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22044
22045 * Makefile.util.def (example_unit_test): Add
22046 grub-core/gnulib/libgnu.a.
22047
f5a109e2
GS
220482010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22049
22050 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22051
6d0fa83c
VS
220522010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 Support xz compression on yeeloong.
22055
22056 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22057 * configure.ac: Check for LZMA.
22058 * grub-core/Makefile.core.def (xz_decompress): New target.
22059 (none_decompress): Likewise.
22060 * grub-core/boot/decompressor/minilib.c: New file.
22061 * grub-core/boot/decompressor/none.c: Likewise.
22062 * grub-core/boot/decompressor/xz.c: Likewise.
22063 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22064 * grub-core/kern/mips/cache_flush.S: Likewise.
22065 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22066 * grub-core/kern/mips/startup.S: Move first stage to ...
22067 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22068 nomacro.
22069 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22070 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22071 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22072 Allocate statically.
22073 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22074 Allocate statically or use scratch. Don't check CRC32.
22075 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22076 Allocate statically. Don't check CRC32.
22077 * include/grub/decompressor.h: New file.
22078 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22079 Removed.
22080 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22081 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22082 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22083 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22084 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22085 * util/grub-mkimage.c (grub_compression_t): New type.
22086 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22087 (image_target_desc): New field default_compression.
22088 (image_targets): Adjust yeeloong targets.
22089 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22090 (compress_kernel): New parameter comp.
22091 (generate_image): Likewise. Handle new compression case.
22092 (options): New option --compression
22093 (help): Likewise.
22094 (main): Handle new option.
22095
1b655af6
GS
220962010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22097
22098 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22099
8f03f0b5
CW
221002010-09-22 Colin Watson <cjwatson@ubuntu.com>
22101
22102 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22103 typo in __i386__ conditional.
22104
7835dfd3
VS
221052010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22108 include.
22109
e255597e
VS
221102010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22111
6d0fa83c 22112 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
22113
22114 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22115 new tags as supported.
22116 (acpiv2_size): New function.
22117 (grub_multiboot_get_mbi_size): Take new tags into account.
22118 (grub_multiboot_make_mbi): Add new tags.
22119 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 22120
6cc14051 221212010-09-21 Aleš Nesrsta <starous@volny.cz>
22122
22123 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22124 Added missing configuration of USB device.
22125
df7769d8
CW
221262010-09-21 Colin Watson <cjwatson@ubuntu.com>
22127
22128 * grub-core/normal/menu_entry.c (run): Make sure we always return
22129 a value.
22130
b031012d
CW
221312010-09-21 Colin Watson <cjwatson@ubuntu.com>
22132
22133 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22134 NumberOfPages is UINT64 according to the UEFI specification, not
22135 UINTN. Fix printf format.
22136
174de8f3
CW
221372010-09-21 Colin Watson <cjwatson@ubuntu.com>
22138
22139 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22140 `err' to grub_usb_err_t.
22141 Reported and tested by: KESHAV P.R.
22142
d7dbe923
CW
221432010-09-21 Colin Watson <cjwatson@ubuntu.com>
22144
22145 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22146 tpart non-const, so that we can assign to it. (Since this is a
22147 typedef, the constness refers to the pointer rather than what it
22148 points to.)
22149
8d5e2af3
CW
221502010-09-21 Colin Watson <cjwatson@ubuntu.com>
22151
22152 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22153 $(top_srcdir)/grub-core/gnulib as well as
22154 $(top_builddir)/grub-core/gnulib.
22155 Reported by: KESHAV P.R.
22156
5c527783
CW
221572010-09-21 Colin Watson <cjwatson@ubuntu.com>
22158
22159 * util/grub-install.in: Fix the bootloader ID option to be
22160 consistently --bootloader-id, not --bootloader_id.
22161 Reported by: KESHAV P.R.
22162
d309a16e
CW
221632010-09-21 Colin Watson <cjwatson@ubuntu.com>
22164
22165 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22166 check hash checksum." consistently translatable.
22167
b830cd16
YB
221682010-09-21 Yves Blusseau <blusseau@zetam.org>
22169
22170 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22171 $(top_builddir).
22172
c4fe27a8
CW
221732010-09-21 Colin Watson <cjwatson@ubuntu.com>
22174
22175 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22176 (GRUB_MOD_INIT): Register sha1sum command.
22177 (GRUB_MOD_FINI): Unregister sha1sum command.
22178
a4c1d277
YB
221792010-09-21 Yves Blusseau <blusseau@zetam.org>
22180
22181 Keep boot and grub directory names in sync with utils scripts
22182
22183 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22184 * config.h.in: Add previous macros.
22185 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22186 * util/grub-install.in: Use $bootdir and $grubdir variables.
22187
4eff79d2
CW
221882010-09-21 Colin Watson <cjwatson@ubuntu.com>
22189
22190 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22191 convert partition names to disk names if the new `convert' parameter
22192 is set.
22193 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22194 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22195 disk in its own right. This can happen with Xen disk images.
22196
934d7e44
YB
221972010-09-21 Yves Blusseau <blusseau@zetam.org>
22198
22199 * util/grub-editenv.c: Update strings to avoid warnings when generating
22200 grub.pot file.
22201 * util/grub-setup.c: Likewise.
934d7e44 22202
df3367cc
VS
222032010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 * configure.ac: Change version to 1.99~beta0.
22206
77a94e98
VS
222072010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22210 Add BADRAM.
22211 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22212 Likewise.
22213 * include/multiboot.h: Resynced with specification.
22214 * include/multiboot2.h: Likewise.
22215
269004c1
CW
222162010-09-21 Colin Watson <cjwatson@ubuntu.com>
22217
22218 Fix po directory handling.
22219
22220 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22221 * grub-core/gnulib/Makefile.am: Import gettext module.
22222 * m4/gnulib-cache.m4: Likewise.
22223 * m4/gnulib-comp.m4: Likewise.
22224 * m4/gettext.m4: New file, from gnulib.
22225 * m4/glibc2.m4: Likewise.
22226 * m4/iconv.m4: Likewise.
22227 * m4/intdiv0.m4: Likewise.
22228 * m4/intl.m4: Likewise.
22229 * m4/intldir.m4: Likewise.
22230 * m4/intlmacosx.m4: Likewise.
22231 * m4/intmax.m4: Likewise.
22232 * m4/inttypes-pri.m4: Likewise.
22233 * m4/lcmessage.m4: Likewise.
22234 * m4/lib-ld.m4: Likewise.
22235 * m4/lib-link.m4: Likewise.
22236 * m4/lib-prefix.m4: Likewise.
22237 * m4/lock.m4: Likewise.
22238 * m4/nls.m4: Likewise.
22239 * m4/po.m4: Likewise.
22240 * m4/printf-posix.m4: Likewise.
22241 * m4/progtest.m4: Likewise.
22242 * m4/threadlib.m4: Likewise.
22243 * m4/uintmax_t.m4: Likewise.
22244 * m4/visibility.m4: Likewise.
22245 * po/Makefile.am: Remove.
22246 * po/Makefile.in.in: New file, from gettext.
22247 ($(DOMAIN).pot-update): Support POTFILES-shell.
22248 * po/Makevars: New file.
22249 * po/POTFILES-shell: Rename to ...
22250 * po/POTFILES-shell.in: ... this. Update.
22251 * po/POTFILES: Rename to ...
22252 * po/POTFILES.in: ... this. Update.
22253 * po/Rules-quot: New file, from gettext.
22254 * po/boldquot.sed: Likewise.
22255 * po/en@boldquot.header: Likewise.
22256 * po/en@quot.header: Likewise.
22257 * po/insert-header.sin: Likewise.
22258 * po/quot.sed: Likewise.
22259 * po/remove-potcdate.sin: Likewise.
22260
3e0fa5d0
VS
222612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22264
ade9bd66
VS
222652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * util/grub.d/20_linux_xen.in: Use submenus.
22268
fc55cc4c
VS
222692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Support submenus.
22272
22273 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22274 parameter submenu. All users updated.
22275 * grub-core/normal/main.c (free_menu): Rename to ...
22276 (grub_normal_free_menu): ... this. Made global.
22277 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22278 if requested.
22279 * grub-core/normal/menu_entry.c (screen): New field submenu.
22280 (make_screen): Set submenu.
22281 (run): Open new context if requested.
22282 * include/grub/menu.h (grub_menu_entry): New field submenu.
22283 * include/grub/normal.h (grub_normal_free_menu): New proto.
22284
600cedf7
VS
222852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 Menu entries extractor.
22288
22289 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22290 variants.
22291 (GRUB_MOD_INIT): Register new variants.
22292 (GRUB_MOD_FINI): Unregister new variants.
22293 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22294 into grub_cmd_legacy_source.
22295 (grub_cmd_legacy_source): Implement extractor variants.
22296 (GRUB_MOD_INIT): Register new variants.
22297 (GRUB_MOD_FINI): Unregister new variants.
22298 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22299 as an extractor.
22300 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22301 search as an extractor.
22302 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22303 test as an extractor.
22304 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22305 as an extractor.
22306 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22307 (grub_env_new_context): New function.
22308 (grub_env_context_open): Likewise.
22309 (grub_env_extractor_open): Likewise.
22310 (grub_env_extractor_close): Likewise.
22311 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22312 grub_extractor_level.
22313 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22314 * include/grub/env.h (grub_env_extractor_open): New proto.
22315 (grub_env_extractor_close): Likewise.
22316 * include/grub/normal.h (grub_extractor_level): New external variable.
22317
7bda3a87
VS
223182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22319
22320 Make cutmem accept a region specification.
22321 Suggested by: Samuel Thibault
22322
22323 * grub-core/mmap/mmap.c (parsemem): New function.
22324 (grub_cmd_cutmem): Handle new arguments.
22325
2ea57f88
VS
223262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22327
22328 New command cutmem.
22329
22330 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22331 (GRUB_MOD_INIT): Register new command.
22332 (GRUB_MOD_FINI): Unregister new command.
22333
74342e31
VS
223342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22335
22336 Support some annoying BSD and Minix subpartitions.
22337
22338 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22339 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22340 Properly handle concatenation.
22341 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22342 * grub-core/normal/completion.c (iterate_partition): Likewise.
22343 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22344 contain partition. All users updated.
22345 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22346 struct.
22347 (grub_openbsdlabel_partition_map): Likewise.
22348 (bsdlabel_partition_map_iterate): Rename to ..
22349 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22350 (bsdlabel_partition_map_iterate): New function.
22351 (netopenbsdlabel_partition_map_iterate): Likewise.
22352 (netbsdlabel_partition_map_iterate): Likewise.
22353 (openbsdlabel_partition_map_iterate): Likewise.
22354 (GRUB_MOD_INIT): Register new partmaps.
22355 (GRUB_MOD_FINI): Unregister new partmaps.
22356 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22357 (grub_partition_msdos_iterate): ... this. All users updated.
22358 Don't support embedding other than in a minix partition.
22359 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22360 proto.
22361 * include/grub/partition.h (grub_partition): New field msdostype.
22362 * util/grub-install.in: Handle openbsd and netbsd types being in
22363 part_bsd module.
22364
1e8d555b
VS
223652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22368
22369 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22370 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22371 (mdraid09): ... this.
22372 (mdraid1x): New module.
22373 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22374 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22375
899d8af4
VS
223762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22379 vsprintf.
22380
40901acd
CW
223812010-09-20 Colin Watson <cjwatson@ubuntu.com>
22382
22383 * grub-core/commands/efi/lsefimmap.c: Correct header.
22384 * NEWS: Update.
22385
dfe3b247
CW
223862010-09-20 Colin Watson <cjwatson@ubuntu.com>
22387
22388 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22389 as printf format strings; the translations might contain '%' which
22390 could cause a crash.
22391 (main): Likewise.
22392 * util/grub-fstest.c (argp_parser): Likewise.
22393 * util/grub-setup.c (argp_parser): Likewise.
22394 (main): Likewise.
22395
3286a4b4
VS
223962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 Use argp in grub-fstest.
22399
22400 * util/grub-fstest.c: Don't include getopt.h.
22401 Include argp.h.
22402 (root): New variable.
22403 (args_count): Likewise.
22404 (nparm): Likewise.
22405 (num_disks): Likewise.
22406 (images): Likewise.
22407 (cmd): Likewise.
22408 (debug_str): Likewise.
22409 (args): Likewise.
22410 (options): Transformed to argp.
22411 (usage): Removed.
22412 (main): Split argument parsing into ...
22413 (argp_parser): ... this. Changed to argp format.
22414 (argp): New variable.
22415 (main): Use argp_parse.
22416
3dccbe4b
TG
224172010-09-20 Tristan Gingold <gingold@free.fr>
224182010-09-20 Robert Millan <rmh.grub@aybabtu.com>
224192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 * grub-core/commands/efi/lsefimmap.c: New file.
22422 * grub-core/Makefile.core.def (lsefimmap): New module.
22423 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22424
38c259a7
VS
224252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22426
22427 Pause the execution (10s max) if any errors are displayed so the user
22428 has a chance to see them.
22429
22430 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22431 (grub_print_error): Increment grub_err_printed_errors.
22432 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22433 execution if any errors were displayed.
22434 (show_menu): Remove old code for pause.
22435 * grub-core/normal/menu_entry.c (run): Likewise.
22436 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22437 users updated.
22438 (grub_normal_get_char_counter): Likewise.
22439 * include/grub/err.h (grub_err_printed_errors): New external variable.
22440 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22441
f218b09c
VS
224422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22443
22444 Support multiboot VBE info.
22445
22446 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22447 Take VBE info into account.
22448 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22449 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22450 Call fill_vbe_info when appropriate.
22451 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22452 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22453 as supported.
22454 (grub_multiboot_get_mbi_size): Take new tags into account.
22455 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22456 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22457 Call fill_vbe_tag when appropriate.
22458 (grub_multiboot_make_mbi): Properly align tags.
22459 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22460 function.
22461 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22462 proto.
22463 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22464
a9cc5438
VS
224652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 Suport manual terminal geometry specification.
22468
22469 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22470 Save state in grub_ofconsole_terminfo_output.
22471 (grub_ofconsole_term): Use grub_terminfo_getwh.
22472 (grub_ofconsole_getwh): Removed.
22473 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22474 (grub_serial_term): Use grub_terminfo_getwh.
22475 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22476 (options): New struct.
22477 (OPTION_*): New enum.
22478 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22479 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22480 width and height.
22481 (grub_terminfo_getwh): New proto.
22482 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22483
1a8fed20
VS
224842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22485
22486 Handle legacy "terminal" command.
22487
22488 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22489 and FLAG_TERMINAL.
22490 (legacy_commands): Add terminal and title.
22491 (grub_legacy_parse): Handle terminal. Simplify title handling.
22492
41e9c57d
VS
224932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22496 parameters overflow.
22497
61c874c5
CW
224982010-09-20 Colin Watson <cjwatson@ubuntu.com>
22499
22500 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22501 widthspec.h.
22502
22503 * docs/grub.texi (Shell-like scripting): Document `!'.
22504 (Network): Simplify using new i386-pc-pxe format. Mention
22505 grub-mknetdir.
22506
22507 * NEWS: Update.
22508
943682b4
CW
225092010-09-20 Colin Watson <cjwatson@ubuntu.com>
22510
22511 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22512 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22513 when needed.
22514
6d3d698d
CW
225152010-09-20 Colin Watson <cjwatson@ubuntu.com>
22516
22517 * grub-core/commands/efi/lsefisystab.c: Correct header.
22518 * grub-core/commands/efi/lssal.c: Likewise.
22519 * grub-core/commands/testload.c: Likewise.
22520
c982589f
CW
225212010-09-20 Colin Watson <cjwatson@ubuntu.com>
22522
22523 * util/grub-mkrescue.in: Add explicit root argument to --set to
22524 prevent the UUID being interpreted as an argument to --set (matches
22525 previous change to prepare_grub_to_access_device).
22526
a63c31b6
CW
225272010-09-20 Colin Watson <cjwatson@ubuntu.com>
22528
22529 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22530 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22531 the verbosity of later #ifs.
22532 (find_partition_start): Define this function on FreeBSD too.
22533 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22534 function.
22535 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22536 on FreeBSD.
22537
6439b8ee
YB
225382010-09-20 Yves Blusseau <blusseau@zetam.org>
22539
22540 * util/grub-editenv.c: Use argp instead of getopt.
22541
c5930ec8
YB
225422010-09-20 Yves Blusseau <blusseau@zetam.org>
22543
22544 * util/grub-setup.c: Use argp instead of getopt.
22545
15c69261
YB
225462010-09-20 Yves Blusseau <blusseau@zetam.org>
22547
22548 Use gnulib-tool to create gnulib source files.
22549
22550 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22551 grub-core/gnulib directories
22552 * .bzignore: Add **/.deps and autogenerated gnulib files
22553 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22554 of gnulib macros, add grub-core/gnulib/Makefile
22555 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22556 include m4 directory to aclocal.
22557 * Makefile.util.def: Remove direct compilation of gnulib source files
22558 and use the new grub-core/gnulib/libgnu.a.
22559 * build-aux/config.rpath: move config.rpath from top directory to
22560 build-aux
22561 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22562 in gnulib headers
22563 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22564 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22565 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22566 header.
22567 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22568 string.
22569
e511c9f5
YB
225702010-09-20 Yves Blusseau <blusseau@zetam.org>
22571
22572 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22573 grub-core/genmod.sh and grub-core/gensyminfo.sh
22574
c2dede05
BC
225752010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22576
22577 Add a test for echo command options.
22578
22579 * tests/grub_cmd_echo.in: New test.
22580 * Makefile.util.def: Rules for new test.
22581
c55f5018
SJ
225822010-09-20 Szymon Janc <szymon@janc.net.pl>
22583
22584 Remove crc.mod and move crc command to hashsum.mod.
22585 Remove lib/crc.c - users updated to use gcrypt implementation.
22586
22587 * grub-core/commands/crc.c: Removed.
22588 * grub-core/Makefile.core.def (crc): Module removed.
22589 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22590 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22591 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22592 * grub-core/lib/crc.c: Removed.
22593 * include/grub/lib/crc.h: Removed.
22594 * Makefile.util.def (crc): Remove lib/crc.c
22595 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22596 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22597 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22598 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22599 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22600 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22601
e0337366
VS
226022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22603
22604 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22605
742f9232
VS
226062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22607
22608 Split config.h for util and core.
22609
22610 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22611 (ADDR32): Likewise.
22612 (DATA32): Likewise.
22613 (BSS_START_SYMBOL): Likewise.
22614 (END_SYMBOL): Likewise.
22615 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22616 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22617 * config.h.in: New file.
22618 * configure.ac: Use config-util.h as config define file.
22619 Rename MACHINE into GRUB_MACHINE. All users updated.
22620 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22621 updated.
22622 (NESTED_FUNC_ATTR): Likewise.
22623 Substitue new variables.
22624 (COND_HAVE_ASM_USCORE): New conditional.
22625 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22626 (kernel_syms.lst): Use ASM_PREFIX.
22627 * grub-core/kern/emu/console.c: Include config-util.h.
22628 * grub-core/kern/emu/misc.c: Likewise.
22629 * grub-core/kern/emu/mm.c: Likewise.
22630 * include/grub/emu/misc.h: Likewise.
22631 * include/grub/libgcc.h: Likewise.
22632
39feb0e8
VS
226332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22636 constants usage.
22637 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22638 Fix GRUB_TERM_KEY_* constants usage.
22639 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22640
9af6dac3
VS
226412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22644 print pointer.
22645 * grub-core/bus/usb/uhci.c: Remove empty define.
22646 (grub_uhci_check_transfer): Add missing cast.
22647 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22648 print pointer.
22649 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22650 PRIuGRUB_SIZE.
22651 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22652
d6d94820
VS
226532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22654
22655 * grub-core/Makefile.core.def (legacycfg): Add
22656 lib/i386/pc/vesa_modes_table.c on emu.
22657
3572f2b6
BC
226582010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22659
22660 Reduce number of temporary files generated by build system.
22661
22662 * grub-core/gencmdlist.sh: Removed.
22663 * grub-core/genfslist.sh: Removed.
22664 * grub-core/genhandlerlist.sh: Removed.
22665 * grub-core/genmodsrc.sh: Removed.
22666 * grub-core/genpartmaplist.sh: Removed.
22667 * grub-core/genparttoollist.sh: Removed.
22668 * grub-core/gentermiinallist.sh: Removed.
22669 * grub-core/genvideolist.sh: Removed.
22670
22671 * grub-core/genmod.sh.in: New file.
22672 * grub-core/gensyminfo.sh.in: New file.
22673
22674 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22675 * conf/Makefile.extra-dist: Update with new files.
22676 * gentpl.py: Remove rules related to unnecessary temporary files.
22677 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22678 and und-* files.
22679 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22680 genmod.sh scripts.
22681 * grub-core/bus/usb/uhci.c: Remove empty #define.
22682 * grub-core/genmoddep.awk: Updated with new syminfo format.
22683 * util/bash-completion.d/Makefile.am: Add config.log to
22684 CLEANFILES.
22685
c836b030
YB
226862010-09-19 Yves Blusseau <blusseau@zetam.org>
22687
22688 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22689
2f4e8053
BC
226902010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22691
22692 * util/grub-mkconfig.in: Check the config script for syntax errors
22693 before saving.
22694
75831c34
CW
226952010-09-19 Colin Watson <cjwatson@ubuntu.com>
226962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22697
22698 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22699 platforms.
22700 * util/grub-install.in: Add EFI and IEEE1275 support.
22701 * util/i386/efi/grub-install.in: Removed.
22702 * util/ieee1275/grub-install.in: Likewise.
22703
eaf41b25
VS
227042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22707 (grub_cmd_cmosclean): Likewise.
22708 (GRUB_MOD_INIT): Register command cmosclean.
22709 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22710 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22711
1a9130dd
CPE
227122010-09-18 Carles Pina i Estany <carles@pina.cat>
227132010-09-18 Aleš Nesrsta <starous@volny.cz>
227142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22715
22716 Add keyboard layouts support.
22717
22718 * Makefile.util.def (grub-mklayout): New file.
22719 (grub-kbdcomp): New script.
22720 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22721 Add keyboard_layouts.h.
22722 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22723 commands/boot.c on yeeloong.
22724 (keylayouts): New module.
22725 * grub-core/bus/usb/ohci.c
22726 * grub-core/bus/usb/uhci.c
22727 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22728 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22729 (attach_root_port): Likewise.
22730 (poll_nonroot_hub): Likewise.
22731 (grub_usb_poll_devices): Likewise.
22732 (detach_device): Close transfer.
22733 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22734 function.
22735 (grub_usb_bulk_setup_readwrite): Likewise.
22736 (grub_usb_bulk_finish_readwrite): Likewise.
22737 * grub-core/commands/keylayouts.c: New file.
22738 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22739 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22740 aliases.
22741 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22742 support scancode 2.
22743 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22744 * include/grub/keyboard_layouts.h: New file.
22745 * util/grub-mklayout.c: New file.
22746 * util/grub-kbdcomp.in: Likewise.
22747
a1d84a5e
VS
227482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 Unify memory types.
22751
22752 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22753 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22754 types.
22755 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22756 (grub_upper_mem): Likewise.
22757 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22758 * include/grub/memory.h (grub_memory_type_t): New enum.
22759 All users updated.
22760
9696382e
VS
227612010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 * grub-core/Makefile.core.def (lsapm): New module.
22764 * grub-core/commands/i386/pc/lsapm.c: New file.
22765 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22766 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22767 Likewise.
22768 * include/grub/i386/pc/apm.h: New file.
22769 * include/multiboot.h (multiboot_apm_info): New struct.
22770
227712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22772
22773 GRUB-legacy configuration file support.
22774
22775 * Makefile.util.def (grub-menulst2cfg): New util.
22776 * docs/man/grub-menulst2cfg.h2m: New file.
22777 * grub-core/Makefile.core.def (legacycfg): New module.
22778 * grub-core/commands/legacycfg.c: New file.
22779 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22780 (grub_normal_add_menu_entry): ... this.
22781 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22782 (grub_normal_set_password): ...this.
22783 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22784 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22785 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22786 * grub-core/lib/legacy_parse.c: New file.
22787 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22788 * include/grub/i386/pc/vesa_modes_table.h: New file.
22789 * include/grub/legacy_parse.h: Likewise.
22790 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22791 * util/grub-menulst2cfg.c: New file.
22792
bf8d1338
CW
227932010-09-17 Colin Watson <cjwatson@ubuntu.com>
22794
22795 * grub-core/kern/emu/hostdisk.c
22796 (convert_system_partition_to_system_disk): Initialise node.
22797
9c0bad2e
CW
227982010-09-17 Colin Watson <cjwatson@ubuntu.com>
22799
22800 * grub-core/kern/emu/hostdisk.c
22801 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22802 leak.
22803 Reported and based on patch by: Modestas Vainius.
22804
a939d135
CW
228052010-09-17 Colin Watson <cjwatson@ubuntu.com>
22806
22807 Fix DM-RAID probing with recent versions of device-mapper udev
22808 rules.
22809
22810 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22811 canonicalise device paths under /dev/mapper/.
22812 (convert_system_partition_to_system_disk): Compare the
22813 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22814 path, since device nodes under /dev/mapper/ are often symlinks.
22815
0f7ee3c9
YB
228162010-09-17 Yves Blusseau <blusseau@zetam.org>
22817
22818 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22819
10854d0d
YB
228202010-09-16 Yves Blusseau <blusseau@zetam.org>
22821
22822 * configure.ac: Avoid some annoying error messages if freetype-config
22823 program is not found.
22824
108538d8
CW
228252010-09-16 Colin Watson <cjwatson@ubuntu.com>
22826
22827 Support RAID on virtio devices, and others.
22828
22829 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22830 Rename to ...
22831 [__MINGW32__] (grub_find_device): ... this.
22832 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22833 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22834 reasonable default if dir is NULL.
22835 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22836 ...
22837 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22838 (grub_guess_root_device): Update callers.
22839 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22840
22841 * util/raid.c (grub_util_getdiskname): Remove.
22842 (grub_util_raid_getmembers): Use grub_find_device rather than
22843 grub_util_getdiskname.
22844
e5bfc130
CW
228452010-09-16 Colin Watson <cjwatson@ubuntu.com>
22846
22847 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22848 needing to be compiled with serial support.
22849 (ls): Indicate that multiple files are accepted.
22850 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22851 indicate that multiple files are accepted.
22852
be458ae2
CW
228532010-09-16 Colin Watson <cjwatson@ubuntu.com>
22854
22855 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
22856 libgrub_a_init.c, and util/bash-completion.d/grub.
22857
cb731b5e
VS
228582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * util/grub-setup.c (setup): Fix incorrect container semantics.
22861
35139e8a
VS
228622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
22865 misusage.
22866 Reported by: J. Nick Terry
22867
e50fca4a
VS
228682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 Move embedding routines to partmap sources files.
22871
22872 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
22873 [GRUB_UTIL]: New variable.
22874 (gpt_partition_map_iterate): Set part.parent.
22875 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
22876 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
22877 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
22878 New function.
22879 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
22880 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
22881 (grub_partition_map) [GRUB_UTIL]: New field embed.
22882 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
22883 (setup): Use ->embed.
22884
f00478b7
VS
228852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22886
22887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
22888 function.
22889 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
22890 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
22891
2b94e3ff
YB
228922010-09-15 Yves Blusseau <blusseau@zetam.org>
22893
22894 Add function to get completions from usage.
22895
22896 * util/bash-completion.d/grub-completion.bash.in: Add function to get
22897 completions from usage. Use LC_ALL=C to get options properly.
22898
2e04a006
VS
228992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22900
22901 * grub-core/gnulib/basename-lgpl.c: Imported.
22902 * grub-core/gnulib/basename.c: Likewise.
22903 * grub-core/gnulib/dirname-lgpl.c: Likewise.
22904 * grub-core/gnulib/dirname.c: Likewise.
22905 * grub-core/gnulib/dirname.h: Likewise.
22906 * grub-core/gnulib/stripslash.c: Likewise.
22907
5dcdf93a
VS
229082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22909
22910 * grub-core/gnulib/error.c: Resynced.
22911 * grub-core/gnulib/getopt.c: Likewise.
22912 * grub-core/gnulib/getopt_int.h: Likewise.
22913 * grub-core/gnulib/regex.h: Likewise.
22914 * grub-core/gnulib/regex_internal.c: Likewise.
22915 * grub-core/gnulib/regex_internal.h: Likewise.
22916
014f47b7
SJ
229172010-09-15 Szymon Janc <szymon@janc.net.pl>
22918
22919 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
22920 CRC calculations and validity checks.
22921 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
22922 calculations.
22923
dd521a4a
SJ
229242010-09-15 Szymon Janc <szymon@janc.net.pl>
22925
22926 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
22927
79c4eeb9
VS
229282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22929
22930 Fix incorrect echo options handling.
22931 Reported by: Yves Blusseau.
22932
22933 * include/grub/command.h (grub_command_flags_t): New flags
22934 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
22935 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
22936 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
22937
ed80f7d5
VS
229382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
22941 users updated.
22942 (GRUB_COMMAND_FLAG_MENU): Likewise.
22943 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22944 (GRUB_COMMAND_FLAG_TITLE): Removed.
22945 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22946 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
22947 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
22948 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
22949 (grub_command_flags_t): New enum. All users updated.
22950
5fe7620a
SG
229512010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
22952
22953 Fix solaris compilation.
22954
22955 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
22956 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
22957 (grub-emu-list): Likewise.
22958
545b752f
VS
229592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 Remove deprecated root command.
22962
22963 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
22964 updated.
22965
6c1a338c
VS
229662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22967
22968 * util/i386/pc/grub-setup.c: Merge this ...
22969 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
22970 * util/grub-setup.c: ... into this.
22971 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
22972 New struct.
22973
229742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22975
22976 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
22977 possible.
22978
d2ea4551
VS
229792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
22982 allocate p.
22983
3c3b5040
VS
229842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
22987 explicit root argument to set to prevent UUID to be interpreted as
22988 argument to set.
22989
b71c3fae
VS
229902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22991
22992 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
22993
275433e6
VS
229942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 Don't export grub_gate_a20.
22997
22998 * grub-core/kern/i386/pc/init.c: Remove leftovers.
22999 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23000 to ...
23001 (grub_gate_a20): ... this. All users updated.
23002 * include/grub/i386/pc/init.h: Removed. All users updated.
23003
a5dbb1f1
VS
230042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 Create euro.pf2 which supports most European languages.
23007
23008 * Makefile.am (grubdata_DATA): Add euro.pf2.
23009 (euro.pf2): New target.
23010 (CLEANFILES): Add euro.pf2.
23011
62a747cb
VS
230122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23013
23014 * configure.ac: Disable emu-usb by default to prevent inadvertent
23015 device takeover.
23016
608e43b1
VS
230172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23018
23019 Disable usbserial on grub-emu since our libusb code isn't good enough
23020 yet.
23021
23022 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23023 (usbserial_pl2303): Likewise.
23024 (usbserial_ftdi): Likewise.
23025
94564f81
VS
230262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * include/grub/disk.h (grub_disk): Remove has_partitions.
23029 All users updated.
23030 * disk/loopback.c (grub_loopback): Remove has_partitions.
23031 All users updated.
23032 (options): Remove partitions. All users updated.
23033 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23034 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23035 actual partition table is found.
23036
3352800b
VS
230372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23038
23039 Remove readability checks (too many false negatives).
23040
23041 * util/grub-install.in: Remove readability checks.
23042 * util/grub-mkconfig.in: Likewise.
23043 * util/grub.d/10_hurd.in: Likewise.
23044 * util/grub.d/10_kfreebsd.in: Likewise.
23045 * util/grub.d/10_linux.in: Likewise.
23046 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23047 way.
23048
2419f17a
VS
230492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 Enable acpi shutdown on all ACPI platforms.
23052
23053 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23054 on coreboo, multiboot and EFI.
23055 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23056 (grub_acpi_halt): Likewise.
23057 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23058 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23059 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23060 * grub-core/lib/i386/halt.c (grub_halt)
23061 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23062
0575c7c3
VS
230632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23066 context.
23067
54ac3cd1
VS
230682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23071 * grub-core/video/efi_uga.c: Likewise.
23072
b2a30ac5
VS
230732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 Filter devaliases and never open same device twice.
23076
23077 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23078 (last_ihandle): Likewise.
23079 (ofdisk_hash_ent): New member shortest.
23080 (ofdisk_hash_add): Add canonical path too.
23081 (scan): New function.
23082 (grub_ofdisk_iterate): Iterate over hashed entries.
23083 (compute_dev_path): Don't add :0.
23084 (grub_ofdisk_open): Don't really open the disk.
23085 (grub_ofdisk_close): Avoid closing unrelated disk.
23086 (grub_ofdisk_read): Implement reopen logic.
23087 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23088 New function.
23089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23090 New proto.
23091
fb53b340
VS
230922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23093
23094 Fix sparc64.
23095
23096 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23097 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23098 right address. Add sparc64_ieee1275_ldflags.
23099 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23100 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23101 to grub_host_to_target_addr
23102 (load_image): Likewise.
23103
f452b040
VS
231042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 * grub-core/normal/completion.c (complete_file): Handle device
23107 containing slash.
23108 Fix based on patch by Doug Nazar.
23109
9b5b2541
VS
231102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 grub-mknetdir script.
23113
23114 * Makefile.util.def (grub-mknetdir): New module.
23115 * tests/util/grub-shell.in: Support boot=net
23116 * util/grub-mknetdir.in: New file.
23117
9d2be652
VS
231182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 videoinfo on non-vbe.
23121
23122 * grub-core/Makefile.core.def (vbeinfo): Removed.
23123 (vbetest): Removed.
23124 (videoinfo): New module.
23125 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23126 * grub-core/commands/i386/pc/vbetest.c: Removed.
23127 * grub-core/commands/videoinfo.c: New file.
23128 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23129 specification.
23130 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23131 as vbetest.
23132 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23133 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23134 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23135 mode_number. New parameter mode. All users updated.
23136 (grub_video_gop_iterate): New function.
23137 (grub_video_efi_gop): New member iterate.
23138 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23139 (grub_vbe_set_video_mode): Remove setting useless fields.
23140 (vbe2videoinfo): New function.
23141 (grub_video_vbe_iterate): Likewise.
23142 (grub_video_vbe_setup): Use vbe2videoinfo.
23143 (grub_video_vbe_print_adapter_specific_info): New function.
23144 (grub_video_vbe_adapter): New fields iterate and
23145 print_adapter_specific_info.
23146 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23147 All users updated.
23148 (grub_video_mode_info): New field mode_number.
23149 (grub_video_adapter): New fields iterate and
23150 print_adapter_specific_info.
23151
179503f5
TG
231522010-09-13 Tristan Gingold <gingold@free.fr>
231532010-09-13 Robert Millan <rmh.grub@aybabtu.com>
231542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23155
23156 * grub-core/commands/efi/lsefisystab.c: New file.
23157 * grub-core/commands/efi/lssal.c: Likewise.
23158 * grub-core/Makefile.core.def (lsacpi): New module.
23159 (lsefisystab): Likewise.
23160 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23161 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23162 (grub_efi_sal_system_table): New struct.
23163 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23164 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23165 (grub_efi_sal_system_table_platform_features): Likewise.
23166 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23167 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23168 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23169 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23170
cf9827de
VS
231712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 Support explicit user claim that a device is BIOS-visible.
23174
23175 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23176 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23177 * grub-core/kern/emu/hostdisk.c
23178 (convert_system_partition_to_system_disk): Support mdX.
23179 (find_system_device): New parameter add. All users updated.
23180 (grub_util_biosdisk_is_present): New function.
23181 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23182 proto.
23183
53f0eb1f
VS
231842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 Search hints support.
23187
23188 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23189 All users updated.
23190
b23ffd70
YB
231912010-09-13 Yves Blusseau <blusseau@zetam.org>
23192
23193 Bash completion script for util commands
23194
23195 * Makefile.am: Add util/bash-completion.d directory
23196 * configure.ac: Likewise.
23197 * util/bash-completion.d/Makefile.am: New file.
23198 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23199
d547dc28
VS
232002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23201
23202 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23203 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23204 Reported by: Yves Blusseau.
23205
2fc8ccb9
VS
232062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23209 partition size and offset.
23210
d8a84076
VS
232112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23214
84fb3b3d
VS
232152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23218
768ec2e2
VS
232192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23220
23221 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23222 (grub_xvasprintf): Likewise.
23223
4870900f
VS
232242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23225
23226 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23227
faca6bec
VS
232282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23229
23230 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23231 args ending with NULL.
23232
232332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23234
23235 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23236 pointer.
23237
3c70f225
SJ
232382010-09-11 Szymon Janc <szymon@janc.net.pl>
23239
23240 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23241
4df7996d
VS
232422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23243
23244 Shutdown using ACPI.
23245
23246 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23247 * grub-core/commands/acpihalt.c: New file.
23248 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23249 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23250 (grub_acpi_halt): New proto.
23251 (GRUB_ACPI_SLP_EN): New const.
23252 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23253 (GRUB_ACPI_OPCODE_*): New enum.
23254 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23255
126b4c32
TG
232562010-09-11 Tristan Gingold <gingold@free.fr>
232572010-09-11 Robert Millan <rmh.grub@aybabtu.com>
232582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 * commands/lsacpi.c: New file.
23261 * grub-core/Makefile.core.def (lsacpi): New module.
23262 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23263 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23264 (grub_acpi_madt_entry_header): New struct.
23265 (grub_acpi_madt): Likewise.
23266 (grub_acpi_madt_entry_interrupt_override): Likewise.
23267 (grub_acpi_madt_entry_sapic): Likewise.
23268 (grub_acpi_madt_entry_lsapic): Likewise.
23269 (grub_acpi_madt_entry_platform_int_source): Likewise.
23270 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23271 (PRIuGRUB_UINT32_T): Likewise.
23272 (PRIxGRUB_UINT64_T): Likewise.
23273
1aa4fe88
VS
232742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23275
23276 Implement loading palette on ieee1275_fb.
23277
23278 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23279 (have_setcolors): Likewise.
23280 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23281 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23282 (grub_video_ieee1275_set_palette): Implement.
23283
25761e13
VS
232842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
232852010-09-11 Colin Watson <cjwatson@ubuntu.com>
23286
23287 * util/grub-install.in (grub_partition): New variable.
23288 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23289 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23290 Fixes a bug reported by Yves Blusseau.
23291
050abaea
VS
232922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 Fix emu on mipsel.
23295
23296 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23297 =grub_cpu_flush_cache on all mips and not only yeeloong.
23298 * configure.ac (COND_mips): New conditional.
23299 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23300 platforms.
23301 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23302 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23303 [GRUB_LINKER_HAVE_INIT]: New function.
23304 (grub_emu_post_init): Likewise.
23305 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23306 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23307 * include/grub/cache.h (_mips): Include mips/cache.h.
23308 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23309 LVM and RAID prototypes.
23310 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23311 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23312 function.
23313
5ed7d816
CW
233142010-09-10 Colin Watson <cjwatson@ubuntu.com>
23315
23316 * util/grub-install.in: Don't try to verify core.img until after
23317 running grub-mkimage to create it.
23318
90367e04
RM
233192010-09-10 Robert Millan <rmh@gnu.org>
23320
23321 * util/grub.d/10_hurd.in: Add misc readability checks.
23322 * util/grub.d/10_kfreebsd.in: Likewise.
23323 * util/grub.d/10_linux.in: Likewise.
23324
c452fa66
CW
233252010-09-10 Colin Watson <cjwatson@ubuntu.com>
23326
23327 * util/grub-install.in: ${imgext} won't be defined here until the
23328 install branch is merged. For the meantime, only verify core.img on
23329 i386-pc and sparc64-ieee1275 platforms.
23330
c38fe9f4
RM
233312010-09-10 Robert Millan <rmh@gnu.org>
23332
23333 Solaris support in grub_find_zpool_from_dir(). Thanks
23334 Seth Goldberg for referring to getextmntent() facility.
23335
23336 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23337 `sys/mkdev.h'.
23338 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23339 `<sys/mnttab.h>'.
23340 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23341 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23342 method for finding zpool name.
23343
905f7773
CW
233442010-09-10 Colin Watson <cjwatson@ubuntu.com>
23345
23346 grub-fstest needs the host and hostfs modules while other utilities
23347 actively require those modules to be absent, so grub-fstest needs
23348 its own initialisation and finalisation code.
23349
23350 * Makefile.am (grub_fstest.pp): New target.
23351 (grub_fstest_init.lst): Likewise.
23352 (grub_fstest_init.c): Likewise.
23353 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23354
fb90b546
RM
233552010-09-10 Robert Millan <rmh@gnu.org>
23356
23357 * configure.ac: Check for `struct statfs.f_fstypename' and
23358 `struct statfs.f_mntfromname'.
23359
23360 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23361 kFreeBSD-specific code.
23362
66d4bea5
RM
233632010-09-10 Robert Millan <rmh@gnu.org>
23364
23365 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23366 on ZFS. Now non-main filesystems are supported as / too.
23367
b6a690ee
CW
233682010-09-09 Colin Watson <cjwatson@ubuntu.com>
23369
23370 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23371 and grub-core/disk/host.c to ...
23372 (grub-fstest): ... here. Having the host disk implementation
23373 present confuses grub-probe and other utility programs.
23374
23375 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23376 when writing to a file, not when writing to stdout.
23377
8901b00c 233782010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23379
23380 * tests/partmap_test.in: New test for partitions.
23381 * Makefile.util.def: Rules for new test.
23382
7bf45fdd
RM
233832010-09-09 Robert Millan <rmh@gnu.org>
23384
23385 * util/grub-probe.c (probe): Fix a pair of unhandled error
23386 conditions.
23387
4dfbc574
RM
233882010-09-09 Robert Millan <rmh@gnu.org>
23389
23390 Basic Btrfs support (detection and UUID).
23391
23392 * grub-core/fs/btrfs.c: New file.
23393 * Makefile.util.def (library): Register btrfs.c.
23394 * grub-core/Makefile.core.def: Likewise.
23395
6b8e78ae
RM
233962010-09-08 Robert Millan <rmh@gnu.org>
23397
23398 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23399 with (optional) parameters to specify device and relative path.
23400 * util/grub-install.in: Use is_path_readable_by_grub() to
23401 verify readability of a few critical files.
23402 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23403 verify readability of grub.cfg.new.
23404
27f21a8b
VS
234052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23406
23407 Split minix.mod into minix.mod and minix2.mod.
23408
23409 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23410 * grub-core/Makefile.core.def (minix2): New module.
23411 * grub-core/fs/minix.c: Use definitions instead of runtime version
23412 checking.
23413 * grub-core/fs/minix2.c: New file.
23414
c0e53ea5
YB
234152010-09-08 Yves Blusseau <blusseau@zetam.org>
23416
23417 Add new --boot-directory option to replace --root-directory
23418
23419 * util/grub-install.in: Add new --boot-directory option
23420 * util/grub-reboot.in: Likewise.
23421 * util/grub-set-default.in: Likewise.
23422
b9fe6ea2
YB
234232010-09-08 Yves Blusseau <blusseau@zetam.org>
23424
23425 * util/grub-mkconfig.in: Use new variable.
23426
d87aedff
YB
234272010-09-08 Yves Blusseau <blusseau@zetam.org>
23428
23429 * configure.ac: Define some useful variables.
23430
e55e8495
VS
234312010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23432
23433 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23434 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23435 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23436 Use terminfo and don't use cursor-on/cursor-off unless it's known
23437 to work.
23438 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23439 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23440
6fa6d675
CW
234412010-09-08 Colin Watson <cjwatson@ubuntu.com>
23442
23443 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23444 starts with "(,", fill the drive containing the loaded image in
23445 between those two characters, but expect that a full partition
23446 specification including partition map names will follow.
23447
92f2aef0
RM
234482010-09-08 Robert Millan <rmh@gnu.org>
23449
23450 * configure.ac: Remove `--enable-grub-fstest' option.
23451 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23452
23453 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23454 `grub-fstest' instead of `grub-probe' for readability verification.
23455 * util/grub-probe.c (probe): Remove readability verification kludge.
23456
99fd620d
RM
234572010-09-08 Robert Millan <rmh@gnu.org>
23458
23459 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23460 initializing `GRUB_FS'.
23461
058e30ac 234622010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23463
23464 Not command (!) support to GRUB script.
23465
23466 * tests/grub_script_not.in: New test.
23467 * Makefile.util.def: Rules for new test.
23468
23469 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23470 ! command as a special case.
23471 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23472
b61d05ed 234732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23474
058e30ac 23475 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23476 grub_free.
b61d05ed 23477
4d69c786 234782010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23479
23480 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23481
aa3119c4 234822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23483
23484 * docs/grub.texi (Shell-like scripting): Documentation for break,
23485 continue, shift and return commands.
23486
db0f7e3d
VS
234872010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 Rename CD-ROM to cd on BIOS.
23490
23491 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23492 "cd".
23493 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23494
88b87c93
VS
234952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23498 * util/grub-probe.c (main): Likewise.
23499 * util/i386/pc/grub-setup.c (main): Likewise.
23500 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23501 Reported and debugged by: alexxy
23502
294f324d
VS
235032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23504
23505 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23506 diagnostic info.
23507
d7ee3441
JS
235082010-09-05 Jo Shields <directhex@apebox.org>
23509
23510 * util/grub.d/30_os-prober.in: Add missing classes.
23511
d7e06c1f
VS
235122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * docs/grub.texi (Theme file format): Document new position format.
23515
fc157e53
VS
235162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23517
23518 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23519 a table. Use @code instead of @verbatim.
23520
506e9a1c
CB
235212010-09-05 Colin D Bennett <colin@gibibit.com>
23522
23523 Gfxmenu documentation.
23524
23525 * docs/grub.texi (Theme file format): New chapter.
23526
f0aff67c
SJ
235272010-09-05 Szymon Janc <szymon@janc.net.pl>
23528
23529 * grub-core/Makefile.core.def (xzio): New module.
23530 * grub-core/io/xzio.c: New file.
23531 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23532 * grub-core/lib/xzembed/xz_config.h: Likewise.
23533 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23534 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23535 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23536 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23537 * grub-core/lib/xzembed/xz_private.h: Likewise.
23538 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23539 * include/grub/file.h (grub_file_filter_id): New compression filter
23540 GRUB_FILE_FILTER_XZIO.
23541
82a85062
VS
235422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23543
23544 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23545 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23546 size.
23547
3579415d
VS
235482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23549
23550 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23551 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23552
5124ae6d
VS
235532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 Uncompressed checksum support.
23556
23557 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23558 (check_list): New parameter uncompress.
23559 (grub_cmd_hashsum): Handle --uncompress.
23560
9aadb3d1
VS
235612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23562
23563 Reintroduce testload.
23564
23565 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23566 from here ...
23567 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23568 (GRUB_MOD_INIT): New function.
23569 (GRUB_MOD_FINI): Likewise.
23570 * grub-core/Makefile.core.def (testload): New module.
23571
a17792c3
SJ
235722010-09-05 Szymon Janc <szymon@janc.net.pl>
23573
23574 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23575 (uint8_t): New type.
23576 (uint16_t): Likewise.
23577 (uint32_t): Likewise.
23578 (uint64_t): Likewise.
23579
b81e40a3
SJ
235802010-09-05 Szymon Janc <szymon@janc.net.pl>
23581
23582 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23583
fc2ef117
VS
235842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23585
23586 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23587 Made static.
23588 (grub_gzfile_open): Removed. All users updated.
23589 (GRUB_MOD_INIT): New function.
23590 (GRUB_MOD_FINI): Likewise.
23591 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23592 (grub_file_filters_enabled): Likewise.
23593 (grub_file_open): Handle filters.
23594 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23595 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23596 * include/grub/file.h (grub_file_filter_id_t): New type.
23597 (grub_file_filter_t): Likewise.
23598 (grub_file_filters_all): New extern variable.
23599 (grub_file_filters_enabled): Likewise.
23600 (grub_file_filter_register): New inline function.
23601 (grub_file_filter_unregister): Likewise.
23602 (grub_file_filter_disable): Likewise.
23603 (grub_file_filter_disable_compression): Likewise.
23604 * include/grub/gzio.h: Removed.
23605
35ee15e0
BC
236062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23607
23608 Filename expansion support for wildcards in GRUB script.
23609
23610 * tests/grub_script_expansion.in: New test.
23611 * Makefile.util.def: Rule for new test.
23612
23613 * grub-core/commands/wildcard.c: New file, implements filename
23614 expansion support for GRUB script.
23615 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23616 * grub-core/script/argv.c: Cosmetic changes.
23617 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23618 Refactored to perform wildcard expansion on arguments.
23619 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23620 struct.
23621
23622 * tests/util/grub-shell.in: Fix quoting for read input.
23623
5f0c4aca
BC
236242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23625
23626 Support for updating environment variables with matched substrings
23627 of regexp.
23628
23629 * tests/grub_cmd_regexp.in: New test.
23630 * Makefile.util.def: Rule for new test.
23631
23632 * grub-core/commands/regexp.c: New option -s to update environment
23633 variables with regexp matches.
23634
3759a35f
SJ
236352010-09-04 Szymon Janc <szymon@janc.net.pl>
23636
23637 * include/grub/file.h (grub_file): New member not_easly_seekable.
23638 (grub_file_seekable): New inline function.
23639 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23640 easily seekable.
23641 (grub_gzio_open): Set not_easly_seekable.
23642 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23643 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23644
ed8c6dec
BC
236452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23646
23647 Support for options to appear multiple times on cmdline.
23648
23649 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23650 * grub-core/commands/extcmd.c: Support for repeatable option.
23651 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23652 repeatable option support.
23653
23654 Refactor menuentry into a regular command.
23655
23656 * grub-core/commands/menuentry.c: New file, menuentry command
23657 implementation.
23658 * grub-core/Makefile.core.def: Rule update for normal.mod.
23659 * grub-core/normal/main.c: Moved menuentry creation to
23660 grub-core/commands/menuentry.c.
23661 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23662 (grub_menu_execute_entry_real): Removed.
23663 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23664 function.
23665 (grub_script_execute_menuentry): Removed.
23666 * grub-core/script/parser.y (menuentry): Removed.
23667 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23668 * grub-core/script/yylex.l (menuentry): Removed.
23669 * include/grub/menu.h (grub_menu_init): New prototype.
23670 (grub_menu_fini): New prototype.
23671 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23672 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23673 (grub_script_execute_sourcecode): New prototype.
23674
dacd0cf0
BC
236752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23676
23677 "return" command for GRUB script functions.
23678
23679 * tests/grub_script_return.in: New test.
23680 * Makefile.util.def: Rules for new test.
23681
23682 * grub-core/script/execute.c (grub_script_return): New function.
23683 * grub-core/script/main.c: Register/unregister return commaond.
23684 * include/grub/script_sh.h (grub_script_return): New prototype.
23685
52e72f9d
BC
236862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23687
23688 "setparams" command to update positional parameters.
23689
23690 * tests/grub_script_setparams.in: New test.
23691 * Makefile.util.def: Rules for new test.
23692
23693 * grub-core/script/argv.c (grub_script_argv_make): New function.
23694 * grub-core/script/execute.c (replace_scope): New function.
23695 (grub_script_setparams): New function.
23696 * grub-core/script/lexer.c: Remove unused variables.
23697 * grub-core/script/main.c: Register/unregister setparams command.
23698 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23699 (grub_script_setparams): New prototype.
23700
25b60c91
BC
237012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23702
23703 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23704 grub_free order.
23705
37e7bf68
BC
237062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23707
23708 Support for passing block of commands as an argument to extcmds.
23709
23710 * Makefile.util.def: Rules for new test.
23711 * tests/grub_script_blockarg.in: New test.
23712 * grub-core/tests/test_blockarg.c: New file, block argument
23713 command used in the test.
23714
23715 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23716 (grub_register_extcmd_prio): New function prototype.
23717 (grub_extcmd_dispatcher): New function prototype.
23718 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23719 type.
23720 * include/grub/script_sh.h (struct grub_script): New members
23721 `children', `next_siblings' and `refcnt' for block arguments and
23722 reference counting.
23723 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23724 (grub_script_arg): New member `script' for block argument.
23725 (grub_script_argv): New member `script' for block argument.
23726 (grub_parser_param): New member `scripts' for block argument.
23727 (grub_script_mem_free): New extern function prototype.
23728 (grub_script_ref): New function prototype.
23729 (grub_script_unref): New function prototype.
23730
23731 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23732 extcmd form to support block arguments.
23733 * grub-core/script/argv.c: Block arguments support.
23734 * grub-core/script/execute.c: Likewise.
23735 * grub-core/script/lexer.c: Likewise.
23736 * grub-core/script/main.c: Likewise.
23737 * grub-core/script/script.c: Likewise.
23738 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23739 non-terminals.
23740
23741 * grub-core/commands/acpi.c: Update extcmd implementations with
23742 grub_extcmd_context_t.
23743 * grub-core/commands/cat.c: Likewise.
23744 * grub-core/commands/echo.c: Likewise.
23745 * grub-core/commands/extcmd.c: Likewise.
23746 * grub-core/commands/hashsum.c: Likewise.
23747 * grub-core/commands/hdparm.c: Likewise.
23748 * grub-core/commands/help.c: Likewise.
23749 * grub-core/commands/hexdump.c: Likewise.
23750 * grub-core/commands/i386/cpuid.c: Likewise.
23751 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23752 * grub-core/commands/i386/pc/halt.c: Likewise.
23753 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23754 * grub-core/commands/iorw.c: Likewise.
23755 * grub-core/commands/keystatus.c: Likewise.
23756 * grub-core/commands/loadenv.c: Likewise.
23757 * grub-core/commands/ls.c: Likewise.
23758 * grub-core/commands/lspci.c: Likewise.
23759 * grub-core/commands/memrw.c: Likewise.
23760 * grub-core/commands/probe.c: Likewise.
23761 * grub-core/commands/search_wrap.c: Likewise.
23762 * grub-core/commands/setpci.c: Likewise.
23763 * grub-core/commands/sleep.c: Likewise.
23764 * grub-core/disk/loopback.c: Likewise.
23765 * grub-core/hello/hello.c: Likewise.
23766 * grub-core/loader/i386/bsd.c: Likewise.
23767 * grub-core/loader/xnu.c: Likewise.
23768 * grub-core/term/gfxterm.c: Likewise.
23769 * grub-core/term/serial.c: Likewise.
23770 * grub-core/tests/lib/functional_test.c: Likewise.
23771
888d1500
BC
237722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23773
23774 Multi-line quoted strings support.
23775
23776 * grub-core/script/lexer.c (append_newline): Removed.
23777 (grub_script_lexer_yywrap): Refactored.
23778 (grub_script_lexer_init): Refactored.
23779 * grub-core/script/yylex.l (yywrap): New function.
23780 (grub_lexer_resplit): New function.
23781 (grub_lexer_unput): New function.
23782 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23783 and resplit.
23784 * tests/grub_script_echo1.in: Added few more testcases.
23785
dda060dd
VS
237862010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23787
23788 * grub-core/kern/misc.c: Don't add abort alias in utils.
23789 Reported by: echoline.
23790
6556eba9
BC
237912010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23792
23793 Add missing files into "make dist" tarball for other platforms.
23794
23795 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23796 * conf/Makefile.common (dist_noinst_DATA): New variable.
23797 * conf/Makefile.extra-dist: Added missing make dist files.
23798 * grub-core/Makefile.core.def: Likewise.
23799
c8e7bf5f
VS
238002010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23801
23802 Compress grub_prefix.
23803
23804 * grub-core/boot/i386/pc/lnxboot.S: Use
23805 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23806 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23807 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23808 GRUB_MACHINE_PREFIX_END. All users updated.
23809 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23810 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23811 + 0x40.
23812 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23813 * util/grub-mkimage.c (image_target_desc): Change data_end to
23814 prefix_end. All users updated.
23815
a7c00cdb
VS
238162010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23819 value.
23820 (grub_openbsd_boot): Likewise.
23821 (grub_netbsd_boot): Likewise.
23822 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23823 (grub_xnu_boot): Likewise.
23824
9f915872
VS
238252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23826
23827 * configure.ac: Clean LIBS variable after tests.
23828
efa1bee7
CW
238292010-09-02 Colin Watson <cjwatson@ubuntu.com>
23830
23831 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23832
61d720e5
VS
238332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23834
23835 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23836 echo if libdevmapper will be used.
23837
ef8e0ec8
IT
238382010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23839
23840 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23841 constant for the same file.
23842
03e261d8
VS
238432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23844
23845 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23846
c2a4eba6
CW
238472010-09-02 Colin Watson <cjwatson@ubuntu.com>
23848
23849 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23850 grub-core/*.pp.
23851
9056cbf3
CW
238522010-09-02 Colin Watson <cjwatson@ubuntu.com>
23853
23854 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
23855 required by the boot protocol.
23856
23857 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
23858 ebp and edi members.
23859 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
23860 state.ebp and state.edi.
23861 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
23862 %ebp and %edi according to grub_relocator32_ebp and
23863 grub_relocator32_edi respectively.
23864 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
23865 and state.edi.
23866
529cc99a
VS
238672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23868
23869 Add i386-pc-pxe image target.
23870
23871 * util/grub-mkimage.c (image_target_desc): New enum value
23872 IMAGE_I386_PC_PXE.
23873 (image_targets): New target i386-pc-pxe.
23874 (generate_image): Handle i386-pc-pxe image.
23875
9a093920
VS
238762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23877
23878 Fix grub_pxe_scan.
23879
23880 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
23881 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
23882 All users updated.
23883 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
23884 (grub_pxe_pxenv): Correct type.
23885
f9cefc4e
CW
238862010-09-01 Colin Watson <cjwatson@ubuntu.com>
23887
23888 * NEWS: Document most of the important changes since 1.98.
23889
4066f57f
CW
238902010-09-01 Colin Watson <cjwatson@ubuntu.com>
23891
23892 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
23893 generated manual page) a little.
23894
da2891f9
CW
238952010-09-01 Colin Watson <cjwatson@ubuntu.com>
23896
23897 * docs/grub.texi: Add myself as an author.
23898
ad717fae
VS
238992010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 * Makefile.util.def (libgrub.a): Add missing sunpc.
23902 Reported by: Seth Goldberg.
23903
eefe8abd
VS
239042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23905
23906 Interrupt wrapping and code simplifications.
23907
9494ef9a
VS
23908 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
23909 x86_noieee1275 which are functionaly equivalent in this case.
23910 (grub-install): Make source on each platform explicit. Enable on
23911 all noemu.
23912 * gentpl.py (x86_efi_pc): Removed group.
23913 (x86_noefi): Likewise.
23914 (i386_noefi): Likewise.
23915 (x86_noieee1275): Likewise.
23916 (i386_noieee1275): Likewise.
23917 (i386_noefi_noieee1275): Likewise.
23918 (i386_pc_qemu_coreboot): Likewise.
23919 (i386_coreboot_multiboot): Likewise.
23920 (i386_pc_coreboot_multiboot_qemu): Likewise.
23921 (x86_noefi_mips): Likewise.
23922 (noieee1275): Likewise.
23923 (ieee1275_mips): Likewise.
23924 (noemu_noieee1275): Likewise.
23925 (cmos): New group.
23926 (usb): Likewise.
23927 (videoinkernel): Likewise.
23928 (videomodules): Likewise.
eefe8abd 23929 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
23930 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
23931 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
23932 include/grub/loader.h, include/grub/msdos_partition.h,
23933 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
23934 include/grub/machine/console.h, include/grub/machine/vga.h,
23935 include/grub/machine/vbe.h, include/grub/machine/init.h,
23936 include/grub/machine/kernel.h, include/grub/cpu/time.h,
23937 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 23938 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
23939 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
23940 * grub-core/Makefile.core.def (kernel): Explicit the source for
23941 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
23942 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
23943 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
23944 Use videoinkernel tag.
23945 (usb): Enable on all usb.
23946 (usbserial_common): Likewise.
23947 (usbserial_pl2303): Likewise.
23948 (usbserial_ftdi): Likewise.
23949 (uhci): Enable on all x86.
23950 (ohci): Enable on all pci.
23951 (cmostest): Enable on all CMOS.
23952 (acpi): Include commands/acpi.c on all platforms.
23953 (halt): Add relevant lib/*/halt.c.
23954 (hdparm): Enable on all pci.
23955 (lspci): Likewise.
23956 (usbtest): Enable on all usb.
23957 (ata): Enable on all pci.
23958 (ata_pthru): Likewise.
23959 (usbms): Enable on all usb.
23960 (usb_keyboard): Likewise.
23961 (font): Use tag videomodules.
23962 (bufio): Likewise.
23963 (datetime): Use tag cmos. Enable on all noemu.
23964 (mmap): Use tags common and x86.
23965 (gfxterm): Use tag videomodules.
23966 (bitmap): Likewise.
23967 (bitmap_scale): Likewise.
23968 (video_fb): Likewise.
23969 (video): Likewise.
23970 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
23971 adjust padding accordingly. All users updated.
23972 (grub_ohci_transaction): Fix bad format specification.
23973 (GRUB_MOD_INIT): Add asserts for struct size.
23974 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
23975 (grub_alloc_td): Likewise.
23976 (grub_free_queue): Likewise.
23977 (grub_uhci_transfer): Likewise.
23978 (grub_uhci_transaction): Fix bad format specification.
23979 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23980 (grub_usb_bulk_readwrite): Likewise.
23981 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
23982 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
23983 Made static.
23984 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
23985 Made static.
23986 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
23987 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
23988 Transformed into C.
23989 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
23990 Moved from here ...
23991 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
23992 ... here. Transformed into C. Made static.
23993 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
23994 Moved from here ...
23995 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
23996 ... here. Transformed into C. Made static.
23997 * grub-core/kern/i386/pc/startup.S
23998 (grub_biosdisk_check_int13_extensions): Moved from here ...
23999 * grub-core/disk/i386/pc/biosdisk.c
24000 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24001 Made static.
24002 * grub-core/kern/i386/pc/startup.S
24003 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24004 * grub-core/disk/i386/pc/biosdisk.c
24005 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24006 Transformed into C. Made static.
24007 * grub-core/kern/i386/pc/startup.S
24008 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24009 * grub-core/disk/i386/pc/biosdisk.c
24010 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24011 Transformed into C. Made static.
24012 * grub-core/kern/i386/pc/startup.S
24013 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24014 * grub-core/disk/i386/pc/biosdisk.c
24015 (grub_biosdisk_get_diskinfo_standard): ... here.
24016 Transformed into C. Made static.
24017 * grub-core/kern/i386/pc/startup.S
24018 (grub_biosdisk_get_num_floppies): Moved from here ...
24019 * grub-core/disk/i386/pc/biosdisk.c
24020 (grub_biosdisk_get_num_floppies): ... here.
24021 Transformed into C. Made static.
24022 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24023 New function.
24024 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24025 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24026 Transformed into C. Made static.
24027 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24028 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24029 Transformed into C. Made static.
24030 * grub-core/kern/i386/ieee1275/init.c: Removed.
24031 * grub-core/kern/i386/misc.S: Likewise.
24032 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24033 Splitted from here ...
24034 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24035 Transformed into C. Made static. All users updated.
24036 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24037 Transformed into C. Made static. All users updated.
24038 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24039 Moved from here...
24040 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24041 Transformed into C. Made static. All users updated.
24042 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24043 Moved from here...
24044 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24045 Transformed into C. Made static. All users updated.
24046 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24047 Removed (replaced by C version).
24048 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24049 Moved from here...
24050 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24051 Transformed into C. Made static.
24052 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24053 Moved from here...
24054 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24055 ... here. Transformed into C.
24056 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24057 Moved from here...
24058 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24059 ... here. Transformed into C.
24060 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24061 Moved from here...
24062 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24063 ... here. Transformed into C. Made static.
24064 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24065 Moved from here...
24066 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24067 ... here. Transformed into C.
21ed554b
VS
24068 * grub-core/kern/i386/pc/startup.S
24069 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24070 * grub-core/video/i386/pc/vbe.c
24071 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24072 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24073 Moved from here...
24074 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24075 ... here. Transformed into C.
24076 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24077 Moved from here...
24078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24079 ... here. Transformed into C.
24080 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24081 Moved from here...
24082 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24083 ... here. Transformed into C.
24084 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24085 Moved from here...
24086 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24087 ... here. Transformed into C.
24088 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24089 Moved from here...
24090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24091 ... here. Transformed into C. Made static.
24092 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24093 Moved from here...
24094 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24095 ... here. Transformed into C. Made static.
24096 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24097 Moved from here...
24098 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24099 ... here. Transformed into C. Made static.
24100 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24101 pxe_rm_entry as third argument.
24102 (grub_bios_interrupt): New function.
24103 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24104 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24105 of calling grub_stop.
24106 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24107 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24108 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24109 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24110 * grub-core/lib/i386/halt.c: Moved from here ...
24111 * grub-core/lib/i386/halt.c: ... here.
24112 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24113 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24114 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24115 grub_stop_floppy.
24116 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24117 * include/grub/i386/coreboot/init.h: Removed.
24118 * include/grub/i386/multiboot/init.h: Likewise.
24119 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24120 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24121 * include/grub/i386/pc/int.h: New file.
24122 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24123 (grub_pxe_scan): Removed.
24124 (grub_pxe_call): Update prototype.
24125 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24126 prototypes.
24127 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24128 * include/grub/i386/qemu/init.h: Removed.
24129 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24130 noreturn.
24131 (grub_halt): Likewise.
24132 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24133 (grub_reboot): Likewise.
24134 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24135 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24136 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24137
215dd471
RM
241382010-08-30 Robert Millan <rmh@gnu.org>
24139
24140 * NEWS: Document addition of ZFS support in `grub-install' and
24141 `grub-mkconfig'.
24142
ebd65b82
BC
241432010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24144
24145 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24146 dprintf output.
24147
11721d19
VS
241482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24149
24150 Remove leftover embedding of font objects.
24151
24152 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24153 * util/grub-install.in (font): Removed.
24154 * util/grub-mkimage.c (generate_image): Remove font support. All users
24155 updated.
24156
37837d4e
VS
241572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24158
24159 Remove leftover embedding of font objects.
24160
24161 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24162 * util/grub-install.in (font): Removed.
24163 * util/grub-mkimage.c (generate_image): Remove font support. All users
24164 updated.
24165
b4c1aae0
VS
241662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24169 Reported by: Ian Turner
b4c1aae0 24170
8920a08d
VS
241712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24172
24173 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24174 timeout to avoid indefinite boot stalling.
24175
f21db033
VS
241762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24179 (grub_env_write_color_highlight): Likewise.
24180
9a9de209
VS
241812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 * grub-core/normal/term.c (print_more): Return to normal and not
24184 to standard state after printing "---MORE---".
24185
3dca01d7
VS
241862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24189 Mask out the bit 0x80 since it has other meaning that specifiing color.
24190
0b986c40
VS
241912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 New relocator. Allows for more kernel support and more straightforward
24194 loader writing.
24195
24196 * Makefile.am (BOOTTARGET): New variable.
24197 (QEMU32): Likewise.
24198 (linux.init.x86_64): New target.
24199 (linux.init.i386): Likewise.
24200 (multiboot.elf): Likewise.
24201 (kfreebsd.elf): Likewise.
24202 (kfreebsd.aout): Likewise.
24203 (pc-chainloader.elf): Likewise.
24204 (pc-chainloader.bin): Likewise.
24205 (ntldr.elf): Likewise.
24206 (ntldr.bin): Likewise.
24207 (multiboot2.elf): Likewise.
24208 (kfreebsd.init.x86_64): Likewise.
24209 (kfreebsd.init.i386): Likewise.
24210 (knetbsd.init.i386): Likewise.
24211 (kopenbsd.init.i386): Likewise.
24212 (knetbsd.init.x86_64): Likewise.
24213 (kopenbsd.init.x86_64): Likewise.
24214 (linux-initramfs.i386): Likewise.
24215 (linux-initramfs.x86_64): Likewise.
24216 (kfreebsd-mfsroot.i386.img): Likewise.
24217 (knetbsd.image.i386): Likewise.
24218 (kopenbsd.image.i386): Likewise.
24219 (kopenbsd.image.x86_64): Likewise.
24220 (knetbsd.miniroot-image.i386.img): Likewise.
24221 (kfreebsd-mfsroot.x86_64.img): Likewise.
24222 (knetbsd.image.x86_64): Likewise.
24223 (knetbsd.miniroot-image.x86_64.img): Likewise.
24224 (kfreebsd-mfsroot.i386.gz): Likewise.
24225 (bootcheck-kfreebsd-i386): Likewise.
24226 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24227 (bootcheck-kfreebsd-x86_64): Likewise.
24228 (knetbsd.miniroot-image.i386.gz): Likewise.
24229 (bootcheck-knetbsd-i386): Likewise.
24230 (bootcheck-kopenbsd-i386): Likewise.
24231 (bootcheck-kopenbsd-x86_64): Likewise.
24232 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24233 (bootcheck-knetbsd-x86_64): Likewise.
24234 (bootcheck-linux-i386): Likewise.
24235 (bootcheck-linux-x86_64): Likewise.
24236 (bootcheck-linux16-i386): Likewise.
24237 (bootcheck-linux16-x86_64): Likewise.
24238 (bootcheck-multiboot): Likewise.
24239 (bootcheck-multiboot2): Likewise.
24240 (bootcheck-kfreebsd-aout): Likewise.
24241 (bootcheck-pc-chainloader): Likewise.
24242 (bootcheck-ntldr): Likewise.
24243 (CLEANFILES): Add new targets.
24244 (BOOTCHECKS): New variable.
24245 (.PHONY): Add bootchecks.
24246 (SUCCESSFUL_BOOT_STRING): New variable.
24247 (BOOTCHECK_TIMEOUT): Likewise.
24248 (bootcheck): New target
24249 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24250 * configure.ac: Correct efiemu excuse.
24251 * docs/grub.texi (Supported kernels): New chapter.
24252 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24253 include/grub/mm_private.h. Simplify inclusion of
24254 include/grub/boot.h, include/grub/loader.h
24255 and include/grub/msdos_partition.h
24256 (KERNEL_HEADER_FILES) [i386_coreboot]:
24257 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24258 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24259 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24260 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24261 include/grub/machine/loader.h.
24262 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24263 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24264 extra_dist.
24265 (pci.mod): Enable on i386-multiboot.
24266 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24267 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24268 i386-qemu.
24269 (relocator.mod): Rewritten.
24270 (aout.mod): Enable on all x86.
24271 (bsd.mod): Likewise.
24272 (ntldr.mod): New module.
24273 (linux.mod): Use loader/i386/linux.c on all x86.
24274 (xnu.mod): Enable on all x86.
24275 (vga_text.mod): disable on EFI and QEMU.
24276 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24277 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24278 * grub-core/efiemu/loadcore.c: Likewise.
24279 * grub-core/efiemu/main.c: Likewise.
24280 (grub_efiemu_exit_boot_services): Removed.
24281 (grub_efiemu_finish_boot_services): Likewise.
24282 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24283 function.
24284 * grub-core/efiemu/i386/nocfgtables.c: New file.
24285 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24286 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24287 (grub_efi_finish_boot_services): Moved from here ...
24288 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24289 Fille finish memory map and related data.
24290 (finish_mmap_buf): New variable.
24291 (grub_efi_uintn_t finish_mmap_size): Likewise.
24292 (grub_efi_uintn_t finish_key): Likewise.
24293 (grub_efi_uintn_t finish_desc_size): Likewise.
24294 (grub_efi_uint32_t finish_desc_version): Likewise.
24295 (grub_efi_is_finished): Likewise.
24296 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24297 finished.
24298 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24299 (grub_elf64_phdr_iterate): Likewise.
24300 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24301 (grub_os_area_size): Likewise.
24302 (grub_machine_init): Don't reserve os area.
24303 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24304 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24305 * grub-core/kern/i386/loader.S: Removed.
24306 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24307 (grub_os_area_size): Likewise.
24308 (grub_machine_init): Don't reserve os area.
24309 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24310 Don't call grub_dl_unload_all.
24311 Don't include loader.S.
24312 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24313 Declare the memory after _end as available.
24314 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24315 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24316 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24317 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24318 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24319 * include/grub/mm_private.h (grub_mm_header): ... here.
24320 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24321 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24322 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24323 (grub_mm_region): ..here. Removed addr. Added pre_size.
24324 All users updated.
24325 * grub-core/kern/mm.c (base): Renamed to ...
24326 (grub_mm_base): ... this. Made global.
24327 (grub_real_malloc): Alloc from end of region.
24328 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24329 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24330 * grub-core/kern/powerpc/cache_flush.S: ... here.
24331 * grub-core/lib/efi/relocator.c: New file.
24332 * grub-core/lib/i386/relocator.c: Rewritten.
24333 * grub-core/lib/i386/relocator16.S: New file.
24334 * grub-core/lib/i386/relocator32.S: Likewise.
24335 * grub-core/lib/i386/relocator64.S: Likewise.
24336 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24337 * grub-core/lib/i386/relocator_common.S: New file.
24338 * grub-core/lib/ieee1275/relocator.c: Likewise.
24339 * grub-core/lib/mips/relocator.c: Rewritten.
24340 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24341 stylistic adjustments.
24342 * grub-core/lib/powerpc/relocator.c: New file.
24343 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24344 * grub-core/lib/relocator.c: Rewritten.
24345 * grub-core/lib/x86_64/relocator_asm.S: New file.
24346 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24347 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24348 (bsd_tag): New struct.
24349 (tags): New variable.
24350 (tags_last): Likewise.
24351 (netbsd_module): New struct.
24352 (netbsd_mods): New variable.
24353 (netbsd_mods_last): Likewise.
24354 (openbsd_opts): New parameter "serial".
24355 (OPENBSD_SERIAL_ARG): New definition.
24356 (netbsd_opts): New parameter "serial".
24357 (NETBSD_SERIAL_ARG): New definition.
24358 (grub_freebsd_add_meta): Reorganised into ...
24359 (grub_bsd_add_meta): ...this. All users updated.
24360 (grub_freebsd_add_mmap): Reorganised into ...
24361 (generate_e820_mmap): ...this...
24362 (grub_bsd_add_mmap): ...and this. All users updated.
24363 (grub_freebsd_list_modules): Use tags.
24364 (grub_netbsd_add_meta_module): New function.
24365 (grub_netbsd_list_modules): Likewise.
24366 (grub_freebsd_boot): Use relocator and finish EFI.
24367 (grub_openbsd_boot): Likewise.
24368 (grub_netbsd_setup_video): New function.
24369 (grub_netbsd_add_modules): Likewise.
24370 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24371 and finish EFI.
24372 (grub_bsd_unload): Unload tags.
24373 (grub_bsd_load_aout): Use relocator.
24374 (grub_bsd_elf32_size_hook): New function.
24375 (grub_bsd_elf32_hook): Use relocator.
24376 (grub_bsd_elf64_size_hook): New function.
24377 (grub_bsd_elf64_hook): Use relocator.
24378 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24379 (grub_bsd_load): Zero-out openbsd_ramdisk.
24380 (grub_bsd_load): Use relocator.
24381 (grub_cmd_openbsd): Support serial.
24382 (grub_cmd_netbsd): Support modules.
24383 (grub_cmd_freebsd_module): Use relocator.
24384 (grub_netbsd_module_load): New function.
24385 (grub_cmd_netbsd_module): Likewise.
24386 (grub_cmd_openbsd_ramdisk): Likewise.
24387 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24388 kopenbsd_ramdisk.
24389 (GRUB_MOD_FINI): Unregister new commands.
24390 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24391 (grub_freebsd_load_elfmodule_obj): Use relocator.
24392 (grub_freebsd_load_elfmodule): Likewise.
24393 (grub_freebsd_load_elf_meta): Likewise.
24394 (grub_netbsd_load_elf_meta): New function.
24395 (grub_openbsd_find_ramdisk): Likewise.
24396 * grub-core/loader/i386/bsd_helper.S: Removed.
24397 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24398 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24399 * grub-core/loader/i386/efi/linux.c: Likewise.
24400 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24401 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24402 (DEFAULT_VIDEO_MODE): Likewise.
24403 (real_mode_target): New variable.
24404 (prot_mode_target): Likewise.
24405 (initrd_mem_target): Likewise.
24406 (relocator): Likewise.
24407 (efi_mmap_buf): Likewise.
24408 (efi_mmap_size): Likewise.
24409 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24410 (free_pages): Use relocator.
24411 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24412 (grub_linux_setup_video): Return error.
24413 (grub_linux_trampoline_start): Removed.
24414 (grub_linux_trampoline_end): Likewise.
24415 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24416 andd video parameters depending on firmware.
24417 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24418 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24419 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24420 (grub_cmd_initrd): Use relocator.
24421 * grub-core/loader/i386/linux_trampoline.S: Removed.
24422 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24423 (elf_sec_entsize): Likewise.
24424 (elf_sec_shstrndx): Likewise.
24425 (elf_sections): Likewise.
24426 (grub_multiboot_load): Use relocator.
24427 (grub_multiboot_get_mbi_size): Account for sections.
24428 (grub_multiboot_make_mbi): Use relocator and support sections.
24429 (grub_multiboot_add_elfsyms): New function.
24430 (grub_multiboot_free_mbi): Free sections.
24431 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24432 (grub_linux_real_target): Likewise.
24433 (grub_linux_real_chunk): Likewise.
24434 (grub_linux16_prot_size): Likewise.
24435 (grub_linux16_boot): Use relocator.
24436 (grub_linux_unload): Unload relocator.
24437 (grub_cmd_linux): Use relocator.
24438 (grub_cmd_initrd): Likewise.
24439 * grub-core/loader/i386/pc/ntldr.c: New file.
24440 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24441 Don't try to guess CPU frequency.
24442 (grub_xnu_set_video): Stretch bitmap.
24443 (grub_xnu_boot): Use relocator.
24444 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24445 (grub_linux_unload): Free relocator.
24446 (grub_linux_load32): Use relocator.
24447 (grub_linux_load64): Likewise.
24448 (grub_cmd_initrd): Likewise.
24449 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24450 (grub_multiboot_unload): Unload relocator.
24451 (grub_cmd_multiboot): Use relocator.
24452 (grub_cmd_module): Likewise.
24453 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24454 Use relocator and support sections.
24455 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24456 (elf_sec_entsize): Likewise.
24457 (elf_sec_shstrndx): Likewise.
24458 (elf_sections): Likewise.
24459 (grub_multiboot_load): Use relocator.
24460 (grub_multiboot_get_mbi_size): Account for sections.
24461 (grub_multiboot_make_mbi): Use relocator and support sections.
24462 (grub_multiboot_add_elfsyms): New function.
24463 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24464 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24465 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24466 Prototype changed. All users updated.
24467 (grub_xnu_align_heap): Simplified.
24468 (grub_xnu_writetree_toheap): Likewise.
24469 (grub_xnu_unload): Unload relocator.
24470 (grub_cmd_xnu_kernel): Use relocator.
24471 (grub_cmd_xnu_kernel64): Likewise.
24472 (grub_xnu_register_memory): Simplified.
24473 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24474 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24475 EFI is finished.
24476 (grub_console_checkkey): Likewise.
24477 (grub_console_getkey): Likewise.
24478 (grub_console_getwh): Likewise.
24479 (grub_console_getxy): Likewise.
24480 (grub_console_gotoxy): Likewise.
24481 (grub_console_cls): Likewise.
24482 (grub_console_setcolorstate): Likewise.
24483 (grub_console_setcursor): Likewise.
24484 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24485 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24486 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24487 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24488 * grub-core/tests/boot/kernel-8086.S: Likewise.
24489 * grub-core/tests/boot/kernel-i386.S: Likewise.
24490 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24491 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24492 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24493 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24494 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24495 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24496 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24497 * grub-core/tests/boot/linux.cfg: Likewise.
24498 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24499 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24500 * grub-core/tests/boot/linux16.cfg: Likewise.
24501 * grub-core/tests/boot/multiboot.cfg: Likewise.
24502 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24503 * grub-core/tests/boot/ntldr.cfg: Likewise.
24504 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24505 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24506 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24507 New definition.
24508 * include/grub/dl.h (grub_dl_unload_all): Removed.
24509 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24510 (grub_efi_finish_boot_services): Change prototype.
24511 (grub_efi_is_finished): New variable.
24512 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24513 Changed prototype.
24514 (grub_efiemu_finish_boot_services): Removed.
24515 (grub_machine_efiemu_init_tables): New prototype.
24516 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24517 (grub_elf64_phdr_iterate): Likewise.
24518 * include/grub/i386/bsd.h: Include relocator.h.
24519 (freebsd_tag_header): New struct.
24520 (grub_openbsd_bios_mmap): Removed.
24521 (grub_unix_real_boot): Removed.
24522 (grub_freebsd_load_elfmodule32): Changed prototype.
24523 (grub_freebsd_load_elfmodule_obj64): Likewise.
24524 (grub_freebsd_load_elf_meta32): Likewise.
24525 (grub_freebsd_load_elf_meta64): Likewise.
24526 (grub_freebsd_add_meta): Removed.
24527 (grub_netbsd_load_elf_meta32): New prototype.
24528 (grub_netbsd_load_elf_meta64): Likewise.
24529 (grub_bsd_add_meta): Likewise.
24530 (grub_openbsd_ramdisk_descriptor): New struct.
24531 (grub_openbsd_find_ramdisk32): New prototype.
24532 (grub_openbsd_find_ramdisk64): Likewise.
24533 * include/grub/i386/coreboot/loader.h: Removed.
24534 * include/grub/i386/efi/loader.h: Likewise.
24535 * include/grub/i386/ieee1275/loader.h: Likewise.
24536 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24537 to grub_uint32_t.
24538 * include/grub/i386/loader.h: Removed.
24539 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24540 value.
24541 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24542 (grub_phys_addr_t): New type.
24543 (grub_vtop): New inline function.
24544 (grub_map_memory): Likewise.
24545 (grub_unmap_memory): Likewise.
24546 * include/grub/i386/multiboot/loader.h: Removed.
24547 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24548 (NETBSD_BTINFO_CONSOLE): New definition.
24549 (NETBSD_BTINFO_SYMTAB): Likewise.
24550 (NETBSD_BTINFO_MODULES): Likewise.
24551 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24552 (grub_netbsd_bootinfo): New struct.
24553 (grub_netbsd_btinfo_common): Use explicit bitsize.
24554 (grub_netbsd_btinfo_mmap_entry): Removed.
24555 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24556 (grub_netbsd_btinfo_bootdisk): New struct.
24557 (grub_netbsd_btinfo_symtab): Likewise.
24558 (grub_netbsd_btinfo_serial): Likewise.
24559 (grub_netbsd_btinfo_modules): Likewise.
24560 (grub_netbsd_btinfo_framebuf): Likewise.
24561 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24562 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24563 Likewise.
24564 (grub_openbsd_bootargs): Use explicit bitsize.
24565 (grub_openbsd_bootarg_console): New struct.
24566 (GRUB_OPENBSD_COM_MAJOR): New definition.
24567 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24568 * include/grub/i386/pc/efiemu.h: Removed.
24569 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24570 * include/grub/i386/qemu/loader.h: Removed.
24571 * include/grub/i386/relocator.h: Rewritten.
24572 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24573 * include/grub/mips/memory.h: New file.
24574 * include/grub/mips/multiboot.h: Rewritten.
24575 * include/grub/mips/relocator.h: Rewritten.
24576 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24577 (grub_vtop): New function.
24578 (grub_map_memory): Likewise.
24579 (grub_unmap_memory): Likewise.
24580 * include/grub/misc.h (ALIGN_DOWN): New definition.
24581 * include/grub/mm.h (grub_mm_check_real): New proto.
24582 (GRUB_MM_CHECK): New definition.
24583 * include/grub/mm_private.h: New file.
24584 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24585 (grub_multiboot_get_mbi_size): Removed.
24586 (grub_multiboot_make_mbi): Change prottype.
24587 (grub_multiboot_set_accepts_video): New proto.
24588 (grub_multiboot_add_elfsyms): Likewise.
24589 (grub_multiboot_payload_eip): New variable.
24590 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24591 New prototype.
24592 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24593 New definition.
24594 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24595 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24596 * include/grub/powerpc/ieee1275/loader.h: Removed.
24597 * include/grub/powerpc/memory.h: New file.
24598 * include/grub/powerpc/relocator.h: Likewise.
24599 * include/grub/relocator.h: Likewise.
24600 * include/grub/relocator_private.h: Likewise.
24601 * include/grub/sparc64/ieee1275/loader.h: Removed.
24602 * include/grub/x86_64/memory.h: New file.
24603 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24604 (grub_xnu_heap_malloc): Likewise.
24605 (grub_xnu_heap_real_start): Removed.
24606 (grub_xnu_heap_start): Likewise.
24607 (grub_xnu_relocator): New variable.
24608 (grub_xnu_heap_target_start): Likewise.
24609 * tests/util/grub-shell.in: Support non-pc.
24610 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24611
5303b85d
VS
246122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24615 on malloc error.
24616 (grub_bidi_logical_to_visual): Check that malloc succeded.
24617 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24618 puts.
24619 (grub_xputs_normal): Likewise.
24620
d768d159
VS
246212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24622
24623 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24624 extra_dist.
24625
246262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24627
24628 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24629
5bf84df4
VS
246302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24631
24632 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24633
3626810e
VS
246342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24635
24636 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24637 dprintf.
24638
a7363f53
BC
246392010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24640
24641 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24642
902f75f6
VS
246432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 * grub-core/normal/term.c (print_more): Fix a memory leak.
24646 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24647 (grub_xputs_normal): Likewise.
24648
3c707967
VS
246492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24650
24651 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24652 the begining of the string
24653
2053cc07
VS
246542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24655
24656 * grub-core/script/script.c (grub_script_parse): Free parsed on
24657 failure.
24658
46422ebf
VS
246592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24660
24661 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24662 on failure.
24663
9e0fa3f6
VS
246642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24665
24666 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24667 return.
24668
3393cf16
VS
246692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24670
24671 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24672 (scroll_up): Fix a memory leak.
24673
b17540cb
VS
246742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24675
24676 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24677 errors.
24678
67140446
VS
246792010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24680
24681 Handle USB pendrives exposed as floppies.
24682
24683 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24684 floppy.
24685 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24686 Check for partitions on all devices.
24687
e35e46fc
VS
246882010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24689
24690 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24691 (readkey): Likewise.
24692
d24c6190
BC
246932010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24694
24695 Multiple variable names support to "export" command.
24696
24697 * normal/context.c (grub_cmd_export): "export" command supports
24698 multiple variable names.
24699
04ddcc6a
ST
247002010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24701
24702 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24703 --target=drive output to Mach device name.
24704
0c8b61d8
BC
247052010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24706
24707 New Automake based build system for GRUB.
24708
24709 * ABOUT-NLS: New file.
24710 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24711 in Makefile.util.def file.
24712 * Makefile.util.def: New file. Autogen build definitions file for
24713 GRUB host utils.
24714 * conf/Makefile.common: New file. Common variables for GRUB host
24715 utils and target modules.
24716 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24717 * docs/Makefile.am: New file. Automake file for docs.
24718 * gentpl.py: New file. Python script to generate Autogen
24719 template.
24720 * grub-core/Makefile.am: New file. GRUB target modules' rules
24721 that doesn't fit in Makefile.core.def file.
24722 * grub-core/Makefile.core.def: New file. Autogen build
24723 definitions file for GRUB target modules.
24724 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24725 specific setjmp.S file.
24726 * po/Makefile.am: New file.
24727
24728 * .bzrignore: New ignores.
24729 * INSTALL: New requirements, without Ruby.
24730 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24731 * autogen.sh: Updated to invoke autogen as necessary.
24732 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24733 and defines for Automake conditionals.
24734 * geninit.sh: Refactoring.
24735
24736 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24737 necessary.
24738 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24739 New prototype.
24740
24741 * include/grub/test.h: Fix functional test modules' naming.
24742 * grub-core/tests/example_functional_test.c: Fix test module name.
24743
24744 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24745 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24746 * util/grub-editenv.c: Likewise.
24747 * util/grub-fstest.c: Likewise.
24748 * util/grub-mkdevicemap.c: Likewise.
24749 * util/grub-mkfont.c: Likewise.
24750 * util/grub-mkimage.c: Likewise.
24751 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24752 * util/grub-probe.c: Likewise.
24753 * util/grub-script-check.c: Likewise.
24754 * util/i386/pc/grub-setup.c: Likewise.
24755 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24756
24757 * tests/util/grub-shell.in: Fix override directory path.
24758 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24759 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24760
24761 * util/lvm.c: Update #includes.
24762 * util/raid.c: Likewise.
24763 * util/resolve.c: Likewise.
24764 * grub-core/bus/emu/pci.c: Likewise.
24765 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24766 * grub-core/lib/posix_wrap/string.h: Likewise.
24767 * grub-core/kern/emu/main.c: Likewise.
24768
24769 * grub-core/gensymlist.sh: New file. Script for generating kernel
24770 symbols file.
24771 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24772
24773 * grub-core/gentrigtables.c: Fix unused variable warnings.
24774
24775 * Makefile.in: Removed.
24776 * conf/any-emu.rmk: Removed.
24777 * conf/common.rmk: Removed.
24778 * conf/i386-coreboot.rmk: Removed.
24779 * conf/i386-efi.rmk: Removed.
24780 * conf/i386-ieee1275.rmk: Removed.
24781 * conf/i386-multiboot.rmk: Removed.
24782 * conf/i386-pc.rmk: Removed.
24783 * conf/i386-qemu.rmk: Removed.
24784 * conf/i386.rmk: Removed.
24785 * conf/mips-yeeloong.rmk: Removed.
24786 * conf/mips.rmk: Removed.
24787 * conf/powerpc-ieee1275.rmk: Removed.
24788 * conf/sparc64-ieee1275.rmk: Removed.
24789 * conf/tests.rmk: Removed.
24790 * conf/x86-efi.rmk: Removed.
24791 * conf/x86_64-efi.rmk: Removed.
24792 * gendistlist.sh: Removed.
24793 * geninitheader.sh: Removed.
24794 * genkernsyms.sh.in: Removed.
24795 * genmk.rb: Removed.
24796 * gensymlist.sh.in: Removed.
24797 * mkinstalldirs: Removed.
24798 * boot: Moved ...
24799 * grub-core/boot: ... to here.
24800 * bus: Moved ...
24801 * grub-core/bus: ... to here.
24802 * commands: Moved ...
24803 * grub-core/commands: ... to here.
24804 * disk: Moved ...
24805 * grub-core/disk: ... to here.
24806 * efiemu: Moved ...
24807 * grub-core/efiemu: ... to here.
24808 * font: Moved ...
24809 * grub-core/font: ... to here.
24810 * fs: Moved ...
24811 * grub-core/fs: ... to here.
24812 * gencmdlist.sh: Moved ...
24813 * grub-core/gencmdlist.sh: ... to here.
24814 * genemuinit.sh: Moved ...
24815 * grub-core/genemuinit.sh: ... to here.
24816 * genemuinitheader.sh: Moved ...
24817 * grub-core/genemuinitheader.sh: ... to here.
24818 * genfslist.sh: Moved ...
24819 * grub-core/genfslist.sh: ... to here.
24820 * genhandlerlist.sh: Moved ...
24821 * grub-core/genhandlerlist.sh: ... to here.
24822 * genmoddep.awk: Moved ...
24823 * grub-core/genmoddep.awk: ... to here.
24824 * genmodsrc.sh: Moved ...
24825 * grub-core/genmodsrc.sh: ... to here.
24826 * genpartmaplist.sh: Moved ...
24827 * grub-core/genpartmaplist.sh: ... to here.
24828 * genparttoollist.sh: Moved ...
24829 * grub-core/genparttoollist.sh: ... to here.
24830 * genterminallist.sh: Moved ...
24831 * grub-core/genterminallist.sh: ... to here.
24832 * gentrigtables.c: Moved ...
24833 * grub-core/gentrigtables.c: ... to here.
24834 * genvideolist.sh: Moved ...
24835 * grub-core/genvideolist.sh: ... to here.
24836 * gettext: Moved ...
24837 * grub-core/gettext: ... to here.
24838 * gfxmenu: Moved ...
24839 * grub-core/gfxmenu: ... to here.
24840 * gnulib: Moved ...
24841 * grub-core/gnulib: ... to here.
24842 * hello: Moved ...
24843 * grub-core/hello: ... to here.
24844 * hook: Moved ...
24845 * grub-core/hook: ... to here.
24846 * io: Moved ...
24847 * grub-core/io: ... to here.
24848 * kern: Moved ...
24849 * grub-core/kern: ... to here.
24850 * lib: Moved ...
24851 * grub-core/lib: ... to here.
24852 * loader: Moved ...
24853 * grub-core/loader: ... to here.
24854 * mmap: Moved ...
24855 * grub-core/mmap: ... to here.
24856 * normal: Moved ...
24857 * grub-core/normal: ... to here.
24858 * partmap: Moved ...
24859 * grub-core/partmap: ... to here.
24860 * parttool: Moved ...
24861 * grub-core/parttool: ... to here.
24862 * script: Moved ...
24863 * grub-core/script: ... to here.
24864 * term: Moved ...
24865 * grub-core/term: ... to here
24866 * tests/example_functional_test.c: Moved ...
24867 * grub-core/tests/example_functional_test.c: ... to here.
24868 * tests/lib/functional_test.c: Moved ...
24869 * grub-core/tests/lib/functional_test.c: ... to here.
24870 * tests/lib/test.c: Moved ...
24871 * grub-core/tests/lib/test.c: ... to here.
24872 * video: Moved ...
24873 * grub-core/video: ... to here.
24874
645586e6
BC
248752010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24876
24877 Replace --enable-grub-emu-modules with grub-emu-lite.
24878
24879 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
24880 cache.S.
24881
24882 * include/grub/emu/misc.h (grub_emu_init): New prototype.
24883 * kern/emu/full.c: New file. For grub-emu specific initialization.
24884 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
24885 * kern/emu/main.c: Call initialization function grub_emu_init.
24886
24887 * Makefile.in: Include grub-emu-lite in install.
24888 * commands/parttool.c: Use grub_no_autoload to differentiate
24889 between grub-emu and grub-emu-lite.
24890 * include/grub/misc.h: New variable grub_no_autoload.
24891
24892 * conf/any-emu.rmk: New rules for grub-emu-lite.
24893 * configure.ac: Remove --enable-grub-emu-modules.
24894 * genmk.rb: Cleanup unnecessary rules.
24895 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
24896
24897 * normal/main.c: Don't load list files on grub-emu-lite.
24898 * util/misc.c (grub_arch_sync_caches): Removed.
24899
f86a4030
CW
249002010-08-23 Colin Watson <cjwatson@ubuntu.com>
24901
24902 * kern/mips/startup.S (grub_prefix): Update comment to refer to
24903 grub-mkimage rather than grub-mkelfimage.
24904 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
24905
06776944
VS
249062010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24907
24908 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
24909 a key after CapsLock or NumLock. It's just a qemu bug.
24910
df262419
VS
249112010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24912
24913 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
24914 needed by libusb wrapper.
24915
b40ea81b
ST
249162010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24917
24918 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
24919
dee50575
VS
249202010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
24923 --nounzip is passed.
24924
fb1d7b79
VS
249252010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 USB hotunplugging and USB serial support.
24928
24929 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
24930 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
24931 (grub_uhci_transfer): Respect timeout and set *actual.
24932 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
24933 non-standard length.
24934 (grub_usb_device_attach): Autoload modules.
24935 (GRUB_MOD_INIT): Set grub_term_poll_usb.
24936 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
24937 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
24938 users updated.
24939 (grub_usb_add_hub): Fill nports and children.
24940 (attach_root_port): Receive hub instead of controller.
24941 All users updated. Fill hub->devices.
24942 (grub_usb_root_hub): Allocate hub->devices.
24943 (detach_device): New function.
24944 (poll_nonroot_hub): Fill children and detach devices.
24945 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
24946 actual arguments. All users updated.
24947 (grub_usb_bulk_read_extended): New function.
24948 * bus/usb/serial/common.c: New file.
24949 * bus/usb/serial/ftdi.c: Likewise.
24950 * bus/usb/serial/pl2303.c: Likewise.
24951 * commands/terminal.c (handle_command): Support wildcard.
24952 * commands/usbtest.c: Output "Unknown" instead of empty string.
24953 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
24954 (usbserial_common_mod_SOURCES): New variable.
24955 (usbserial_common_mod_CFLAGS): Likewise.
24956 (usbserial_common_mod_LDFLAGS): Likewise.
24957 (pkglib_MODULES): Add usbserial_pl2303.mod.
24958 (usbserial_pl2303_mod_SOURCES): New variable.
24959 (usbserial_pl2303_mod_CFLAGS): Likewise.
24960 (usbserial_pl2303_mod_LDFLAGS): Likewise.
24961 (pkglib_MODULES): Add usbserial_ftdi.mod.
24962 (usbserial_ftdi_mod_SOURCES): New variable.
24963 (usbserial_ftdi_mod_CFLAGS): Likewise.
24964 (usbserial_ftdi_mod_LDFLAGS): Likewise.
24965 (pkglib_MODULES): Add serial.mod.
24966 (serial_mod_SOURCES): New variable.
24967 (serial_mod_CFLAGS): Likewise.
24968 (serial_mod_LDFLAGS): Likewise.
24969 * conf/i386-pc.rmk: Likewise.
24970 * conf/mips-yeeloong.rmk: Likewise.
24971 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
24972 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
24973 * disk/usbms.c (first_available_slot): New variable.
24974 (grub_usbms_attach): Don't reuse free slots due to potential cache
24975 problems.
24976 * include/grub/serial.h: Moved to ..
24977 * include/grub/ns8250.h: ...this.
24978 * include/grub/serial.h: New file.
24979 * include/grub/term.h (grub_term_poll_usb): New variable.
24980 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
24981 readkey. All users updated.
24982 (grub_terminfo_output_state): Pass term to put.
24983 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
24984 (grub_usb_controller_dev): Add timeout and actual arguments to
24985 transfer. All users updated.
24986 (grub_usb_interface): New field detach_data.
24987 (grub_usb_device): New fields children and nports.
24988 (grub_usb_ep_type_t): New type.
24989 (grub_usb_get_ep_type): New function.
24990 (grub_usb_bulk_read_extended): Likewise.
24991 * include/grub/usbdesc.h (grub_usb_desc): New type.
24992 * include/grub/usbserial.h: New file.
24993 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
24994 * kern/term.c (grub_term_poll_usb): New variable.
24995 (grub_getkey): Call grub_term_poll_usb if set.
24996 (grub_checkkey): Likewise.
24997 (grub_getkeystatus): Likewise.
24998 * term/serial.c: Moved controller-specific parts to ...
24999 * term/ns8250.c: ... here.
25000 * term/serial.c: Mostly rewritten.
25001 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25002 according to spec.
25003
21a313de
RM
250042010-08-20 Robert Millan <rmh@gnu.org>
25005
25006 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25007 a separate module and maybe other interesting combinations.
25008
25009 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25010 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25011 (kfreebsd_entry): Add generic filesystem module load routine.
25012 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25013
63c734a6
CW
250142010-08-20 Colin Watson <cjwatson@ubuntu.com>
25015
25016 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25017 "numcenter" (I misunderstood the purpose of this entry).
25018 * docs/grub.texi (sendkey): Likewise.
25019
c4d16542
CW
250202010-08-20 Colin Watson <cjwatson@ubuntu.com>
25021
25022 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25023 status flag options; simply omitting the option is equivalent and
25024 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25025 (keysym_table): Rename "num5numlock" to "numlock".
25026 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25027 can uniformly say that only the last of multiple `sendkey'
25028 invocations has any effect.
25029 * docs/grub.texi (sendkey): New section.
25030
93541d66
CW
250312010-08-19 Colin Watson <cjwatson@ubuntu.com>
25032
25033 * commands/i386/pc/sendkey.c (options): Fix three typos.
25034
b4ece5e1
VS
250352010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25036
25037 Implement sendkey support.
25038
25039 * commands/i386/pc/sendkey.c: New file.
25040 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25041 (sendkey_mod_SOURCES): New variable.
25042 (sendkey_mod_CFLAGS): Likewise.
25043 (sendkey_mod_LDFLAGS): Likewise.
25044
51f1f5af
CW
250452010-08-18 Colin Watson <cjwatson@ubuntu.com>
25046
25047 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25048 fix warnings from Autoconf.
25049
9da94e05
CW
250502010-08-18 Colin Watson <cjwatson@ubuntu.com>
25051
25052 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25053 to avoid false positives with some assemblers that output things
25054 like "someprefix_func" as part of their output.
25055
729a0f2e
RM
250562010-08-15 Robert Millan <rmh@gnu.org>
25057
25058 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25059 errors.
25060 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25061 grub_get_libzfs_handle() errors.
25062
f3710e08
RM
250632010-08-14 Robert Millan <rmh@gnu.org>
25064
25065 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25066 filesystem is not ZFS.
25067
7a3c13de
BC
250682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25069
25070 Fix for misspelled color names defaulting to black/black (bug
25071 reported by Doug Nazar)
25072
25073 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25074 status to prototype.
25075 * normal/color.c (grub_parse_color_name_pair): Return failure
25076 status.
25077 (grub_env_write_color_normal): Ignore bad color names.
25078 (grub_env_write_color_highlight): Likewise.
25079 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25080
ab8ba50d
BC
250812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25082
25083 "shift" command support to GRUB script.
25084
25085 * include/grub/script_sh.h (grub_script_shift): New prototype.
25086 * script/execute.c (grub_script_shift): New function.
25087 * script/main.c (grub_script_init): Register shift command.
25088 (grub_script_fini): Unregister shift command.
25089 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25090
25091 * tests/grub_script_shift.in: New testcase.
25092 * conf/tests.rmk: Rules for new testcase.
25093
4d61999e
BC
250942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25095
25096 "continue" command support to GRUB script.
25097
25098 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25099 (grub_script_break): Continue support.
25100 * script/main.c (grub_script_init): Register continue command.
25101 (grub_script_fini): Unregister continue command.
25102
25103 * tests/grub_script_continue.in: New testcase.
25104 * conf/tests.rmk: Rules for new testcase.
25105
4df51e00
BC
251062010-08-12 BVK Chaitanya <bvk@dbook>
25107
25108 "break" command support to GRUB script.
25109
25110 * conf/common.rmk: Rule updates to grub-script-check.
25111 * include/grub/misc.h (grub_min): New function.
25112 * include/grub/script_sh.h (grub_script_init): New prototype.
25113 (grub_script_fini): New prototype.
25114 (grub_script_break): New prototype.
25115 * script/main.c (grub_script_init): New function.
25116 (grub_script_fini): New function.
25117 * script/execute.c (grub_script_break): New function.
25118 * normal/main.c: Calls to grub_script_{init,fini}.
25119 * util/grub-script-check.c (grub_script_break): New function.
25120
25121 * tests/grub_script_break.in: New testcase.
25122 * conf/tests.rmk: Rules for new test case.
25123
f12c8420
BC
251242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25125
25126 Function parameters support to GRUB script.
25127
25128 * script/yylex.l (VARIABLE): Regular expression update.
25129 * script/function.c (grub_script_function_call): Moved ...
25130 * script/execute.c (grub_script_function_call): ... to here.
25131 (grub_script_execute_arglist_to_argv): Removed.
25132 (grub_script_arglist_to_argv): New function.
25133 * script/argv.c: New file.
25134 (grub_script_argv_free): New function.
25135 (grub_script_argv_next): Likewise.
25136 (grub_script_argv_append): Likewise.
25137 (grub_script_argv_split_append): Likewise.
25138 * include/grub/script_sh.h (grub_script_argv): New struct.
25139 (grub_script_argv_free): New function.
25140 (grub_script_argv_next): Likewise.
25141 (grub_script_argv_append): Likewise.
25142 (grub_script_argv_split_append): Likewise.
25143
25144 * conf/common.rmk (normal.mod): New source script/argv.c.
25145
25146 * tests/grub_script_echo1.in: More tests.
25147 * tests/grub_script_vars1.in: Likewise.
25148 * tests/grub_script_functions.in: New test case.
25149 * conf/tests.rmk: Rules for new testcase.
25150
8022b748
BC
251512010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25152
25153 Remove grub_script_cmdblock struct.
25154
25155 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25156 * script/parser.y: Likewise.
25157 * script/execute.c: Rename cmdblock suffix to cmdlist.
25158 * script/script.c: Likewise.
25159 * util/grub-script-check.c: Likewise.
25160
79a6ba61
YB
251612010-08-11 Yves Blusseau <blusseau@zetam.org>
25162
25163 * .bzrignore: add grub-macho2img
25164
d04b9414
VS
251652010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25166
25167 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25168
f947ab49
VS
251692010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 Remove the dump of sm712 initialisation sequence.
25172
25173 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25174 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25175 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25176 (GRUB_VGA_CR_*): Added many registers.
25177 (GRUB_VGA_SR_*): Likewise.
25178 (GRUB_VGA_GR_*): Likewise.
25179 (grub_vga_write_arx): New function.
25180 (grub_video_hw_config): New struct.
25181 (grub_vga_set_geometry): New function.
25182 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25183 GRUB_PCI_CLASS_SUBCLASS_VGA.
25184 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25185 * video/sm712.c (grub_sm712_write_reg): New function
25186 (grub_sm712_read_reg): Likewise.
25187 (grub_sm712_sr_write): Likewise.
25188 (grub_sm712_gr_write): Likewise.
25189 (grub_sm712_cr_write): Likewise.
25190 (grub_sm712_write_arx): Likewise.
25191 (grub_sm712_cr_shadow_write): Likewise.
25192 (grub_sm712_write_dda_lookup): Likewise.
25193 (grub_video_sm712_setup): Initialise the video rather then
25194 blindly replay the dump.
25195 (main) [TEST]: Add a routine to be able to compile as standalone for
25196 tests.
25197 * video/sm712_init.c (sm712_init): Removed.
25198 (sm712_sr_seq1): New array.
25199 (sm712_sr_seq2): Likewise.
25200
f0206638
VS
252012010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25202
25203 * include/grub/vga.h: Add missing grub/pci.h include.
25204
2764da3b
YB
252052010-08-10 Yves Blusseau <blusseau@zetam.org>
25206
25207 * util/grub-macho2img.c (main): fix typo
25208
cf0c775e
VS
252092010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25212 (grub_vga_gr_read): Likewise.
25213 (grub_vga_cr_write): Likewise.
25214 (grub_vga_cr_read): Likewise.
25215 (grub_vga_sr_write): Likewise.
25216 (grub_vga_sr_read): Likewise.
25217 (grub_vga_palette_read): Likewise.
25218 (grub_vga_palette_write): Likewise.
25219 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25220 (grub_sm712_sr_read): New function.
25221 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25222 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25223
07f360e9
RM
252242010-08-09 Robert Millan <rmh@gnu.org>
25225
25226 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25227 out unused variables on non-ZFS build.
25228
346c2072
RM
252292010-08-08 Robert Millan <rmh@gnu.org>
25230
25231 Fix path generation for sub-filesystems in ZFS.
25232
25233 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25234 missing slash.
25235
71175420
RM
252362010-08-08 Robert Millan <rmh@gnu.org>
25237
25238 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25239
0d8286f3
RM
252402010-08-08 Robert Millan <rmh@gnu.org>
25241
25242 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25243 exist, issue a proper error message (rely on `ls' for translated
25244 strings).
25245
55dd2924
RM
252462010-08-08 Robert Millan <rmh@gnu.org>
25247
25248 Fix grub-probe invocation.
25249
25250 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25251
d3dd9e80
RM
252522010-08-04 Robert Millan <rmh@gnu.org>
25253
25254 * configure.ac: Remove checks for getfsstat() and getmntany().
25255 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25256 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25257 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25258 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25259 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25260 function.
25261 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25262 via find_mount_point_from_dir() and getfsstat() / getmntany().
25263
0de22aa9
RM
252642010-08-04 Robert Millan <rmh@gnu.org>
25265
25266 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25267 (grub_find_zpool_from_mount_point): Merge into ...
25268 (grub_find_zpool_from_dir): ... this.
25269 * kern/emu/misc.c: Likewise.
25270
25271 * kern/emu/misc.c
25272 (grub_make_system_path_relative_to_its_root): Replace
25273 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25274 with grub_find_zpool_from_dir().
25275 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25276
62858144
RM
252772010-08-04 Robert Millan <rmh@gnu.org>
25278
25279 Support OpenSolaris in ZFS device resolution.
25280
25281 * configure.ac: Check for getmntany().
25282 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25283 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25284 support.
25285
9dd6fd50
RM
252862010-08-03 Robert Millan <rmh@gnu.org>
25287
25288 Fix grub-emu build.
25289
25290 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25291 * include/grub/emu/misc.h: ... here.
25292
25293 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25294 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25295
25296 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25297 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25298 (grub_get_libzfs_handle): Move to ...
25299 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25300 (grub_get_libzfs_handle): ... here.
25301
c9f7ff97
BC
253022010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25303
25304 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25305 as command name case.
25306
a870a783
CW
253072010-08-02 Colin Watson <cjwatson@ubuntu.com>
25308
25309 * disk/raid.c (insert_array): Select unique numbers for named arrays
25310 as well, for use as keys in the disk cache.
25311
c7db243b
RM
253122010-08-01 Robert Millan <rmh@gnu.org>
25313
25314 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25315 kFreeBSD device name, except on ZFS where the filesystem label is
25316 used.
25317 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25318 `/boot/zfs/zpool.cache'.
25319 Set mountfrom kernel variable using ${kfreebsd_device}.
25320
f7abdefb
RM
253212010-08-01 Robert Millan <rmh@gnu.org>
25322
25323 Make it even harder to use uninitialized `libzfs_handle' (and
25324 make the interface a bit simpler).
25325
25326 * include/grub/util/misc.h (grub_util_init_libzfs)
25327 (libzfs_handle): Remove.
25328 (grub_get_libzfs_handle): New prototype.
25329
25330 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25331 attribute.
25332 (grub_util_init_libzfs): Remove.
25333 (grub_get_libzfs_handle): New function.
25334
25335 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25336 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25337 accessing `libzfs_handle' directly.
25338
c882acc0
RM
253392010-08-01 Robert Millan <rmh@gnu.org>
25340
25341 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25342 (grub_find_zpool_from_mount_point): New function prototypes.
25343
25344 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25345 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25346
25347 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25348 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25349 `static' attribute.
25350
25351 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25352 finding zpool from mount point into ...
25353 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25354
25355 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25356 requested path is part of a ZFS pool, use
25357 grub_find_zpool_from_mount_point() to detect its filesystem name,
25358 and generate a path with `/fsname@path' syntax.
25359
8bfe31d8
CW
253602010-08-01 Colin Watson <cjwatson@ubuntu.com>
25361
25362 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25363 (void) rather than () so that this is a proper prototype.
25364
553df63d
VS
253652010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25366
25367 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25368
8687cf07
VS
253692010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25370
25371 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25372 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25373
ea9be8ea
CW
253742010-08-01 Colin Watson <cjwatson@ubuntu.com>
25375
25376 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25377
6eea041a
CW
253782010-08-01 Colin Watson <cjwatson@ubuntu.com>
25379
25380 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25381
2cfb45df
CW
253822010-08-01 Colin Watson <cjwatson@ubuntu.com>
25383
25384 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25385 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25386 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25387 disable gfxpayload.
25388 (Shell-like scripting): Add real content.
25389 (Serial terminal): Suggest `terminal_input serial; terminal_output
25390 serial' rather than putting the two commands on separate lines,
25391 since console input will be inoperative after the first command.
25392 (menuentry): Document --class, --users, and --hotkey options.
25393 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25394 Vladimir Serbinenko).
25395
7decd202
VS
253962010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
253972010-08-01 Colin Watson <cjwatson@ubuntu.com>
25398
25399 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25400
c882acc0
RM
254012010-08-01 Robert Millan <rmh@gnu.org>
25402
25403 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25404 (grub_find_zpool_from_mount_point): New function prototypes.
25405
25406 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25407 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25408
25409 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25410 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25411 `static' attribute.
25412
25413 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25414 finding zpool from mount point into ...
25415 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25416
25417 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25418 requested path is part of a ZFS pool, use
25419 grub_find_zpool_from_mount_point() to detect its filesystem name,
25420 and generate a path with `/fsname@path' syntax.
25421
deb0caa3
RM
254222010-08-01 Robert Millan <rmh@gnu.org>
25423
25424 Prevent accidental use of uninitialized libzfs_handle.
25425
25426 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25427 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25428 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25429
ce04ef47
CW
254302010-08-01 Colin Watson <cjwatson@ubuntu.com>
25431
25432 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25433 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25434
ebf53056
RM
254352010-08-01 Robert Millan <rmh@gnu.org>
25436
25437 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25438
3710bb6b
RM
254392010-07-31 Robert Millan <rmh@gnu.org>
25440
25441 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25442
8072efeb
RM
254432010-07-31 Robert Millan <rmh@gnu.org>
25444
25445 * kern/emu/misc.c: Add missing license header.
25446
3169f4c7
RM
254472010-07-31 Robert Millan <rmh@gnu.org>
25448
25449 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25450
25451 * include/grub/util/libnvpair.h: Include `<config.h>'.
25452 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25453 declaring libnvpair prototypes ourselves.
25454 * include/grub/util/libzfs.h: Include `<config.h>'.
25455 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25456 declaring libzfs prototypes ourselves.
25457
25458 (libzfs_handle): Moved to ...
25459 * include/grub/util/misc.h (libzfs_handle): ... here.
25460 Include `<grub/util/libzfs.h>'.
25461
c9a00aee
RM
254622010-07-30 Robert Millan <rmh@gnu.org>
25463
25464 * include/grub/emu/misc.h: Add missing license header.
25465
a184f9c8
RM
254662010-07-30 Robert Millan <rmh@gnu.org>
25467
25468 Enable `grub-probe -t device' resolution on ZFS.
25469
25470 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25471 * include/grub/util/libnvpair.h: New file.
25472 * include/grub/util/libzfs.h: New file.
25473
25474 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25475 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25476 `<grub/util/libnvpair.h>'.
25477 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25478
25479 (find_mount_point_from_dir): New static function.
25480 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25481 function.
25482 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25483 find_root_device_from_libzfs() before ressorting to find_root_device().
25484
25485 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25486 prototype.
25487 * util/misc.c: Include `<grub/util/libzfs.h>'.
25488 (grub_util_init_libzfs): New function.
25489 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25490 [HAVE_LIBZFS] (fini_libzfs): New static function.
25491 (grub_util_init_libzfs): New function.
25492 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25493
f7790cdd
RM
254942010-07-30 Robert Millan <rmh@gnu.org>
25495
25496 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25497 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25498 `warn_unused_result' attribute.
25499 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25500 (grub_xasprintf, grub_xvasprintf): Likewise.
25501 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25502
0806b63c
RM
255032010-07-29 Robert Millan <rmh@gnu.org>
25504
25505 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25506 (probe): Handle `PRINT_FS_LABEL'.
25507 (main): Handle `-t fs_label'.
25508
9f841f5c
RM
255092010-07-29 Robert Millan <rmh@gnu.org>
25510
25511 * configure.ac: Remove grub-mkisofs checks.
25512
46371121
VS
255132010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25514
25515 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25516 Reported by: Lennart Sorensen.
25517
255182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25521 prior to terminal_input/terminal_output separation. It's been over 1.5
25522 years and those versions weren't widely deployed.
25523
a9600892
CW
255242010-07-22 Colin Watson <cjwatson@ubuntu.com>
25525
25526 * disk/raid.c (insert_array): Don't count named arrays when looking
25527 for unused array numbers.
697e053c 25528 Reported and tested by: Michael Guntsche.
a9600892 25529
c03507df
CW
255302010-07-20 Colin Watson <cjwatson@ubuntu.com>
25531
25532 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25533 implementation of this so that grub-emu links again, with a note
25534 that this should support hotplugging in the future.
25535
b26f1c11
CW
255362010-07-20 Colin Watson <cjwatson@ubuntu.com>
25537
25538 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25539
efc9d7f1
CW
255402010-07-20 Colin Watson <cjwatson@ubuntu.com>
25541
25542 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25543 handle on failure.
25544 (grub_loopback_close): Remove empty function.
25545 (grub_loopback_dev): Remove close method.
25546
dd8ff5c9
CW
255472010-07-20 Colin Watson <cjwatson@ubuntu.com>
25548
25549 Disable EFI cursor when the EFI console becomes inactive.
25550
25551 * term/efi/console.c (grub_efi_console_init): New function.
25552 (grub_efi_console_fini): New function.
25553 (grub_console_term_output): Register init and fini methods.
25554
5e3bec67
VS
255552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25556
25557 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25558 sh script.
25559
afaec079
VS
255602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * disk/loopback.c (grub_loopback): Replace filename with file.
25563 (delete_loopback): Handle new semantics.
25564 (grub_cmd_loopback): Likewise.
25565 (grub_loopback_iterate): Likewise.
25566 (grub_loopback_close): Likewise.
25567
a6a11f3c
VS
255682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25569
25570 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25571 with -p "".
25572 Reported by: Tito Keitel.
25573
64a638b0
VS
255742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25575
25576 * docs/grub.texi (Naming convention): Document new naming convention.
25577
ab8ba957
VS
255782010-07-20 Vadim Solomin <vadic052@gmail.com>
255792010-07-20 Colin Watson <cjwatson@ubuntu.com>
25580
25581 Generate device.map in something closer to the old ordering.
25582
25583 * util/deviceiter.c (struct device): New declaration.
25584 (compare_file_names): Rename to ...
25585 (compare_devices): ... this. Sort by kernel name in preference to
25586 the stable by-id name, but keep the latter as a fallback comparison.
25587 Update header comment.
25588 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25589 of `struct device' rather than of plain file names.
25590
a29d6a4b
TF
255912010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25592
25593 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25594 on i386.
25595
39d824e8
VS
255962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25597
25598 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25599 hardcoding size.
25600 (setv1table): Likewise.
25601
f058276b
FZ
256022010-07-20 Colin Watson <cjwatson@ubuntu.com>
25603
25604 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25605 removing the homehost if present.
25606 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25607 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25608 removing the homehost if present.
25609 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25610 if possible.
25611 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25612
25613 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25614 parameter. Set its pointer target to 0.
25615 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25616 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25617 `data_offset' value from the superblock for 1.x metadata.
25618 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25619 data on the device.
25620 (insert_array): Record the start sector of data on the device.
25621 (grub_raid_register): Pass start_sector parameters to
25622 grub_raid_list->detect and insert_array.
25623 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25624 member.
25625 (struct grub_raid): Add start_sector parameter to `detect'.
25626
25627 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25628 __attribute__ ((packed)), leaving a comment.
25629 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25630 (grub_mdraid_detect_09): ... here and ...
25631 (grub_mdraid_detect_1x): ... here.
25632
256332010-07-20 Peter Henn <peter.henn@web.de>
25634
25635 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25636 chunk size and disk size, which are already given as sector counts
25637 as distinct from the 0.90 units. Fetch the correct device number
25638 from the role table instead of using the table index.
25639
256402010-07-20 Felix Zielcke <fzielcke@z-51.de>
25641
25642 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25643 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25644 (WriteMostly1): New macro.
25645 Set array->name to NULL for metadata format 0.90. Add support for
25646 metadata 1.x. Fix some comments.
25647 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25648 few comments.
25649 * util/getroot.c (grub_util_get_grub_dev): Add support for
25650 /dev/md/name style devices.
25651
4b761da9
CW
256522010-07-20 Colin Watson <cjwatson@ubuntu.com>
25653
25654 * .bzrignore: Ignore 20_linux_xen.
25655
5771289a
CW
256562010-07-17 Colin Watson <cjwatson@ubuntu.com>
25657
25658 * util/import_unicode.py: Remove unnecessary imports.
25659
5dab68df
AN
256602010-07-17 Aleš Nesrsta <starous@volny.cz>
25661
25662 Hotplugging and USB hub support.
25663
25664 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25665 (grub_ohci): Likewise.
25666 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25667 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25668 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25669 (GRUB_OHCI_CTRL_EDS): Likewise.
25670 (GRUB_OHCI_BULK_EDS): Likewise.
25671 (GRUB_OHCI_TDS): Likewise.
25672 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25673 (grub_ohci_ed_phys2virt): New function.
25674 (grub_ohci_virt_to_phys): Likewise.
25675 (grub_ohci_td_phys2virt): Likewise.
25676 (grub_ohci_td_virt2phys): Likewise.
25677 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25678 attachment.
25679 (grub_ohci_find_ed): New function.
25680 (grub_ohci_alloc_td): Likewise.
25681 (grub_ohci_free_td): Likewise.
25682 (grub_ohci_free_tds): Likewise.
25683 (grub_ohci_transfer): Use previously allocated memory.
25684 (grub_ohci_portstatus): Reset status changed bit.
25685 (grub_ohci_detect_dev): Supply status changed.
25686 (grub_ohci_fini_hw): Free memory.
25687 (grub_ohci_restore_hw): Reallocate memory.
25688 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25689 Reset status change.
25690 (grub_uhci_detect_dev): Supply status_change.
25691 * bus/usb/usb.c (attach_hooks): New var.
25692 (grub_usb_device_attach): New function.
25693 (grub_usb_register_attach_hook_class): Likewise.
25694 (grub_usb_unregister_attach_hook_class): Likewise.
25695 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25696 (grub_usb_add_hub): Reset connection changed bit.
25697 (attach_root_port): New function.
25698 (grub_usb_root_hub): Likewise.
25699 (poll_nonroot_hub): Likewise.
25700 (grub_usb_poll_devices): Likewise.
25701 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25702 * disk/usbms.c (grub_usbms_open): Use device hooks.
25703 (grub_usbms_iterate) :Poll devices.
25704 (grub_usbms_finddevs): Split into ...
25705 (grub_usbms_attach): ... this ...
25706 (grub_usbms_attach): ... and this.
25707 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25708 in detect_dev.
25709 (grub_usb_interface): New fields attached and detach_hook.
25710 (grub_usb_attach_hook_class): New type.
25711 (grub_usb_attach_desc): New struct.
25712 (grub_usb_register_attach_hook_class): New function.
25713 (grub_usb_unregister_attach_hook_class): Likewise.
25714 (grub_usb_poll_devices): Likewise.
25715 (grub_usb_device_attach): Likewise.
25716 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25717 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25718
3222efaf
VS
257192010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25722 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25723 delta determination style. Works with most NetBSD partitions too.
25724
139b714a
VS
257252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25726
25727 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25728 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25729
986aad56
VS
257302010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25731
25732 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25733
99be513c
AB
257342010-07-14 Anton Blanchard <anton@samba.org>
25735
25736 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25737 ET_DYN files.
25738
18075f62
GS
257392010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25740
25741 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25742
8d9a5b15
GS
257432010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25744
25745 * kern/partition.c (grub_partition_check_containment): New function to
25746 check that a partition is physically contained in a parent. Since
25747 offsets are relative (and non-negative), this reduces to checking that
25748 the partition ends before its parent.
25749 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25750 (grub_partition_iterate): Likewise.
25751 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25752 comments.
25753 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25754 partitions that start before their parent, and add debug printfs.
25755
19563c25
CW
257562010-07-13 Colin Watson <cjwatson@ubuntu.com>
25757
25758 * Makefile.in (.SUFFIX): Spell correctly, as ...
25759 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25760 bare module name without `.mod', e.g. `test') tried to invoke a
25761 Modula-2 compiler.
25762
1a1f1e67
CW
257632010-07-13 Colin Watson <cjwatson@ubuntu.com>
25764
25765 * README: Point to the Info manual.
25766
811b0dca
JS
257672010-07-13 Jiro SEKIBA <jir@unicus.jp>
25768
25769 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25770 2nd superblock position from partition size.
25771
e4f4eafc
CW
257722010-07-10 Colin Watson <cjwatson@ubuntu.com>
25773
25774 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25775 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25776 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25777 outputs.
25778
4274c30f
VS
257792010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25780
25781 Restructure SCSI .id handling.
25782 Reported and tested by: Aleš Nesrsta.
25783
25784 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25785 (grub_atapi_dev): Changed .name to "ata". New field .id.
25786 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25787 (grub_usbms_dev): New field .id.
25788 * disk/scsi.c (grub_scsi_iterate): Generate name.
25789 (grub_scsi_open): Parse name.
25790 * include/grub/scsi.h (grub_make_scsi_id): New function.
25791 (grub_scsi_dev): Change iterate and open to number instead of naming
25792 busses. All users updated.
25793 (grub_scsi): Remove name. Add .bus.
25794
5bc24388
VS
257952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25796
25797 * commands/help.c (grub_cmd_help): Fix a typo.
25798
249975ba
VS
257992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25800
25801 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25802 Reported and tested by: Colin Watson.
25803
3eaac1a1
VS
258042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25805
25806 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25807 in this context.
25808
becce1b1
VS
258092010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25812
f7bf0918
CW
258132010-07-07 Colin Watson <cjwatson@ubuntu.com>
25814
25815 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25816 indentation.
25817
0b0f9620
CW
258182010-07-06 Colin Watson <cjwatson@ubuntu.com>
25819
25820 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25821 and disk/raid6_recover.c.
25822 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25823 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25824
1e545469
CW
258252010-07-06 Colin Watson <cjwatson@ubuntu.com>
25826
25827 * term/gfxterm.c (repaint_schedulded): Rename to ...
25828 (repaint_scheduled): ... this. Update all callers.
25829 (repaint_was_schedulded): Rename to ...
25830 (repaint_was_scheduled): ... this. Update all callers.
25831
5357687a
CW
258322010-07-06 Colin Watson <cjwatson@ubuntu.com>
25833
25834 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25835 which we expect to be handled by upper layers.
25836
29d7e783
BC
258372010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25838
25839 * bus/usb/usbhub.c: #include time.h header.
25840
37582066
CW
258412010-07-06 Colin Watson <cjwatson@ubuntu.com>
25842
25843 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25844 entry_name also for entries without stat blocks (e.g. ".."); fixes
25845 corruption of the first entry in a directory.
25846
c8c06953
CW
258472010-07-06 Colin Watson <cjwatson@ubuntu.com>
25848
25849 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25850 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25851 doesn't work otherwise.
25852
e75056f1
CW
258532010-07-05 Colin Watson <cjwatson@ubuntu.com>
25854
25855 * docs/grub.texi (Features): Update list of supported file systems.
25856 (GNU/Linux): Update for GRUB 2.
25857 (Serial terminal): Remove mention of --disable-serial, which was a
25858 GRUB Legacy configure option. Update instructions to use
25859 `terminal_input' and `terminal_output' rather than `terminal'.
25860 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
25861 configuration' and `Installing GRUB using grub-install'.
25862 (Menu entry editor): Update for GRUB 2.
25863 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
25864 Document new -a, -u, and -v options.
25865 (initrd): New section.
25866 (initrd16): New section.
25867 (linux): New section.
25868 (linux16): New section.
25869 (search): The `var' argument to `--set' is optional.
25870 (GRUB only offers a rescue shell): Go into a little more detail on
25871 drive ordering.
25872
5cf69151
CW
258732010-07-05 Colin Watson <cjwatson@ubuntu.com>
25874
25875 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
25876
e3f90044
CW
258772010-07-05 Colin Watson <cjwatson@ubuntu.com>
25878
25879 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
25880 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
25881
38d8f4f3
CW
258822010-07-05 Colin Watson <cjwatson@ubuntu.com>
25883
25884 * util/i386/pc/grub-setup.c (setup): Rename prefix to
25885 install_prefix, in line with install_dos_part and install_bsd_part.
25886 Add new prefix variable, which is copied to install_prefix after
25887 comparing core.img in memory with the one read from disk in the
25888 no-embedding case, and use that rather than overwriting
25889 install_prefix immediately when installing to a partition.
25890 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
25891 Bicakci.
25892
57ebd41e
GS
258932010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25894
25895 * configure.ac: Avoid == in test command, it's not portable.
25896 * util/grub.d/30_os-prober.in: Likewise.
25897
cb7f64b2
CW
258982010-07-04 Colin Watson <cjwatson@ubuntu.com>
25899
25900 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
25901
6b654bb0
GS
259022010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
25903
25904 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
25905 multiple (top-level) partmaps.
25906
72a2026d
VS
259072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25908
25909 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 25910 Reported by: Tino Keitel.
72a2026d 25911
df3eb88f
VS
259122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25913
25914 Bidi and diacritics support.
25915
25916 * Makefile.in (widthspec.bin): New target.
25917 (widthspec.h): Likewise.
25918 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
25919 * autogen.sh: Generate unidata.c.
25920 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
25921 * commands/ls.c (grub_ls_list_devices): Likewise.
25922 (grub_ls_list_files): Likewise.
25923 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
25924 (grub_mini_cmd_lsmod): Likewise.
25925 * commands/read.c: Likewise.
25926 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
25927 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
25928 * lib/arg.c (grub_arg_show_help): Likewise.
25929 * lib/crypto.c (grub_password_get): Likewise.
25930 * normal/auth.c (grub_username_get): Likewise.
25931 * normal/misc.c (grub_normal_print_device_info): Likewise.
25932 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
25933 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
25934 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
25935 (normal/charset.c_DEPENDENCIES): New variable.
25936 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
25937 (pkglib_MODULES): Remove charset.mod.
25938 (charset_mod_SOURCES): Removed.
25939 (charset_mod_CFLAGS): Likewise.
25940 (charset_mod_LDFLAGS): Likewise.
25941 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
25942 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
25943 and term/tparm.c.
25944 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25945 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25946 (kernel_img_HEADERS): Add terminfo.h.
25947 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
25948 Fill ->font. Reverse ascii bitmaps.
25949 (grub_font_get_xheight): New function.
25950 * font/font.c (grub_font_get_string_width): Moved from here ...
25951 * gfxmenu/font.c (grub_font_get_string_width): ... here.
25952 * font/font.c (grub_font_draw_string): Moved from here ...
25953 * gfxmenu/font.c (grub_font_draw_string): ... here.
25954 * font/font.c (grub_font_dup_glyph): New function.
25955 (grub_font_blit_glyph): Likewise.
25956 (grub_font_blit_glyph_mirror): Likewise.
25957 (blit_comb): Likewise.
25958 (grub_font_construct_dry_run): Likewise.
25959 (grub_font_get_constructed_device_width): Likewise.
25960 (grub_font_construct_glyph): Likewise.
25961 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
25962 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
25963 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
25964 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
25965 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
25966 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
25967 (grub_font_get_xheight): New proto.
25968 (grub_font_get_constructed_device_width): Likewise.
25969 (grub_font_construct_glyph): Likewise.
25970 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
25971 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
25972 * include/grub/font.h (grub_font_draw_string): Moved from here ...
25973 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
25974 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
25975 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
25976 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
25977 (grub_console_getcharwidth): Likewise.
25978 * include/grub/misc.h (grub_xputs): New proto.
25979 (grub_puts): Inlined.
25980 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
25981 (grub_normal_get_line_counter): Removed.
25982 (grub_install_newline_hook): Likewise.
25983 (grub_normal_get_char_counter): New proto.
25984 (grub_normal_reset_more): Likewise.
25985 (grub_xputs_normal): Likewise.
25986 * include/grub/powerpc/ieee1275/console.h: Removed.
25987 * include/grub/sparc64/ieee1275/console.h: Likewise.
25988 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
25989 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
25990 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
25991 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
25992 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
25993 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
25994 (grub_term_input): Pass reference to self. All users updated.
25995 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
25996 Pass reference to self. New fields normal_color, highlight_color and
25997 data. All users updated.
25998 (grub_putchar): Removed.
25999 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26000 (grub_unicode_estimate_width): New function.
26001 (grub_term_getcharwidth): Add defaults.
26002 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26003 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26004 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26005 (grub_cls): Remove EXPORT_FUNC.
26006 (grub_setcolorstate): Inline.
26007 (grub_newline_hook): Removed.
26008 * include/grub/terminfo.h: Rewritten. All users updated.
26009 * include/grub/unicode.h: New file.
26010 * include/grub/video.h (grub_video_signed_rect): New type.
26011 * kern/emu/console.c (grub_console_highlight_color): Removed.
26012 (grub_console_normal_color): Likewise.
26013 (grub_console_standard_color): Made static.
26014 (grub_ncurses_putchar): Remove mapping.
26015 (grub_ncurses_getcharwidth): Removed.
26016 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26017 (grub_ncurses_setcolor): Removed.
26018 (grub_ncurses_getcolor): Likewise.
26019 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26020 (grub_console_putchar): ... this.
26021 (grub_console_putchar): Handle argument difference.
26022 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26023 console_init_early and console_init_lately.
26024 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26025 * kern/misc.c (grub_puts): Removed.
26026 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26027 (grub_vsnprintf_real): Remove str = NULL support.
26028 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26029 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26030 * kern/term.c (grub_putcode): Renamed to ...
26031 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26032 (grub_putchar): Removed.
26033 (grub_xputs_dumb): New function.
26034 (grub_xputs): New variable.
26035 * lib/charset.c: Move from here ...
26036 * normal/charset.c: ... to here.
26037 (grub_ucs4_to_utf8): New function.
26038 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26039 (join_types): New variable.
26040 (unpack_join): New function.
26041 (bidi_types): New variable.
26042 (unpack_bidi): New function.
26043 (get_bidi_type): Likewise.
26044 (get_join_type): Likewise.
26045 (is_mirrored): Likewise.
26046 (grub_unicode_get_comb_type): Likewise.
26047 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26048 (is_type_after): Likewise.
26049 (grub_unicode_aglomerate_comb): Likewise.
26050 (bidi_line_wrap): Likewise.
26051 (grub_bidi_line_logical_to_visual): Likewise.
26052 (grub_bidi_logical_to_visual): Likewise.
26053 (grub_unicode_mirror_code): Likewise.
26054 (grub_unicode_shape_code): Likewise.
26055 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26056 Don't use grub_putchar.
26057 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26058 (grub_normal_reader_init): Likewise.
26059 (grub_xputs_saved): New variable.
26060 (GRUB_MOD_INIT): Set grub_xputs.
26061 (GRUB_MOD_FINI): Restore grub_xputs.
26062 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26063 (menu_init): Avoid printing gfxmenu error.
26064 (show_menu): Use grub_normal_get_char_counter.
26065 * normal/menu_entry.c (update_screen): Fix out-of-array.
26066 (complete): Avoid NULL dereferencing.
26067 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26068 * normal/menu_text.c (print_spaces): Removed.
26069 (grub_print_ucs4): Likewise.
26070 (grub_print_message_indented): Use grub_print_ucs4.
26071 (print_message): Use grub_putcode.
26072 (print_entry): Hanlde diacritics.
26073 * normal/term.c (term_state): New type.
26074 (grub_more_lines): Removed.
26075 (term_states): New variable.
26076 (grub_normal_line_counter): Renamed to ..
26077 (grub_normal_char_counter): ...this. All users updated.
26078 (grub_normal_get_line_counter): Renamed to ...
26079 (grub_normal_get_char_counter): ... this.
26080 (grub_normal_reset_more): New function.
26081 (process_newline): Removed.
26082 (print_more): New function.
26083 (grub_install_newline_hook): Removed.
26084 (map_code): New function.
26085 (grub_puts_terminal): Use grub_print_ucs4.
26086 (putglyph): New function.
26087 (putcode_real): Likewise.
26088 (grub_putcode): Use putcode_real.
26089 (get_maxwidth): New function.
26090 (get_startwidth): Likewise.
26091 (print_ucs4_terminal): Likewise.
26092 (find_term_state): Likewise.
26093 (put_glyphs_terminal): Likewise.
26094 (print_backlog): Likewise.
26095 (print_ucs4_real): Likewise.
26096 (grub_print_ucs4): Likewise.
26097 (grub_xputs_normal): Likewise.
26098 * term/efi/console.c (grub_console_putchar): Output diacritics.
26099 (grub_console_getcharwidth): Removed.
26100 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26101 * term/gfxterm.c (clear_char): Free chars.
26102 (scroll_up): Avoid leaking memory.
26103 (grub_gfxterm_putchar): Support diacritics.
26104 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26105 * term/i386/pc/console.c (grub_console_term_output): Declare as
26106 GRUB_TERM_CODE_TYPE_VGA.
26107 * term/i386/pc/vga.c (grub_vga_term): Declare as
26108 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26109 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26110 GRUB_TERM_CODE_TYPE_VGA.
26111 * term/i386/vga_common.c (map_char): Removed.
26112 (grub_console_putchar): Likewise.
26113 (grub_console_getcharwidth): Likewise.
26114 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26115 (colors): Reordered to match terminfo.
26116 (grub_ofconsole_normal_color): Removed.
26117 (grub_ofconsole_writeesc): Likewise.
26118 (grub_ofconsole_highlight_color): Likewise.
26119 (grub_ofconsole_getcharwidth): Likewise.
26120 (grub_ofconsole_setcolorstate): Likewise.
26121 (grub_ofconsole_setcolor): Likewise.
26122 (grub_ofconsole_getcolor): Likewise.
26123 (grub_ofconsole_readkey): Renamed to ...
26124 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26125 key.
26126 (grub_ofconsole_checkkey): Removed.
26127 (grub_ofconsole_getkey): Likewise.
26128 (grub_ofconsole_getxy): Likewise.
26129 (grub_ofconsole_gotoxy): Likewise.
26130 (grub_ofconsole_cls): Likewise.
26131 (grub_ofconsole_refresh): Likewise.
26132 (grub_ofconsole_terminfo_input): New struct.
26133 (grub_ofconsole_terminfo_output): Likewise.
26134 (grub_ofconsole_term_input): Use terminfo.
26135 (grub_ofconsole_term_output): Likewise.
26136 (grub_console_init): Split into ...
26137 (grub_console_init_early): ...this and ...
26138 (grub_console_init_lately): ...this. Use terminfo.
26139 (grub_ofconsole_putchar): Renamed to ...
26140 (put): ... this. Remove mapping.
26141 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26142 * term/serial.c: Simplify using terminfo.
26143 (xpos): Removed.
26144 (ypos): Likewise.
26145 (keep_track): Likewise.
26146 (registered): Likewise.
26147 (input_buf): Likewise.
26148 (npending): Likewise.
26149 (serial_translate_key_sequence): Likewise.
26150 (fill_input_buf): Likewise.
26151 (grub_serial_checkkey): Likewise.
26152 (grub_serial_getkey): Likewise.
26153 (grub_serial_getxy): Likewise.
26154 (grub_serial_gotoxy): Likewise.
26155 (grub_serial_putchar): Likewise.
26156 (grub_serial_cls): Likewise.
26157 (grub_serial_setcolorstate): Likewise.
26158 (grub_serial_setcursor): Likewise.
26159 (serial_hw_init): Use serial_hw_fetch.
26160 (grub_serial_terminfo_input): New variable.
26161 (grub_serial_terminfo_output): Likewise.
26162 (grub_serial_term_input): Use terminfo.
26163 (grub_serial_term_output): Likewise.
26164 * term/terminfo.c (putstr): Use put.
26165 (grub_terminfo_all_free): New function
26166 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26167 (grub_terminfo_output_register): New function.
26168 (grub_terminfo_output_unregister): Likewise.
26169 (grub_terminfo_getxy): Likewise.
26170 (grub_terminfo_readkey): Likewise.
26171 (grub_terminfo_checkkey): Likewise.
26172 (grub_terminfo_getkey): Likewise.
26173 (grub_terminfo_input_init): Likewise.
26174 (print_terminfo): Likewise.
26175 (grub_cmd_terminfo): Handle encoding.
26176 (grub_terminfo_gotoxy): Track position.
26177 (grub_terminfo_cls): Likewise.
26178 (grub_terminfo_putchar): Likewise.
26179 (grub_terminfo_setcolorstate): Handle colors
26180 (grub_terminfo_cursor_on): This ...
26181 (grub_terminfo_cursor_off): ... and this merged into ...
26182 (grub_terminfo_setcursor): ... this.
26183 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26184 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26185 * unicode/BidiMirroring.txt: Likewise.
26186 * unicode/UnicodeData.txt: Likewise.
26187 * unicode/COPYING: Likewise.
26188 * util/grub-editenv.c (grub_putchar): Removed.
26189 (grub_xputs_real): New function.
26190 (grub_xputs): New variable.
26191 * util/grub-fstest.c (grub_putchar): Removed.
26192 (grub_xputs_real): New function.
26193 (grub_xputs): New variable.
26194 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26195 (grub_xputs_real): New function.
26196 (grub_xputs): New variable.
26197 * util/grub-probe.c (grub_putchar): Removed.
26198 (grub_xputs_real): New function.
26199 (grub_xputs): New variable.
26200 * util/grub-script-check.c (grub_putchar): Removed.
26201 (grub_xputs_real): New function.
26202 (grub_xputs): New variable.
26203 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26204 (grub_xputs_real): New function.
26205 (grub_xputs): New variable.
26206 * util/import_unicode.py: New file.
26207 * util/grub-mkfont.c (ft_errmsgs): New array.
26208 (grub_glyph_info): Make bitmap a pointer.
26209 (file_formats): New type WIDTH_SPEC.
26210 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26211 (options): Add width-spec.
26212 (help): Likewise.
26213 (add_char): Renamed to ...
26214 (add_glyph): ... this.
26215 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26216 (glyph_replace): New type.
26217 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26218 (add_char): New function.
26219 (add_subst): Likewise.
26220 (process_cursive): Likewise.
26221 (add_font): Handle GSUB.
26222 (write_font_width_spec): New function.
26223 (main): Sort glyphs.
26224 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26225 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26226 * kern/term.c (grub_cls): Moved from here...
26227 * normal/term.c (grub_cls): ... here.
26228
50f0bcda
CW
262292010-07-02 Colin Watson <cjwatson@ubuntu.com>
26230
26231 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26232 suitable for using within the format argument of printf when
26233 converting grub_size_t.
26234 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26235 "x" to convert grub_size_t arguments.
26236
40372103
VS
262372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26238
26239 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26240 too long captions.
26241 (list_get_minimal_size): Take selection box into account.
26242
942a10c7
VS
262432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26244
26245 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26246 NULL font.
26247
2bdb2892
CW
262482010-07-02 Colin Watson <cjwatson@ubuntu.com>
26249
26250 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26251 devices when iterating over /dev/disk/by-id; they will be handled
26252 later if appropriate, which they aren't always (e.g. LVM).
26253
e03ed6c1
CW
262542010-07-02 Colin Watson <cjwatson@ubuntu.com>
26255
26256 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26257 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26258 fails.
26259 (grub_halt): Likewise.
26260 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26261 reset-all fails.
26262 (grub_halt): Don't return, even if all of shut-down, power-off, and
26263 poweroff fail.
26264
47695765
CW
262652010-07-02 Colin Watson <cjwatson@ubuntu.com>
26266
26267 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26268 arguments, not three.
26269
507736c8
CW
262702010-07-02 Colin Watson <cjwatson@ubuntu.com>
26271
26272 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26273 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26274 LVM-on-RAID is handled correctly.
26275
e3c8cd37
CW
262762010-07-02 Colin Watson <cjwatson@ubuntu.com>
26277
26278 * docs/grub.texi (Changes from GRUB Legacy): New section.
26279 (Future): Fix typo.
26280
8d4a2fec
CW
262812010-07-02 Colin Watson <cjwatson@ubuntu.com>
26282
26283 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26284 grub.d/README accidentally ends up executable for one reason or
26285 another. Ignore it.
26286
1c4827be
VS
262872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26288
26289 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26290 (gpt_partition_map_iterate): Support non-512B sectors.
26291
d9a0c941
VS
262922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26293
26294 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26295 Tested by: Seth Goldberg.
26296
48f27e87
VS
262972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26298
26299 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26300 Properly align mbi.
26301 Reported by: Seth Goldberg.
26302
b0c4f956
VS
263032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26304
26305 * util/grub-mkrescue.in: Avoid module duplication.
26306
105a2e8c
SF
263072010-07-01 Sean Finney <seanius@seanius.net>
26308
26309 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26310
5944958c
SF
263112010-07-01 Sean Finney <seanius@seanius.net>
26312
26313 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26314
263152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26316
26317 * disk/lvm.c (grub_lvm_checkvalue): New function.
26318 (grub_lvm_check_flag): Likewise.
26319
b79889ba
RM
263202010-07-01 Robert Millan <rmh@gnu.org>
26321
26322 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26323 Support 'p' as partition separator on kernel of FreeBSD (used
26324 with GPT labels).
26325 (grub_util_biosdisk_get_grub_dev): Likewise.
26326
ec1d04f1
VS
263272010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26328
26329 Yeeloong firmware port.
26330
26331 * boot/mips/yeeloong/fwstart.S: New file.
26332 * bus/cs5536.c (gpiodump): New const.
26333 (set_io_space): New function.
26334 (set_iod): Likewise.
26335 (set_p2d): Likewise.
26336 (grub_cs5536_init_geode): Likewise.
26337 * commands/mips/yeeloong/lsspd.c: New file.
26338 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26339 (serial_mod_SOURCES): New variable.
26340 (serial_mod_CFLAGS): Likewise.
26341 (serial_mod_LDFLAGS): Likewise.
26342 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26343 term/terminfo.c and term/tparm.c.
26344 (pkglib_IMAGES): Add fwstart.img.
26345 (fwstart_img_SOURCES): New variable.
26346 (fwstart_img_CFLAGS): Likewise.
26347 (fwstart_img_ASFLAGS): Likewise.
26348 (fwstart_img_LDFLAGS): Likewise.
26349 (fwstart_img_FORMAT): Likewise.
26350 (pkglib_MODULES): Add lsspd.mod.
26351 (lsspd_mod_SOURCES): New variable.
26352 (lsspd_mod_CFLAGS): Likewise.
26353 (lsspd_mod_LDFLAGS): Likewise.
26354 (pkglib_MODULES): Add halt.mod.
26355 (halt_mod_SOURCES): New variable.
26356 (halt_mod_CFLAGS): Likewise.
26357 (halt_mod_LDFLAGS): Likewise.
26358 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26359 (serial_mod_SOURCES): Removed.
26360 (serial_mod_CFLAGS): Likewise.
26361 (serial_mod_LDFLAGS): Likewise.
26362 * disk/ata.c (check_device): New function.
26363 (grub_ata_device_initialize): Use check_device.
26364 (grub_ata_iterate): Recheck devices.
26365 (grub_ata_open): Likewise.
26366 (grub_atapi_iterate): Likewise.
26367 (grub_atapi_open): Likewise.
26368 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26369 (GRUB_ATA_CH1_PORT1): Likewise.
26370 (GRUB_ATA_CH0_PORT2): Likewise.
26371 (GRUB_ATA_CH1_PORT2): Likewise.
26372 * include/grub/mips/loongson.h: New file.
26373 * include/grub/mips/yeeloong/ec.h: Likewise.
26374 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26375 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26376 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26377 * include/grub/misc.h (grub_halt): Declare as noreturn.
26378 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26379 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26380 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26381 (UART_ENABLE_DTRRTS): Likewise.
26382 (UART_ENABLE_MODEM): Removed.
26383 (UART_ENABLE_OUT2): New const.
26384 * include/grub/term.h (grub_term_register_input_active): New function.
26385 (grub_term_register_output_active): Likewise.
26386 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26387 argument.
26388 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26389 (init_pci): New function.
26390 (grub_machine_init): Execute platform init when firmware. Init serial.
26391 (grub_halt): Implement.
26392 (grub_exit): Likewise.
26393 (grub_reboot): Likewise.
26394 * term/serial.c (serial_hw_init): Update macros.
26395 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26396 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26397 (image_targets): New target mipsel-yeeloong-flash.
26398 (generate_image): Support IMAGE_YEELOONG_FLASH.
26399 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26400 (grub_video_sm712_setup): Init card.
26401 (grub_video_sm712_set_palette): Removed.
26402 * video/sm712_init.c: New file.
26403
ff4a70d2
CW
264042010-06-30 Colin Watson <cjwatson@ubuntu.com>
26405
26406 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26407 PATH when running help2man and then run it on the unadorned
26408 executable names, rather than passing $(builddir)/* paths to
26409 help2man. This avoids the build directory ending up in generated
26410 manual pages.
26411
1246efeb
CW
264122010-06-29 Colin Watson <cjwatson@ubuntu.com>
26413
26414 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26415 to avoid accidents when debugging with 'sh -x'.
26416 * util/grub-mkrescue.in: Likewise.
26417 * util/grub.d/00_header.in: Likewise.
26418 * util/grub.d/10_hurd.in: Likewise.
26419 * util/grub.d/10_kfreebsd.in: Likewise.
26420 * util/grub.d/10_linux.in: Likewise.
26421 * util/grub.d/10_netbsd.in: Likewise.
26422 * util/grub.d/10_windows.in: Likewise.
26423 * util/grub.d/20_linux_xen.in: Likewise.
26424 * util/grub.d/30_os-prober.in: Likewise.
26425 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26426
1ba9b889
CW
264272010-06-29 Colin Watson <cjwatson@ubuntu.com>
26428
26429 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26430 last character in the buffer.
26431 Reported by: Vladimir Serbinenko.
26432
dccaf99d
RM
264332010-06-29 Robert Millan <rmh@gnu.org>
26434
26435 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26436 (Command-line and menu entry commands): Document `badram' command.
26437
d500ed12
RM
264382010-06-28 Robert Millan <rmh@gnu.org>
26439
26440 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26441 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26442 command using ${GRUB_BADRAM} as parameter.
26443
20bc84a6
CW
264442010-06-28 Colin Watson <cjwatson@ubuntu.com>
26445
26446 * docs/grub.texi (Device map): New section.
26447 (Themes): New section (stub).
26448 * Makefile.in (docs/grub.info): The info documentation now builds
26449 without errors. Make sure it stays that way.
26450
4045dee1
VS
264512010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26452
26453 Use normal parser for menu entries.
26454 Reported by: Thomas Frauendorfer
26455
26456 * include/grub/parser.h (grub_parser_execute): Don't export.
26457 * normal/menu.c (grub_menu_execute_entry_real): New function.
26458 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26459
bca58c7b
CW
264602010-06-28 Colin Watson <cjwatson@ubuntu.com>
26461
26462 * docs/grub.texi (Embedded configuration): New section (replacing
26463 old "Preset Menu" stub).
26464 (Images): New section.
26465 (configfile): Note that any menu entries defined in `file' are shown
26466 immediately.
26467
dec53e63
JT
264682010-06-28 Josh Triplett <josh@joshtriplett.org>
26469
26470 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26471
c06e40f7
CW
264722010-06-28 Colin Watson <cjwatson@ubuntu.com>
26473
26474 * util/grub-install.in: Add --debug-image= option.
26475
cb88052b
CW
264762010-06-28 Colin Watson <cjwatson@ubuntu.com>
26477
26478 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26479 possible on Linux.
26480
26481 * util/deviceiter.c (check_device): Rename to ...
26482 (check_device_readable_unique): ... this. Update all callers.
26483 Maintain and check a list of which devices (by canonicalized name)
26484 have already been seen.
26485 (clear_seen_devices): New function.
26486 (compare_file_names) [__linux__]: New function.
26487 (grub_util_iterate_devices): Clear the list of seen devices on exit
26488 and (just in case) on entry.
26489 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26490 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26491 seen-devices list, superseded by general code in check_device.
26492
bbe34652
CW
264932010-06-28 Colin Watson <cjwatson@ubuntu.com>
26494
26495 * commands/cat.c (options): New variable.
26496 (grub_cmd_cat): Parse options. If the --dos option is given, print
26497 DOS-style "\r\n" line endings as simple newlines (Debian bug
26498 #586358).
26499 (GRUB_MOD_INIT): Use extcmd.
26500 (GRUB_MOD_FINI): Likewise.
26501 * docs/grub.texi (cat): Document --dos.
26502
412e09f3
VS
265032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 XEN with Linux grub-mkconfig support.
26506
26507 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26508 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26509 GRUB_CMDLINE_XEN_DEFAULT.
26510 * util/grub.d/20_linux_xen.in: New file.
26511
53f3ef38 265122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26513
26514 Initialise VGA video on qemu ourselves.
26515
26516 * boot/i386/qemu/boot.S: Don't call 0xc000.
26517 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26518 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26519 (kernel_img_HEADERS): Add pci.h.
26520 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26521 * configure.ac: Force unifont on qemu and yeeloong.
26522 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26523 (grub_vga_palette_write): Use correct register.
26524 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26525 Call grub_qemu_init_cirrus.
26526 * kern/i386/qemu/init.c: New file.
26527 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26528
26529 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26530
c75be4fb
PR
265312010-06-26 Pavel Roskin <proski@gnu.org>
26532
26533 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26534 13.
26535
d8034603
CW
265362010-06-26 Colin Watson <cjwatson@ubuntu.com>
26537
26538 * docs/grub.texi (Simple configuration): Explain that
26539 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26540 set to `true' to disable their respective recovery entries, not
26541 merely set.
26542
3fa06487
CW
265432010-06-26 Colin Watson <cjwatson@ubuntu.com>
26544
26545 Make the `source' command slightly faster.
26546
26547 * normal/main.c (grub_normal_execute): Don't re-read list files when
26548 nested.
26549
e9b29642
CW
265502010-06-23 Colin Watson <cjwatson@ubuntu.com>
26551
26552 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26553 field position and mask size to red fields from mode_info, not
26554 green.
26555 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26556 Remove redundant tag->common.framebuffer_type assignment.
26557 Reported by: Seth Goldberg.
26558
e726542f
CW
265592010-06-23 Colin Watson <cjwatson@ubuntu.com>
26560
26561 Sync up other versions of the Linux loader with Robert Millan's
26562 change of 2010-01-09, "Make loader output a bit more user-friendly".
26563
26564 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26565 grub_dprintf().
26566 (grub_cmd_linux): Likewise.
26567 (grub_cmd_initrd): Likewise.
26568 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26569 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26570
d6e98a17
CW
265712010-06-21 Colin Watson <cjwatson@ubuntu.com>
26572
26573 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26574 larger than MEMORY_MAP_SIZE.
26575
14d3f08e
BC
265762010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26577
26578 Fix parallel build.
26579
26580 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26581 dependency.
26582 * script/parser.y: #include grub_script.tab.h header.
26583
4f9613a3
VS
265842010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 Support >3GiB and <16MiB RAM in i386-qemu.
26587
26588 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26589 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26590 (grub_lower_mem): Removed.
26591 (grub_upper_mem): Likewise.
26592 (mem_size): Made static.
26593 (above_4g): New variable.
26594 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26595 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26596 support.
26597
05e51879
VS
265982010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 Cirrus 5446 and Bochs video cards support.
26601
26602 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26603 video_bochs.mod
26604 (video_cirrus_mod_SOURCES): New variable.
26605 (video_cirrus_mod_CFLAGS): Likewise.
26606 (video_cirrus_mod_LDFLAGS): Likewise.
26607 (video_bochs_mod_SOURCES): Likewise.
26608 (video_bochs_mod_CFLAGS): Likewise.
26609 (video_bochs_mod_LDFLAGS): Likewise.
26610 * include/grub/vga.h: New file.
26611 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26612 (grub_video_fb_set_page_t): New type.
26613 (grub_video_fb_setup): New prototype.
26614 (grub_video_fb_swap_buffers): Likewise.
26615 (grub_video_fb_get_info_and_fini): Likewise.
26616 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26617 (CRTC_DATA_PORT): Likewise.
26618 (CRTC_CURSOR): Likewise.
26619 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26620 (CRTC_CURSOR_ADDR_LOW): Likewise.
26621 (CRTC_CURSOR_DISABLE): Likewise.
26622 (update_cursor): Use grub_vga_cr_write.
26623 (grub_vga_text_setcursor): Likewise.
26624 * video/bochs.c: New file.
26625 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26626 (palette): Likewise.
26627 (palette_size): Likewise.
26628 (framebuffer): New variable.
26629 (grub_video_fb_init): Use 'framebuffer'.
26630 (grub_video_fb_fini): Likewise.
26631 (grub_video_fb_get_info): Likewise.
26632 (grub_video_fb_get_palette): Likewise.
26633 (grub_video_fb_set_palette): Likewise.
26634 (grub_video_fb_set_viewport): Likewise.
26635 (grub_video_fb_get_viewport): Likewise.
26636 (grub_video_fb_map_color): Likewise.
26637 (grub_video_fb_map_rgb): Likewise.
26638 (grub_video_fb_map_rgba): Likewise.
26639 (grub_video_fb_unmap_color): Likewise.
26640 (grub_video_fb_unmap_color_int): Likewise.
26641 (grub_video_fb_fill_rect): Likewise.
26642 (grub_video_fb_blit_bitmap): Likewise.
26643 (grub_video_fb_blit_render_target): Likewise.
26644 (grub_video_fb_scroll): Likewise.
26645 (grub_video_fb_create_render_target): Likewise.
26646 (grub_video_fb_doublebuf_blit_init): Likewise.
26647 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26648 (doublebuf_pageflipping_update_screen): New function.
26649 (doublebuf_pageflipping_init): Likewise.
26650 (grub_video_fb_setup): Likewise.
26651 (grub_video_fb_swap_buffers): Likewise.
26652 (grub_video_fb_get_info_and_fini): Likewise.
26653 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26654 All users updated.
26655 (doublebuf_pageflipping_commit): Restructured into ...
26656 (doublebuf_pageflipping_set_page): ... this.
26657 (doublebuf_pageflipping_update_screen): Removed.
26658 (doublebuf_pageflipping_init): Likewise.
26659 (double_buffering_init): Likewise.
26660 (grub_video_vbe_setup): Use grub_video_fb_setup.
26661 (grub_video_vbe_swap_buffers): Removed.
26662 (grub_video_vbe_set_active_render_target): Likewise.
26663 (grub_video_vbe_get_active_render_target): Likewise.
26664 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26665 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26666 grub_video_fb_set_active_render_target and
26667 grub_video_fb_get_active_render_target.
26668 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26669 (SEQUENCER_DATA_PORT): Likewise.
26670 (MAP_MASK_REGISTER): Likewise.
26671 (CRTC_ADDR_PORT): Likewise.
26672 (CRTC_DATA_PORT): Likewise.
26673 (START_ADDR_HIGH_REGISTER): Likewise.
26674 (START_ADDR_LOW_REGISTER): Likewise.
26675 (GRAPHICS_ADDR_PORT): Likewise.
26676 (GRAPHICS_DATA_PORT): Likewise.
26677 (READ_MAP_REGISTER): Likewise.
26678 (INPUT_STATUS1_REGISTER): Likewise.
26679 (INPUT_STATUS1_VERTR_BIT): Likewise.
26680 (get_map_mask): Use grub_vga_sr_read.
26681 (set_map_mask): Use grub_vga_sr_write.
26682 (set_read_map): Use grub_vga_gr_write.
26683 (set_start_address): Use grub_vga_cr_write.
26684 * video/sm712.c (framebuffer): Remove leftover fields.
26685
4321c64a
CW
266862010-06-20 Colin Watson <cjwatson@ubuntu.com>
26687
26688 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26689 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26690 instead. Replace the gfxterm backend check with a check that
26691 ${GRUB_PREFIX}/video.lst is non-empty.
26692 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26693 again.
26694 (load_video): New generated function. Call it before loading
26695 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26696 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26697 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26698 * docs/grub.texi (Simple configuration): Document
26699 GRUB_VIDEO_BACKEND.
26700
267012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26702
26703 Use video functions in linux and xnu loaders.
26704
26705 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26706 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26707 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26708 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26709 loader/i386/pc/linux.c.
26710 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26711 (find_line_len): Removed.
26712 (find_framebuf): Likewise.
26713 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26714 * loader/i386/efi/xnu.c: Removed.
26715 * loader/i386/pc/xnu.c: Moved from here...
26716 * loader/i386/xnu.c: ...here.
26717
26718 Enable priorities in video drivers.
26719
26720 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26721 (grub_video_adapter): New field prio.
26722 (grub_video_register): Respect prio when inserting.
26723 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26724 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26725 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26726 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26727 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26728 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26729 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26730
26731 Fix SDL driver ID.
26732
26733 * include/grub/video.h (grub_video_driver_id_t): New value
26734 GRUB_VIDEO_DRIVER_SDL.
26735 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26736
7d24e434
CW
267372010-06-17 Colin Watson <cjwatson@ubuntu.com>
26738
26739 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26740 argument to printf.
26741 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26742
c88a83f6
CW
267432010-06-17 Colin Watson <cjwatson@ubuntu.com>
26744
26745 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26746 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26747
094dfb69
CW
267482010-06-17 Colin Watson <cjwatson@ubuntu.com>
26749
26750 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26751 directly, and recommend grub-install instead.
26752 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26753
2164da6b
CW
267542010-06-17 Colin Watson <cjwatson@ubuntu.com>
26755
26756 Fix i386-pc prefix handling with nested partitions (Debian bug
26757 #585068). Note that the case where the core image is booted using
26758 multiboot and relocated from its original location still requires
26759 more work.
26760
26761 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26762 with "(,", fill the boot drive in between those two characters, but
26763 expect that a full partition specification including partition map
26764 names will follow.
26765 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26766 specified, write a prefix without the drive name but including a
26767 full partition specification.
26768
044e2e60
CW
267692010-06-16 Colin Watson <cjwatson@ubuntu.com>
26770
26771 * util/grub-mkconfig.in: Ignore non-option arguments, for
26772 compatibility with older versions (before 2010-06-12) which did the
26773 same. In particular, this makes it easier to ship an update-grub
26774 wrapper which is compatible with that used with GRUB Legacy (Debian
26775 bug #586056).
26776
5591324f
GS
267772010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26778
26779 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26780 for manual page generation.
26781
662e24d5
GS
267822010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26783
26784 * po/POTFILES: Remove leftover commands/handler.c.
26785
8d70754e
CW
267862010-06-14 Colin Watson <cjwatson@ubuntu.com>
26787
26788 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26789 left this script non-functional.
26790
41160e2e
CW
267912010-06-14 Colin Watson <cjwatson@ubuntu.com>
26792
26793 * docs/man/grub-emu.h2m: New file.
26794
b5309cc1
CW
267952010-06-13 Colin Watson <cjwatson@ubuntu.com>
26796
26797 * docs/grub.texi (Commands): Document reduced command set in rescue
26798 mode.
26799 (cpuid): New section.
26800
fcb2d090
GS
268012010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26802
26803 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26804 new partition naming style.
26805 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26806
96e5c556
BC
268072010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26808
26809 Add "-o grub.iso" like cmdline options support.
26810
26811 * util/grub-install.in: Improve cmdline option parsing.
26812 * util/grub-mkconfig.in: Likewise.
26813 * util/grub-mkrescue.in: Likewise.
26814 * util/grub-reboot.in: Likewise.
26815 * util/grub-set-default.in: Likewise.
26816 * util/i386/efi/grub-install.in: Likewise.
26817 * util/ieee1275/grub-install.in: Likewise.
26818 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26819
c16be99b
CW
268202010-06-12 Colin Watson <cjwatson@ubuntu.com>
26821
26822 * .bzrignore: Ignore 41_custom.
26823
ce08a9fb
TS
268242010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26825
26826 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26827
7beac90c
CW
268282010-06-12 Colin Watson <cjwatson@ubuntu.com>
26829
26830 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26831 prototype declarations.
26832
26833 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26834 generating fs, partmap, and video lists.
26835 * include/grub/fs.h (grub_fs_register): Omit prototype if
26836 GRUB_LST_GENERATOR is defined.
26837 * include/grub/partition.h (grub_partition_map_register): Likewise.
26838 * include/grub/video.h (grub_video_register): Likewise.
26839
1c8f0f8d
JM
268402010-06-12 Javier Martín <lordhabbit@gmail.com>
26841
26842 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26843
a6085973
TS
268442010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26845
26846 * util/grub-mkrescue.in: Support --xorriso argument.
26847
25c56d29
VS
268482010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26849
26850 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26851 Suggested by: Thomas Schmitt.
26852
e03e4b24
VS
268532010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
26856 Suggested by: Thomas Schmitt.
26857
57711df6
VS
268582010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26859
26860 custom.cfg support.
26861
26862 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
26863 * util/grub.d/41_custom.in: New file.
26864
ee62c427
CW
268652010-06-12 Colin Watson <cjwatson@ubuntu.com>
26866
26867 * util/grub-mkrescue.in (make_image): Remove sh module, which has
26868 been merged back into normal.
26869
283af07a
CW
268702010-06-11 Colin Watson <cjwatson@ubuntu.com>
26871
26872 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
26873 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
26874
56a0d956
CW
268752010-06-11 Colin Watson <cjwatson@ubuntu.com>
26876
26877 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
26878 when generating manual pages.
26879 * docs/man/grub-bin2h.h2m: New file.
26880 * docs/man/grub-editenv.h2m: New file.
26881 * docs/man/grub-fstest.h2m: New file.
26882 * docs/man/grub-install.h2m: New file.
26883 * docs/man/grub-macho2img.h2m: New file.
26884 * docs/man/grub-mkconfig.h2m: New file.
26885 * docs/man/grub-mkdevicemap.h2m: New file.
26886 * docs/man/grub-mkfont.h2m: New file.
26887 * docs/man/grub-mkimage.h2m: New file.
26888 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
26889 * docs/man/grub-mkrelpath.h2m: New file.
26890 * docs/man/grub-mkrescue.h2m: New file.
26891 * docs/man/grub-ofpathname.h2m: New file.
26892 * docs/man/grub-pe2elf.h2m: New file.
26893 * docs/man/grub-probe.h2m: New file.
26894 * docs/man/grub-reboot.h2m: New file.
26895 * docs/man/grub-script-check.h2m: New file.
26896 * docs/man/grub-set-default.h2m: New file.
26897 * docs/man/grub-setup.h2m: New file.
26898
3a37e322
VS
268992010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
26900
26901 Use FOR_* macros instead of *_iterate whenever possible.
26902
26903 * commands/handler.c: Removed.
26904 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
26905 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
26906 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26907 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
26908 (grub_probe_SOURCES): Remove kern/parser.c.
26909 (util/grub-script-check.c_DEPENDENCIES): Removed.
26910 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
26911 and grub_script_check_init.c.
26912 (grub_script_check_init.lst): Removed.
26913 (grub_script_check_init.h): Likewise.
26914 (grub_script_check_init.c): Likewise.
26915 (pkglib_MODULES): Remove handler.mod and sh.mod.
26916 (handler_mod_SOURCES): Removed.
26917 (handler_mod_CFLAGS): Likewise.
26918 (handler_mod_LDFLAGS): Likewise.
26919 (normal_mod_SOURCES): Remove normal/handler.c.
26920 Add script/main.c, script/script.c, script/execute.c,
26921 script/function.c, script/lexer.c, grub_script.tab.c
26922 and grub_script.yy.c.
26923 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26924 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26925 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
26926 (grub_setup_SOURCES): Remove kern/parser.c.
26927 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26928 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
26929 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
26930 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26931 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26932 (grub_setup_SOURCES): Remove kern/parser.c.
26933 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
26934 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
26935 * include/grub/command.h (grub_command_iterate): Removed.
26936 (FOR_COMMANDS): New macro.
26937 * include/grub/dl.h (grub_dl): New member next.
26938 (grub_dl_iterate): Removed.
26939 (grub_dl_head): New variable declaration.
26940 (FOR_DL_MODULES): New macro.
26941 * include/grub/fs.h: Include list.h.
26942 (grub_fs): Make next first element.
26943 (grub_fs_list): New variable declaration.
26944 (grub_fs_register): Make inline.
26945 (grub_fs_unregister): Likewise.
26946 (grub_fs_iterate): Removed.
26947 (FOR_FILESYSTEMS): New macro.
26948 * include/grub/handler.h: Removed.
26949 * include/grub/list.h (grub_list_hook_t): Removed.
26950 (grub_list_test_t): Likewise.
26951 (grub_list_pop): Likewise.
26952 (grub_list_iterate): Likewise.
26953 (grub_list_insert): Likewise.
26954 (FOR_LIST_ELEMENTS): New macro.
26955 * include/grub/parser.h (grub_parser_class): Removed.
26956 (grub_parser_register): Likewise.
26957 (grub_parser_unregister): Likewise.
26958 (grub_parser_get_current): Likewise.
26959 (grub_parser_set_current): Likewise.
26960 (grub_register_rescue_parser): Likewise.
26961 (grub_rescue_parse_line): New function.
26962 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
26963 * include/grub/script_sh.h (grub_script_function_list): New variable
26964 declaration.
26965 (FOR_SCRIPT_FUNCTIONS): New macro.
26966 (grub_script_function_iterate): Removed.
26967 (grub_normal_parse_line): New prototype.
26968 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
26969 (FOR_DISABLED_TERM_INPUTS): Likewise.
26970 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26971 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26972 * include/grub/video.h (grub_video_adapter): Move 'next' to first
26973 element.
26974 (grub_video_register): Inline.
26975 (grub_video_unregister): Likewise.
26976 (grub_video_adapter_list): New variable declaration.
26977 (grub_video_iterate): Removed.
26978 (FOR_VIDEO_ADAPTERS): New macro.
26979 * kern/dl.c (grub_dl_list): Removed. All users updated.
26980 (grub_dl_iterate): Removed.
26981 * kern/fs.c (grub_fs_list): Make global.
26982 (grub_fs_register): Removed.
26983 (grub_fs_unregister): Likewise.
26984 (grub_fs_iterate): Likewise.
26985 * kern/handler.c: Removed.
26986 * kern/list.c (grub_list_pop): Removed.
26987 (grub_list_iterate): Likewise.
26988 (grub_list_insert): Likewise.
26989 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
26990 (grub_prio_list_insert): Don't use grub_list_insert.
26991 * kern/main.c (grub_register_rescue_parser): Don't call
26992 grub_register_rescue_parser.
26993 * kern/parser.c (grub_parser_class): Removed.
26994 (grub_parser_execute): Use grub_rescue_parse_line.
26995 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
26996 (grub_rescue_parser): Removed.
26997 (grub_register_rescue_parser): Likewise.
26998 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
26999 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27000 (grub_auth_check_authentication): Likewise.
27001 * normal/completion.c (iterate_command): Removed.
27002 (grub_normal_do_completion): Use FOR_COMMANDS.
27003 * normal/handler.c: Removed.
27004 * normal/main.c (read_config_file): Remove parser changing.
27005 (grub_normal_execute): Don't call read_handler_list.
27006 (grub_normal_read_line_real): Statically allocate prompt.
27007 (grub_cmdline_run): Use grub_normal_parse_line.
27008 (GRUB_MOD_FINI): Don't call free_handler_list.
27009 * normal/menu_entry.c (run): Likewise.
27010 * script/function.c (grub_script_function_list): Make global.
27011 (grub_script_function_iterate): Removed.
27012 * script/main.c (grub_normal_parse_line): Make global.
27013 (grub_sh_parser): Removed.
27014 (GRUB_MOD_INIT): Likewise.
27015 (GRUB_MOD_FINI): Likewise.
27016 * tests/lib/functional_test.c (grub_functional_test): Use
27017 FOR_LIST_ELEMENTS.
27018 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27019 (grub_test_run): Use FOR_LIST_ELEMENTS.
27020 * tests/lib/unit_test.c (main): Likewise.
27021 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27022 grub_list_pop.
27023 * util/grub-fstest.c (grub_term_input_class): Removed.
27024 (grub_term_output_class): Likewise.
27025 * util/grub-probe.c: Likewise.
27026 * util/i386/pc/grub-setup.c: Likewise.
27027 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27028 * util/grub-script-check.c (main): Don't call grub_init_all and
27029 grub_fini_all.
27030 * video/video.c (grub_video_adapter_list): Make global.
27031 (grub_video_register): Removed.
27032 (grub_video_unregister): Likewise.
27033 (grub_video_iterate): Likewise.
27034
6289c3a7
VS
270352010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27036
27037 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27038 reported by Henrique Ferreiro.
27039
91460247
RM
270402010-06-09 Robert Millan <rmh@gnu.org>
27041
27042 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27043 ones, when both are available.
27044
0ea7c4f9
GS
270452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27046
27047 Make --version uniform and avoid hard-coded program name.
27048
27049 * util/grub-mkimage.c (main): Use `program_name' instead of
27050 hard-coded string.
27051 * util/i386/pc/grub-setup.c (main): Likewise.
27052 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27053 * util/grub-install.in: Save the basename of $0 in $self, and use the
27054 latter in informational messages. Use the same format for --version
27055 as the binary programs.
27056 * util/grub-mkconfig.in: Likewise.
27057 * util/grub-mkrescue.in: Likewise.
27058 * util/grub-reboot.in: Likewise.
27059 * util/grub-set-default.in: Likewise.
27060 * util/i386/efi/grub-install.in: Likewise.
27061 * util/ieee1275/grub-install.in: Likewise.
27062 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27063
e8a6f3b6
GS
270642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27065
27066 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27067 embedding area. Use <= instead of == when checking for non-emptiness.
27068
f4d095d7
GS
270692010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27070
27071 * configure.ac: Add `.' to the directories searched for unifont.
27072
50e532ca
CW
270732010-06-08 Colin Watson <cjwatson@ubuntu.com>
27074
27075 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27076 grub_script.yy.h.
27077
d39f3dec
CW
270782010-06-08 Colin Watson <cjwatson@ubuntu.com>
27079
27080 * docs/grub.texi (History): Expand to cover GRUB 2.
27081 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27082 commands, not `terminal'.
27083 (serial): Likewise.
27084 (terminal_input): New section.
27085 (terminal_output): New section.
27086 (uppermem): New section (stub).
27087 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27088
6ef0ddb4
CW
270892010-06-08 Colin Watson <cjwatson@ubuntu.com>
27090
27091 * docs/grub.texi (Security): Menu entries are unrestricted by
27092 default, not restricted to superusers as I had previously thought.
27093 Reword to account for this.
27094
e0f4c438
CW
270952010-06-07 Colin Watson <cjwatson@ubuntu.com>
27096
27097 * kern/emu/misc.c (device_mapper_null_log): New function.
27098 (grub_device_mapper_supported): New function.
27099 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27100 prototype.
27101 * kern/emu/hostdisk.c (find_partition_start): Check whether
27102 device-mapper is supported before trying to use it.
27103 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27104
da908200
CW
271052010-06-07 Colin Watson <cjwatson@ubuntu.com>
27106
27107 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27108 (File name syntax): Likewise.
27109 (help): --all is no longer supported in GRUB 2. Be more precise
27110 about pattern matching.
27111
fb55c3ac
CW
271122010-06-07 Colin Watson <cjwatson@ubuntu.com>
27113
27114 * normal/completion.c (grub_normal_do_completion): When completing
27115 arguments to "set" and the current word contains an equals sign,
27116 skip to after the equals sign before starting completion.
27117
258c2573
CW
271182010-06-07 Colin Watson <cjwatson@ubuntu.com>
27119
27120 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27121
ee75515e
CW
271222010-06-07 Colin Watson <cjwatson@ubuntu.com>
27123
27124 * docs/grub.texi (Network): New section.
27125 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27126 `(nd)' as in GRUB Legacy.
27127 (pxe_unload): New section.
27128
a6a700aa
CW
271292010-06-07 Colin Watson <cjwatson@ubuntu.com>
27130
27131 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27132 in the rescue shell, so recommend using `set' instead. Thanks,
27133 Jordan Uggla.
27134
4003dd38
CW
271352010-06-07 Colin Watson <cjwatson@ubuntu.com>
27136
27137 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27138 (password): New section.
27139 (password_pbkdf2): New section.
27140 (search): New section.
27141 (Security): New section.
27142 (Troubleshooting): New section, currently very incomplete.
27143 (Invoking grub-mkpasswd-pbkdf2): New section.
27144 (Internals): New section, currently very incomplete.
27145
e1cbcc40
CW
271462010-06-07 Colin Watson <cjwatson@ubuntu.com>
27147
27148 * util/grub.d/00_header.in: Add some more quoting (of
27149 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27150 work again.
27151 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27152
db8fa1ad
CW
271532010-06-07 Colin Watson <cjwatson@ubuntu.com>
27154
27155 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27156 to `count', fixing variable shadowing that broke the -c option.
27157
271582010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27159
27160 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27161 in case they contain spaces.
27162
f28a9212
CW
271632010-06-04 Colin Watson <cjwatson@ubuntu.com>
27164
27165 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27166 "part_" to partmap module names, in line with grub-install.
27167 Reported by: Jindřich Makovička (Debian bug #584426).
27168
9cdfe32f
CW
271692010-06-04 Colin Watson <cjwatson@ubuntu.com>
27170
27171 * util/grub-mkimage.c: Make target-related error messages slightly
27172 more helpful; -O talks about "format". Explicitly point to the use
27173 of -O if no target is specified.
27174 Reported by: Didier Raboud (Debian bug #584415).
27175
795b593a
CW
271762010-06-03 Colin Watson <cjwatson@ubuntu.com>
27177
27178 * INSTALL: Document several build requirements for optional features
27179 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27180
9d9b5833
GS
271812010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27182
27183 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27184 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27185 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27186
0819fec8
CW
271872010-06-02 Colin Watson <cjwatson@ubuntu.com>
27188
27189 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27190 Thanks to Jordan Uggla for spotting this.
27191
49396b4f
VS
271922010-06-02 Aleš Nesrsta <starous@volny.cz>
27193
27194 Finally make USB usable.
27195
27196 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27197 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27198 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27199 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27200 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27201 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27202 (GRUB_OHCI_FSMPS): Likewise.
27203 (GRUB_OHCI_PERIODIC_START): Likewise.
27204 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27205 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27206 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27207 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27208 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27209 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27210 (grub_ohci_transaction): Likewise.
27211 (grub_ohci_transfer): Improve condition detection algorithms.
27212 Handle toggle property. Program the transactions correctly.
27213 Improve error handling. Various important fixups.
27214 (grub_ohci_portstatus): Put register writes in right order.
27215 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27216 (grub_uhci_transfer): Don't show "failed" message on success.
27217 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27218 array.
27219 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27220 determine its size.
27221 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27222 before initialization is completed. Use IN direction for empty
27223 transfers. Use last_trans and compute toggle.
27224 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27225 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27226 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27227 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27228 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27229 (grub_usb_device): Increase toggle to 256.
27230 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27231 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27232 GRUB_USBMS_SUBCLASS_SFF8070.
27233 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27234 (grub_scsi_inquiry): New member page and alloc_length.
27235 (grub_scsi_request_sense): New structure.
27236 (grub_scsi_request_sense_data): Likewise.
27237 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27238 control.
27239 * disk/scsi.c (grub_scsi_request_sense): New function.
27240 (grub_scsi_test_unit_ready): Likewise.
27241 (grub_scsi_inquiry): Fill new fields.
27242 (grub_scsi_read_capacity): Likewise.
27243 (grub_scsi_read10): Add request sense at the end.
27244 (grub_scsi_read12): Likewise.
27245 (grub_scsi_write10): Likewise.
27246 (grub_scsi_write12): Likewise.
27247 (grub_scsi_open): Add Test Unit Ready.
27248 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27249 Support additional subclasses. Con't clear halt yet. Activate the
27250 proper config. Calculate LUNs correctly.
27251 (grub_usbms_transfer): Various important fixups.
27252
272532010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27254
27255 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27256 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27257 (grub_ohci_fini_hw): New function.
27258 (grub_ohci_restore_hw): Likewise.
27259 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27260 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27261 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27262
272632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27264
27265 Dedicated DMA allocations.
27266
27267 * bus/pci.c (grub_memalign_dma32): New function
27268 (grub_dma_free): Likewise.
27269 (grub_dma_get_virt): Likewise.
27270 (grub_dma_get_phys): Likewise.
27271 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27272 (grub_ohci_pci_iter): Use dma32_alloc.
27273 (grub_ohci_transfer): Likewise.
27274 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27275 (grub_usb_bulk_readwrite): Likewise.
27276 * include/grub/pci.h: Add declarations.
27277
272782010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27279
27280 CS5536 support.
27281
27282 * bus/cs5536.c: New file.
27283 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27284 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27285 (cs5536_mod_SOURCES): New variable.
27286 (cs5536_mod_CFLAGS): Likewise.
27287 (cs5536_mod_LDFLAGS): Likewise.
27288 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27289 machine/pci.h.
27290 (kernel_img_SOURCES): Add bus/cs5536.c.
27291 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27292 usb_keyboard.mod.
27293 (usb_mod_SOURCES): New variable.
27294 (usb_mod_CFLAGS): New variable.
27295 (usb_mod_LDFLAGS): New variable.
27296 (usbtest_mod_SOURCES): New variable.
27297 (usbtest_mod_CFLAGS): New variable.
27298 (usbtest_mod_LDFLAGS): New variable.
27299 (ohci_mod_SOURCES): New variable.
27300 (ohci_mod_CFLAGS): New variable.
27301 (ohci_mod_LDFLAGS): New variable.
27302 (usbms_mod_SOURCES): New variable.
27303 (usbms_mod_CFLAGS): New variable.
27304 (usbms_mod_LDFLAGS): New variable.
27305 (usb_keyboard_mod_SOURCES): New variable.
27306 (usb_keyboard_mod_CFLAGS): New variable.
27307 (usb_keyboard_mod_LDFLAGS): New variable.
27308 * include/grub/smbus.h: New file.
27309 * include/grub/cs5536.h: New file.
27310
0b35b2a9
CW
273112010-06-02 Colin Watson <cjwatson@ubuntu.com>
27312
27313 * util/grub.d/00_header.in: Add safety check to make sure that
27314 ${locale_dir} exists before trying to probe it.
27315
ca0afd5b
CW
273162010-06-02 Colin Watson <cjwatson@ubuntu.com>
27317
27318 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27319 per the GNU Coding Standards; this is now too obscure to be worth
27320 documenting.
27321 (QNX): Likewise.
27322 (chainloader): Remove cross-reference to `SCO UnixWare'.
27323
1c41aa78
CW
273242010-06-02 Colin Watson <cjwatson@ubuntu.com>
27325
27326 * docs/grub.texi (Chain-loading): New section.
27327 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27328 adjusted for GRUB 2.
27329 (SCO UnixWare): Likewise.
27330 (QNX): Likewise.
27331 (chainloader): Add reference to `Block list syntax'.
27332 (drivemap): New section.
27333 (parttool): New section.
27334
bb8ea0f5
CW
273352010-06-02 Colin Watson <cjwatson@ubuntu.com>
27336
27337 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27338 the grub shell'.
27339 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27340 (Installing GRUB using grub-install): Remove reference to the grub
27341 shell; mention `grub-mkimage' and `grub-setup' instead.
27342 (Invoking grub-install): Likewise.
27343 (Interface): Add reference to `Menu entry editor'.
27344 (serial): Remove `--device' option.
27345
288dd6ed
CW
273462010-06-02 Colin Watson <cjwatson@ubuntu.com>
27347
27348 * docs/grub.texi (Configuration): New section, documenting
27349 configuration file generation using grub-mkconfig. I've left a slot
27350 for documenting the full shell scripting format but have not yet
27351 started on writing that up.
27352 (Invoking grub-mkconfig): New section.
27353
34c9f0e9
CW
273542010-06-02 Colin Watson <cjwatson@ubuntu.com>
27355
27356 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27357 (GNU GRUB manual): Likewise.
27358 (General commands): Update description of `terminfo' for GRUB 2.
27359
9121567e
CW
273602010-06-02 Colin Watson <cjwatson@ubuntu.com>
27361
27362 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27363 (GRUB_MOD_INIT): Fix capitalisation.
27364 * docs/grub.texi (Command-line and menu entry commands): Document
27365 gettext and gptsync commands.
27366
ab631611
CW
273672010-06-02 Colin Watson <cjwatson@ubuntu.com>
27368
27369 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27370 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27371
bde4a9ac
CW
273722010-06-01 Colin Watson <cjwatson@ubuntu.com>
27373
27374 Add btrfs probing support, currently only in the single-device case.
27375
27376 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27377 function.
27378 (grub_guess_root_device): Call find_root_device_from_mountinfo
27379 before looking in /dev.
27380
b1d17e10
VS
273812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27382
27383 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27384 GRUB_DISK_SIZE_UNKNOWN.
27385 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27386
dfbfe004
JS
273872010-05-31 Jiro SEKIBA <jir@unicus.jp>
27388
27389 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27390 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27391 corrupted or not synced properly.
27392
c2ffc8e9
VS
273932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27396 Reported by: Seth Goldberg.
27397
56293166
VS
273982010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27401 addition of dest.
27402 Reported by: Seth Goldberg.
27403
7620e7de
VS
274042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27405
27406 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27407 Reported by: Seth Goldberg.
27408
c837af3f
VS
274092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27410
27411 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27412 64-bit address as signed on MIPS.
27413
c7c75cf4
CW
274142010-05-28 Colin Watson <cjwatson@ubuntu.com>
27415
27416 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27417 to the empty string.
27418
fa4b8490
BC
274192010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27420
27421 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27422
27423 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27424 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27425 * kern/misc.c (__enable_execute_stack): Disable on
27426 GRUB_MACHINE_EMU.
27427
a33075b9
CW
274282010-05-28 Colin Watson <cjwatson@ubuntu.com>
27429
27430 Make grub-probe work with symbolic links under /dev/mapper as well
27431 as with real block devices. The Linux world seems to be (at best)
27432 in transition here, and GRUB shouldn't get caught in the middle.
27433
27434 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27435 /dev/mapper.
27436
d8708134
CW
274372010-05-27 Colin Watson <cjwatson@ubuntu.com>
27438
27439 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27440 input files (in which case exit zero).
27441
db2102a0
CW
274422010-05-27 Colin Watson <cjwatson@ubuntu.com>
27443
27444 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27445 return NULL for various reasons even if it has a maximum-length
27446 buffer: for example, there might be a symlink loop, or the path
27447 might exceed PATH_MAX. If this happens, return NULL.
27448
5fdba519
RM
274492010-05-27 Robert Millan <rmh@gnu.org>
27450
27451 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27452 partmap module to handle cross-partmap setups.
27453 Reported by Orestes Mas. Gràcies!
27454
d1d368e4
CW
274552010-05-27 Colin Watson <cjwatson@ubuntu.com>
27456
27457 * util/grub-mkrescue.in: Initialise override_dir rather than
27458 assuming that it's unset or empty in the environment.
27459
95ac3c73
GS
274602010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27461
27462 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27463 variable index into p_index to suppress a warning with -Wshadow.
27464
7d8c0213
BC
274652010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27466
27467 * INSTALL: Added flex >= 2.5.35 requirement.
27468
db4d5813
VS
274692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27470
27471 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27472
f24f4300
VS
274732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27474
27475 cmostest support.
27476
27477 * commands/i386/cmostest.c: New file.
27478 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27479 (cmostest_mod_SOURCES): New variable.
27480 (cmostest_mod_CFLAGS): Likewise.
27481 (cmostest_mod_LDFLAGS): Likewise.
27482 * conf/i386-pc.rmk: Likewise.
27483 * docs/grub.texi (Vendor power-on keys): New section.
27484 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27485 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27486 and GRUB_BUTTON_CMOS_ADDRESS.
27487 * util/grub.d/00_header.in: Handle powering-on by separate button.
27488
ad603f61
VS
274892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27490
27491 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27492 Removed drawing_scrollbar argument. All users updated
27493 Fixes #29792.
27494 Reported by Jo Shields
27495
3ecb080a
VS
274962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27497
27498 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27499 buffer since gfxterm handles double repaint.
27500
5f2316c1
VS
275012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27504 * term/gfxterm.c (real_scroll): Likewise.
27505
9a25f885
VS
275062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27509 before calling BIOS.
27510
39fbb79a
VS
275112010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27512
27513 * include/grub/i18n.h: Always enable grub_gettext.
27514
228cfa97
VS
275152010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27516
27517 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27518 partition naming style.
27519
21717c8f
CW
275202010-05-21 Colin Watson <cjwatson@ubuntu.com>
27521
27522 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27523 not the first option.
27524
c0f48e65
CW
275252010-05-20 Colin Watson <cjwatson@ubuntu.com>
27526
27527 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27528
96779aec
CW
275292010-05-20 Colin Watson <cjwatson@ubuntu.com>
27530
27531 * util/misc.c: Move inclusion of <limits.h> to ...
27532 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27533
fa9d256e
GS
275342010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27535
27536 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27537 Fix merge error in NetBSD code.
27538 (find_partition_start) [__NetBSD__]: Likewise.
27539
123b7a85
BC
275402010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27541
27542 Fix grub-mkrescue usage unit testing.
27543
27544 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27545
74276c0d
CF
275462010-05-18 Christian Franke <franke@computer.org>
27547
27548 * util/grub.d/10_windows.in: Use path names instead of
27549 drive letters to prevent warning from Cygwin 1.7.
27550 Add drivemap command to menuentry if needed.
27551
c4f7b523
ST
275522010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27553
27554 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27555 gnumach and gnumach.gz.
27556
95b97950
VS
275572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27558
27559 * include/grub/i18n.h (gettext): Inline instead of using #define.
27560 (grub_gettext): Likewise.
27561 (_): Likewise.
27562
01b8d2d7
VS
275632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27564
27565 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27566 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27567 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27568 (main): Add a slash after pkglibdirroot.
27569
654e1d1e
VS
275702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27571
27572 * util/grub-install.in: Add missing "in" keyword.
27573
26966aeb
VS
275742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27575
27576 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27577 Reported by: Seth Goldberg.
27578
75006747
VS
275792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27580
27581 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27582
74cbf5bd
CW
275832010-05-18 Colin Watson <cjwatson@ubuntu.com>
27584
27585 * configure.ac: Check for Linux device-mapper support.
27586
27587 * util/hostdisk.c (device_is_mapped): New function.
27588 (find_partition_start): New function, partly broken out from
27589 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27590 device-mapper support added.
27591 (linux_find_partition): Use find_partition_start.
27592 (convert_system_partition_to_system_disk): Add `st' argument.
27593 Support Linux /dev/mapper/* devices if device-mapper support is
27594 available; only DM-RAID devices are understood at present.
27595 (find_system_device): Add `st' argument. Pass it to
27596 convert_system_partition_to_system_disk.
27597 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27598 find_system_device and convert_system_partition_to_system_disk. Use
27599 find_partition_start.
27600
27601 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27602 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27603 * util/deviceiter.c [__linux__]: Define MINOR.
27604 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27605 * util/mkdevicemap.c (grub_putchar): New function.
27606 (grub_getkey): New function.
27607 (grub_refresh): New function.
27608 (main): Set debug=all if -v -v is used.
27609
355b51e9
CW
276102010-05-18 Colin Watson <cjwatson@ubuntu.com>
27611
27612 Fix build with non-GNU libcs.
27613
27614 * util/misc.c (canonicalize_file_name): Move to ...
27615 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27616 grub_make_system_path_relative_to_its_root.
27617
7fb5c25f
CW
276182010-05-18 Colin Watson <cjwatson@ubuntu.com>
27619
27620 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27621 we handle finding grub-mkimage. Default to finding grub-mkimage in
27622 ${bindir} with program_transform_name applied, and provide a
27623 --grub-mkimage option to override this.
27624
1d3293d6
VS
276252010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27626
27627 Remove grub-mkisofs.
27628
27629 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27630 (grub_mkisofs_SOURCES): Removed.
27631 (grub_mkisofs_CFLAGS): Removed.
27632 * util/mkisofs/defaults.h: Removed.
27633 * util/mkisofs/eltorito.c: Likewise.
27634 * util/mkisofs/exclude.h: Likewise.
27635 * util/mkisofs/hash.c: Likewise.
27636 * util/mkisofs/include/: Likewise.
27637 * util/mkisofs/include/fctldefs.h: Likewise.
27638 * util/mkisofs/include/mconfig.h: Likewise.
27639 * util/mkisofs/include/prototyp.h: Likewise.
27640 * util/mkisofs/include/statdefs.h: Likewise.
27641 * util/mkisofs/iso9660.h: Likewise.
27642 * util/mkisofs/joliet.c: Likewise.
27643 * util/mkisofs/match.c: Likewise.
27644 * util/mkisofs/match.h: Likewise.
27645 * util/mkisofs/mkisofs.c: Likewise.
27646 * util/mkisofs/mkisofs.h: Likewise.
27647 * util/mkisofs/msdos_partition.h: Likewise.
27648 * util/mkisofs/multi.c: Likewise.
27649 * util/mkisofs/name.c: Likewise.
27650 * util/mkisofs/rock.c: Likewise.
27651 * util/mkisofs/tree.c: Likewise.
27652 * util/mkisofs/write.c: Likewise.
27653
5dde9afe
VS
276542010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 Unify grub-mkimage accross platforms.
27657
27658 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27659 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27660 (grub_mkelfimage_SOURCES): Removed.
27661 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27662 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27663 (bin_UTILITIES): Add grub-mkimage.
27664 (grub_mkimage_SOURCES): New variable.
27665 (kernel_img_HEADERS): Remove machine/kernel.h.
27666 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27667 (pkglib_PROGRAMS): Add kernel.img.
27668 (kernel_img_HEADERS): Add machine/kernel.h.
27669 (kernel_img_FORMAT): Removed.
27670 (bin_UTILITIES): Remove grub-mkimage.
27671 (grub_mkimage_SOURCES): Removed.
27672 (grub_mkimage_CFLAGS): Likewise.
27673 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27674 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27675 (pkglib_PROGRAMS): Add kernel.img.
27676 (bin_UTILITIES): Remove grub-mkimage.
27677 (grub_mkimage_SOURCES): Removed.
27678 (grub_mkimage_CFLAGS): Likewise.
27679 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27680 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27681 (pkglib_PROGRAMS): Add kernel.img.
27682 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27683 (pkglib_PROGRAMS): Add kernel.img.
27684 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27685 (grub_mkimage_SOURCES): Removed.
27686 (grub_mkimage_CFLAGS): Likewise.
27687 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27688 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27689 (pkglib_PROGRAMS): Add kernel.img.
27690 (bin_UTILITIES): Remove grub-mkimage.
27691 (grub_mkimage_SOURCES): Removed.
27692 (grub_mkimage_CFLAGS): Likewise.
27693 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27694 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27695 (grub_mkimage_SOURCES): Removed.
27696 (grub_mkimage_CFLAGS): Likewise.
27697 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27698 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27699 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27700 (grub_pe32_optional_header): ... this.
27701 (grub_pe64_optional_header): ... and this. All users updated.
27702 (GRUB_PE32_PE32_MAGIC): Split into ..
27703 (GRUB_PE32_PE32_MAGIC): .. this.
27704 (GRUB_PE32_PE64_MAGIC): .. and this.
27705 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27706 * include/grub/elf.h (PT_GNU_STACK): New definition.
27707 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27708 * include/grub/i386/efi/kernel.h: Likewise.
27709 * include/grub/i386/kernel.h: Likewise.
27710 * include/grub/i386/pc/kernel.h: Likewise.
27711 * include/grub/i386/qemu/boot.h: Likewise.
27712 * include/grub/mips/kernel.h: Likewise.
27713 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27714 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27715 * include/grub/powerpc/kernel.h: Likewise.
27716 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27717 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27718 * include/grub/sparc64/kernel.h: Likewise.
27719 * include/grub/x86_64/efi/kernel.h: Likewise.
27720 * include/grub/x86_64/kernel.h: Likewise.
27721 * include/grub/offsets.h: New file.
27722 * include/grub/kernel.h (grub_module_info): Split into ...
27723 (grub_module_info32): ... this.
27724 (grub_module_info64): ... and this.
27725 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27726 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27727 (grub_boot_blocklist): Moved from here ...
27728 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27729 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27730 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27731 * include/grub/types.h (grub_target_to_host16): Removed.
27732 (grub_target_to_host32): Likewise.
27733 (grub_target_to_host64): Likewise.
27734 (grub_host_to_target16): Likewise.
27735 (grub_host_to_target32): Likewise.
27736 (grub_host_to_target64): Likewise.
27737 (grub_host_to_target_addr): Likewise.
27738
27739 Support grub-mkrescue for efi, coreboot and qemu.
27740
27741 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27742 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27743 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27744 * util/grub-mkrawimage.c: Moved from here ...
27745 * util/grub-mkimage.c: ... here. All users updated.
27746 (ALIGN_ADDR): Use image_target.
27747 (TARGET_NO_FIELD): New const.
27748 (image_target_desc): New type.
27749 (image_targets): New array.
27750 (grub_target_to_host64): Use image_target.
27751 (grub_target_to_host32): Likewise.
27752 (grub_target_to_host16): Likewise.
27753 (grub_host_to_target64): Likewise.
27754 (grub_host_to_target32): Likewise.
27755 (grub_host_to_target16): Likewise.
27756 (grub_host_to_target_addr): Likewise.
27757 (generate_image): Handle multiimage.
27758 (main): Require -O parameter. All users updated.
27759 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27760 util/efi/grub-mkimage.c
27761 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27762 New option --rom-directory.
27763 Use xorriso.
27764 * util/i386/efi/grub-mkimage.c: Removed.
27765 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27766 (grub_target_to_host32): Likewise.
27767 (grub_target_to_host64): Likewise.
27768 (grub_host_to_target16): Likewise.
27769 (grub_host_to_target32): Likewise.
27770 (grub_host_to_target64): Likewise.
27771 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27772 (grub_target_to_host32): Likewise.
27773 (grub_target_to_host64): Likewise.
27774 (grub_host_to_target16): Likewise.
27775 (grub_host_to_target32): Likewise.
27776 (grub_host_to_target64): Likewise.
27777
f4fc97d0
BC
277782010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27779
27780 Source tree is reorganized for emu build.
27781
27782 * include/grub/util/console.h: Move from here...
27783 * include/grub/emu/console.h: ...to here.
27784 * include/grub/util/getroot.h: Move from here...
27785 * include/grub/emu/getroot.h: ...to here.
27786 * include/grub/util/hostdisk.h: Move from here...
27787 * include/grub/emu/hostdisk.h: ...to here.
27788 * util/console.c: Move from here...
27789 * kern/emu/console.c: ...to here.
27790 * util/getroot.c: Move from here...
27791 * kern/emu/getroot.c: ...to here.
27792 * util/grub-emu.c: Move from here...
27793 * kern/emu/main.c: ...to here.
27794 * util/hostdisk.c: Move from here...
27795 * kern/emu/hostdisk.c: ...to here.
27796 * util/hostfs.c: Move from here...
27797 * kern/emu/hostfs.c: ...to here.
27798 * util/mm.c: Move from here...
27799 * kern/emu/mm.c: ...to here.
27800 * util/pci.c: Move from here...
27801 * bus/emu/pci.c: ...to here.
27802 * util/sdl.c: Move from here...
27803 * video/emu/sdl.c: ...to here.
27804 * util/time.c: Move from here...
27805 * kern/emu/time.c: ...to here.
27806 * util/usb.c: Move from here...
27807 * bus/usb/emu/usb.c: ...to here.
27808
27809 * include/grub/emu/misc.h: New header for grub-emu functions.
27810 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27811
27812 * conf/any-emu.rmk: Rule updates for above renames.
27813 * conf/common.rmk: Likewise.
27814 * conf/i386-pc.rmk: Likewise.
27815 * conf/i386-qemu.rmk: Likewise.
27816 * conf/mips.rmk: Likewise.
27817 * conf/sparc64-ieee1275.rmk: Likewise.
27818 * conf/x86-efi.rmk: Likewise.
27819
27820 * disk/lvm.h: #include updates for above renames.
27821 * util/grub-mkrelpath.c: Likewise.
27822 * util/grub-probe.c: Likewise.
27823 * util/i386/pc/grub-setup.c: Likewise.
27824 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27825 * kern/emu/console.c: Likewise.
27826 * kern/emu/getroot.c: Likewise.
27827 * kern/emu/hostdisk.c: Likewise.
27828 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27829
27830 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27831 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27832 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27833 * util/misc.c: Remove grub-emu functions.
27834
cced9145
VS
278352010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27836
27837 Fix gfxmenu crash.
27838 Reported by: Thorsten Grützmacher.
27839
27840 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27841 timeout hook.
27842 (circprog_set_property): Register and unregister timeout hook.
27843 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27844 (label_destroy): Free template. and unregister hook.
27845 (label_set_state): New function.
27846 (label_set_property): Handle templates and hooks.
27847 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27848 timeout hook.
27849 (progress_bar_set_property): Register and unregister timeout hook.
27850 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27851 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27852 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27853 (update_timeout_visit): Removed.
27854 (update_timeouts): New function.
27855 (redraw_timeouts): Likewise.
27856 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
27857 (grub_gfxmenu_clear_timeout): Likewise.
27858 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
27859 (grub_gfxmenu_timeout_notify): Likewise.
27860 (grub_gfxmenu_timeout_notifications): New external variable.
27861 (grub_gfxmenu_timeout_register): New function.
27862 (grub_gfxmenu_timeout_unregister): Likewise.
27863
c6e5caab
VS
278642010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27865
27866 Transform (broken) vga terminal into (working) vga video driver.
27867
27868 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
27869 video/i386/pc/vga.c.
27870 * include/grub/video.h (grub_video_driver_id):
27871 Add GRUB_VIDEO_DRIVER_VGA.
27872 * term/i386/pc/vga.c: Renamed to ...
27873 * video/i386/pc/vga.c: ...this
27874 (DEBUG_VGA): Removed.
27875 (CHAR_WIDTH): Likewise.
27876 (CHAR_HEIGHT): Likewise.
27877 (TEXT_WIDTH): Likewise.
27878 (TEXT_HEIGHT): Likewise.
27879 (DEFAULT_FG_COLOR): Likewise.
27880 (DEFAULT_BG_COLOR): Likewise.
27881 (colored_char): Likewise.
27882 (xpos): Likewise.
27883 (ypos): Likewise.
27884 (cursor_state): Likewise.
27885 (fg_color): Likewise.
27886 (bg_color): Likewise.
27887 (text_buf): Likewise.
27888 (page): Likewise.
27889 (font): Likewise.
27890 (framebuffer): New variable.
27891 (set_read_map): Disabled.
27892 (setup): New variable.
27893 (is_target): Likewise.
27894 (grub_vga_mod_init): Likewise.
27895 (grub_vga_mod_fini): Likewise.
27896 (check_vga_mem): Likewise.
27897 (write_char): Likewise.
27898 (write_cursor): Likewise.
27899 (scroll_up): Likewise.
27900 (grub_vga_putchar): Likewise.
27901 (grub_vga_getcharwidth): Likewise.
27902 (grub_vga_getwh): Likewise.
27903 (grub_vga_getxy): Likewise.
27904 (grub_vga_gotoxy): Likewise.
27905 (grub_vga_cls): Likewise.
27906 (grub_vga_setcolorstate): Likewise.
27907 (grub_vga_setcursor): Likewise.
27908 (grub_video_vga_init): New function.
27909 (grub_video_vga_setup): Likewise.
27910 (grub_video_vga_fini): Likewise.
27911 (update_target): Likewise.
27912 (grub_video_vga_blit_bitmap): Likewise.
27913 (grub_video_vga_blit_render_target): Likewise.
27914 (grub_video_vga_set_active_render_target): Likewise.
27915 (grub_video_vga_get_active_render_target): Likewise.
27916 (grub_video_vga_swap_buffers): Likewise.
27917 (grub_video_vga_set_palette): Likewise.
27918 (grub_video_vga_get_info_and_fini): Likewise.
27919 (grub_vga_term): Removed.
27920 (grub_video_vga_adapter): New variable.
27921 (GRUB_MOD_INIT): Register a video driver instead of terminal.
27922 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
27923
2bf61a98
VS
279242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27925
27926 * video/readers/jpeg.c: Indented.
27927
09ddcd11
VS
279282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 Various jpeg cleanups.
27931
27932 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
27933 (grub_jpeg_decode_quan_table): Use sizeof.
27934 (grub_jpeg_decode_du): Use ARRAY_SIZE.
27935
e5507505
PH
279362010-05-05 Peter Hurley <No e-mail available> (tiny change)
27937
27938 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
27939 tables. Ignore non-last ac bit.
27940 (grub_jpeg_decode_quan_table): Likewise.
27941
7e720a9b
VS
279422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
27945 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
27946 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27947 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
27948 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
27949 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
27950
a7fc080b
VS
279512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27952
27953 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
27954 error.
27955
2bf6012d
VS
279562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
27957
27958 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
27959
265d68cd
VS
279602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27961
27962 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
27963 condition.
27964
279652010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
27966
27967 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
27968 part.
27969
265d68cd 279702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
27971
27972 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
27973 pointers.
27974
265d68cd 279752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
27976
27977 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
27978
d1b61374
CF
279792010-05-01 Christian Franke <franke@computer.org>
27980
27981 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
27982 Remove broken Cygwin path conversion.
27983 * util/misc.c: [__CYGWIN__] Add include and define.
27984 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
27985 for Cygwin 1.7.
27986 (make_system_path_relative_to_its_root): Simplify loop, replace early
27987 return by break.
27988 [__CYGWIN__] Add conversion to win32 path.
27989 Include "/" case in trailing slash removal.
27990
3558c6e9
VS
279912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27992
27993 * kern/main.c (grub_load_config): Fix copy-pasted comment.
27994 Reported by: Seth Goldberg
27995
f5f3ff93
VS
279962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
27997
27998 * commands/help.c (grub_cmd_help): Fix a typo.
27999 Reported by: Seth Goldberg
28000
d8b5cd40
VS
280012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28002
28003 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28004 name and add N_.
28005 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28006 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28007 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28008 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28009 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28010 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28011 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28012 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28013 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28014 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28015 * normal/context.c (GRUB_MOD_INIT): Likewise.
28016 * normal/main.c (GRUB_MOD_INIT): Likewise.
28017 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28018 * term/serial.c (GRUB_MOD_INIT): Likewise.
28019 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28020
88c14915
VS
280212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28022
28023 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28024 extra == 0.
28025
165134bc
VS
280262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28027
28028 * commands/iorw.c: New file.
28029 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28030 (iorw_mod_SOURCES): New variable.
28031 (iorw_mod_CFLAGS): Likewise.
28032 (iorw_mod_LDFLAGS): Likewise.
28033
c5ac9b32
VS
280342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 Hotkey support
28037
28038 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28039 * normal/main.c (hotkey_aliases): New variable.
28040 (grub_normal_add_menu_entry): Parse "--hotkey".
28041 * normal/menu_text.c (run_menu): Handle hotkeys.
28042
ce60689c
VS
280432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28044
28045 * kern/i386/coreboot/init.c (grub_machine_init): Call
28046 grub_machine_mmap_init on qemu.
28047
0359d006
VS
280482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28049
28050 * boot/i386/qemu/boot.S: Add a missing .code16.
28051
7819a456
VS
280522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28053
28054 Use LBIO on coreboot.
28055
28056 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28057 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28058 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28059 New declaration.
28060 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28061 grub_machine_mmap_init on coreboot.
28062 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28063 GRUB_LINUXBIOS_MEMBER_LINK.
28064 (grub_machine_mmap_iterate): Fix declaration.
28065 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28066
7210dca9
VS
280672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28068
28069 Split coreboot and multiboot ports.
28070
28071 * conf/i386-multiboot.rmk: New file.
28072 * configure.ac: Add multiboot port.
28073 * include/grub/i386/multiboot/boot.h: New file.
28074 * include/grub/i386/multiboot/console.h: Likewise.
28075 * include/grub/i386/multiboot/init.h: Likewise.
28076 * include/grub/i386/multiboot/kernel.h: Likewise.
28077 * include/grub/i386/multiboot/loader.h: Likewise.
28078 * include/grub/i386/multiboot/memory.h: Likewise.
28079 * include/grub/i386/multiboot/serial.h: Likewise.
28080 * include/grub/i386/multiboot/time.h: Likewise.
28081 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28082 * loader/multiboot.c: Likewise.
28083 * loader/multiboot_mbi2.c: Likewise.
28084 * util/grub-mkrescue.in: Generate multiboot rescue.
28085
6f8aaf68
VS
280862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28087
3080f7a7
VS
28088 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28089
280902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28093
28094 * commands/terminal.c (abstract_terminal): New struct.
28095 (handle_command): New function. Based on grub_cmd_terminal_input.
28096 (grub_cmd_terminal_input): Use handle_command.
28097 (grub_cmd_terminal_output): Use handle_command.
28098
a8ebb841
BC
280992010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28100
28101 Fix comment handling.
28102
28103 * tests/grub_script_comments.in: New testcase.
28104 * conf/tests.rmk: Rules for new testcase.
28105 * script/yylex.l: Updated flex rules.
28106
bb06ba08
ST
281072010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28108
28109 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
28110 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28111 if argc is 1.
bb06ba08 28112
cc9d2425
VS
281132010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28114
28115 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28116 autogen issues.
28117
460d8402
CF
281182010-04-26 Christian Franke <franke@computer.org>
28119
28120 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28121 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28122 (grub_get_prefix): Remove function.
28123 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28124 make_system_path_relative_to_its_root ().
28125 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28126
553c01f9
CF
281272010-04-24 Christian Franke <franke@computer.org>
28128
28129 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28130 (kernel_img_LDFLAGS): Remove -static-libgcc.
28131
2aec1692
CF
281322010-04-24 Christian Franke <franke@computer.org>
28133
28134 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28135 and CHECK_END_SYMBOL if grub-emu is built.
28136 Unset TARGET_OBJ2ELF if grub-emu is built
28137 without module support.
28138
f67dc308
JS
281392010-04-24 Jiro SEKIBA <jir@unicus.jp>
28140
28141 Nilfs2 support.
28142
28143 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28144 (grub_fstest_SOURCES): Likewise.
28145 (pkglib_MODULES): Add nilfs2.mod.
28146 (nilfs2_mod_SOURCES): New variable.
28147 (nilfs2_mod_CFLAGS): Likewise.
28148 (nilfs2_mod_LDFLAGS): Likewise.
28149 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28150 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28151 * fs/nilfs2.c: New file.
28152
4ba8d354
VS
281532010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28154
28155 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28156 is not supported.
28157
0d2c20c6
GS
281582010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28159
28160 Add grub-mkconfig support for NetBSD.
28161
28162 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28163 * util/grub-mkconfig.in: export new NetBSD specific variables.
28164 * po/POTFILES-shell: added 10_netbsd.in.
28165 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28166
bc4a2d83
BC
281672010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28168
28169 Fix emu build with grub-emu-pci and grub-emu-modules.
28170
28171 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28172 functions.
28173 * include/grub/libpciaccess.h: New file.
28174 * conf/any-emu.rmk: Update kernel headers for emu build.
28175
f48c87aa
VS
281762010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28177
28178 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28179
18959385
VS
281802010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28181
28182 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28183
0037de3f
VS
281842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28185
28186 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28187 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28188 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28189 util/ieee1275/ofpath.c.
28190 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28191 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28192 * include/grub/sparc64/ieee1275/boot.h
28193 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28194 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28195 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28196 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28197 const char *.
28198 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28199 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28200 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28201 install.
28202
38e55e90
GS
282032010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28204
28205 * util/grub-mkconfig.in: Corrected two == equality tests.
28206 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28207 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28208 expect a number appended to it.
28209 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28210 expects a number appended to it.
28211
a9e6ff28
VS
282122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28215
0b830b8f
VS
282162010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28217
28218 * util/hostdisk.c (make_device_name): Change to new partition naming.
28219
0973daeb
VS
282202010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28223
460d8402 282242010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28225
28226 * Makefile.in: Add missing localedir setting.
28227
0b456309
CW
282282010-04-14 Colin Watson <cjwatson@ubuntu.com>
28229
28230 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28231 mistake in r2156. Noticed by Anthony Fok.
28232
28233 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28234 @localedir@.
28235 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28236
08f46d62
BC
282372010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28238
28239 Fix a spurious, uninitialized variable warning.
28240
28241 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28242 Initialize variable, shdr.
28243 (grub_freebsd_load_elfmodule): Likewise.
28244 (grub_freebsd_load_elf_meta): Likewise.
28245
8c4a72d4
BC
282462010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28247
28248 Fix for escaped dollar in double quoted strings.
28249
28250 * script/yylex.l: Updated flex rules.
28251 * conf/tests.rmk: Rule for new testcase.
28252 * tests/grub_script_dollar.in: New testcase.
28253
ce44826e
CPE
282542010-04-13 Carles Pina i Estany <carles@pina.cat>
282552010-04-13 Colin Watson <cjwatson@ubuntu.com>
28256
28257 Enclose all translated strings in grub.cfg in single quotes, and
28258 escape them appropriately (Ubuntu bug #552921).
28259
28260 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28261 * util/grub.d/10_hurd.in: Use it.
28262 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28263 * util/grub.d/10_linux.in (linux_entry): Likewise.
28264
4b0cd8f8
VS
282652010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28266
28267 Fix cygwin compilation.
28268
28269 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28270 * include/grub/misc.h (__register_frame_info)
28271 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28272 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28273 * kern/misc.c (__register_frame_info)
28274 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28275 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28276
01fcf061
VS
282772010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28278
28279 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28280
5d04b11e
VS
282812010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 Unify libgcc processing.
28284
28285 * Makefile.in (kernel_img_LDFLAGS): New variable.
28286 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28287 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28288 overwriting.
28289 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28290 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28291 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28292 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28293 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28294 overwriting. Remove -lgcc and -static-libgcc
28295 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28296 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28297 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28298 (kernel_img_LDFLAGS): Append instead of overwriting.
28299 Remove -lgcc and -static-libgcc
28300 * conf/sparc64-ieee1275.rmk: Likewise.
28301 * include/grub/powerpc/libgcc.h: Move to ...
28302 * include/grub/libgcc.h: .. this.
28303 * include/grub/libgcc.h: Don't export most of the function on x86.
28304 (__bswapsi2): New export.
28305 (__bswapdi2): Likewise.
28306 * include/grub/mips/libgcc.h: Removed.
28307 * include/grub/sparc64/libgcc.h: Likewise.
28308
b7f3ac29
VS
283092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28310
28311 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28312 disk_info_msg (conflicts with gettexting into languages with cases).
28313
2c7031b1
GS
283142010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28315
28316 Add grub-probe support for NetBSD.
28317
28318 * util/getroot.c (find_root_device): Convert block device to
28319 character device on NetBSD.
28320 * util/probe.c (probe): Require character device on NetBSD.
28321 * util/hostdisk.c: NetBSD specific headers.
28322 (configure_device_driver): new function to tune device driver
28323 parameters (currently only for NetBSD floppy driver).
28324 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28325 via disklabel ioctl).
28326 (open_device): call configure_device_driver on NetBSD.
28327 (convert_system_partition_to_system_disk): NetBSD specific code.
28328 (device_is_wholedisk): Likewise.
28329 (grub_util_biosdisk_get_grub_dev): Likewise.
28330 (make_device_name): Fixed a typo in bsd_part_str.
28331 * configure.ac: check for opendisk() and getrawpartition() on
28332 NetBSD and set LIBUTIL.
28333 * Makefile.in: add LIBUTIL to LIBS.
28334
f516290c
BC
283352010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28336
28337 Documentation fix.
28338
28339 * util/grub-script-check.c: Better help message.
28340
d8dcc0df
BC
283412010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28342
28343 Fix FreeBSD build.
28344
28345 * configure.ac: Flex version check.
28346 * conf/common.rmk: Add -Wno-error to sh.mod.
28347 * script/yylex.l: Remove all #pragma.
28348
6734334a
VS
283492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28350
28351 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28352 prototype.
28353 Reported by: Seth Goldberg.
28354
daea6abd
VS
283552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28356
28357 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28358 Rename "module" to "module2".
28359 Reported by: Seth Goldberg.
28360
f2fd9d2b
VS
283612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28364 EXPORT_FUNC.
28365 Reported by: Seth Goldberg.
28366
be124579
VS
283672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28368
28369 * lib/posix_wrap/locale.h: Add missing file.
28370 Reported by: Seth Goldberg.
28371
ef5da797
VS
283722010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28373
28374 grub-emu module load support.
28375
28376 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28377 NO_DYNAMIC_MODULES switched to this.
28378 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28379 (CFLAGS): Likewise.
28380 * conf/any-emu.rmk: Generate symlist.
28381 (kernel_img_HEADERS): Add util/datetime.h.
28382 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28383 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28384 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28385 kern/$(target_cpu)/cache.S.
28386 * configure.ac (grub-emu-modules): New option.
28387 * genmk.rb: Handle multiple source lists.
28388 * include/grub/sdl.h: New file.
28389 * include/grub/libusb.h: Likewise.
28390 * util/grub-emu.c (main): Hanle (host) root.
28391 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28392 GRUB_ERR_UNKNOWN_DEVICE.
28393 * util/misc.c: Move mm functions to ...
28394 * util/mm.c: ... here. All users updated.
28395
47822096
VS
283962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28397
28398 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28399 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28400 missing files.
28401 (maintainer-clean): Remove libgcrypt-grub.
28402
5d7e7445
VS
284032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28404
28405 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28406
25f4e252
EC
284072010-04-09 EFI Coder <eficoder@hotmail.com>
28408
28409 * normal/menu_text.c (print_message): Clean up the message and show
28410 the Fn information when on EFI
28411 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28412
027de555
VS
284132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28414
28415 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28416 All users updated.
28417 * normal/crypto.c (read_crypto_list): Likewise.
28418 * normal/dyncmd.c (read_command_list): Likewise.
28419 * normal/term.c (read_terminal_list): Likewise.
28420 * normal/main.c (read_lists): Use explicit prefix.
28421 (read_lists_hook): Use read_lists.
28422 (grub_normal_execute): Likewise.
28423
47779711
VS
284242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28425
28426 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28427 Reported by: Thomas Schmitt.
28428 Add -no-emul-boot to grub-mkisofs parameters.
28429
1118c32e
VS
284302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 * font/font.c: Indented.
28433
7d652447
BC
284342010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28435
28436 Elif support to GRUB script (by Deepak Vankadaru).
28437
28438 * tests/grub_script_if.in: New testcase.
28439 * conf/tests.rmk: Rule for new testcase.
28440 * script/parser.y: Grammar rules for elif.
28441
34bb22df
BC
284422010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28443
28444 While and until loops support to GRUB script.
28445
28446 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28447 (grub_script_create_cmdwhile): New function prototype.
28448 (grub_script_execute_cmdwhile): New function prototype.
28449 * script/execute.c (grub_script_execute_cmdwhile): New function.
28450 * script/parser.y (command): New commands.
28451 (whilecmd): New grammar rule.
28452 (untilcmd): New grammar rule.
28453 * script/script.c (grub_script_create_cmdwhile): New function.
28454 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28455 function.
28456
28457 * tests/grub_script_while1.in: New testcase.
28458 * conf/tests.rmk: Rule for new testcase.
28459
e215d8e0
VS
284602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28461
28462 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28463 as *.jpg.
28464
d7c43ba1
MV
284652010-04-09 Mario Vazquez <mariovazq@gmail.com>
28466
28467 GRUB_BACKGROUND support.
28468
28469 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28470 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28471
d64795c0
VS
284722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28473
28474 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28475 Idea by: Mario Vazquez
d64795c0
VS
28476
28477 * util/grub.d/00_header.in: Load pf2 and image modules.
28478
f267f83a
VS
284792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28480
28481 grub-mkconfig multiple terminal support.
28482
28483 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28484 * util/grub.d/00_header.in: Likewise.
28485
b7841ceb
VS
284862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28487
28488 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28489 we use cd $(srcdir).
28490
df60998c
CW
284912010-04-08 Colin Watson <cjwatson@ubuntu.com>
28492
28493 * util/grub.d/10_linux.in: Only use the first word of
28494 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28495 spaces in GRUB_DISTRIBUTOR.
28496 * util/grub.d/10_kfreebsd.in: Likewise.
28497 * util/grub.d/10_hurd.in: Likewise.
28498
fa09c82e
BC
284992010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28500
14e18ae3 28501 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28502
28503 * tests/util/grub-shell.in: Remove -serial stdio option.
28504
daf892b3
BC
285052010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28506
28507 POSIX header file wrappers.
28508
28509 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28510 equivalents.
28511 * lib/posix_wrap/ctype.h: Likewise.
28512 * lib/posix_wrap/errno.h: Likewise.
28513 * lib/posix_wrap/langinfo.h: Likewise.
28514 * lib/posix_wrap/limits.h: Likewise.
28515 * lib/posix_wrap/localcharset.h: Likewise.
28516 * lib/posix_wrap/stdint.h: Likewise.
28517 * lib/posix_wrap/stdio.h: Likewise.
28518 * lib/posix_wrap/stdlib.h: Likewise.
28519 * lib/posix_wrap/string.h: Likewise.
28520 * lib/posix_wrap/sys/types.h: Likewise.
28521 * lib/posix_wrap/unistd.h: Likewise.
28522 * lib/posix_wrap/wchar.h: Likewise.
28523 * lib/posix_wrap/wctype.h: Likewise.
28524 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28525 (grub_script.yy.h): Likewise.
28526 * script/yylex.l: Remove POSIX emulation #defines.
28527 * Makefile.in (POSIX_CFLAGS): New variable.
28528 (GNULIB_UTIL_CFLAGS): Likewise.
28529
28530 Regexp support.
28531
28532 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28533 (regexp_mod_SOURCES): New variable.
28534 (regexp_mod_CFLAGS): Likewise.
28535 (regexp_mod_LDFLAGS): Likewise.
28536 * commands/regexp.c: New file.
28537 * gnulib/regcomp.c: New file. Imported from gnulib.
28538 * gnulib/regex.c: Likewise.
28539 * gnulib/regex_internal.c: Likewise.
28540 * gnulib/regex_internal.h: Likewise.
28541 * gnulib/regexec.c: Likewise.
28542 * gnulib/regex.h: Likewise.
28543
974ac4f7
VS
285442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28545
28546 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28547 unsupported video mode types.
28548
2622c3ff
VS
285492010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28550
28551 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28552
064cb524
VS
285532010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28554
28555 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28556 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28557
a8c3b552
VS
285582010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28559
28560 Remove unused grub_vga_get_font.
28561
28562 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28563 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28564
187bbe3d
GS
285652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28566
28567 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28568 * include/grub/misc.h: Likewise.
28569
b9396631
GS
285702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28571
28572 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28573 for which failure is fatal.
28574
50479feb
GS
285752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28576
28577 * util/grub-install.in: Use mkdir -p to create grub directory.
28578 * util/i386/efi/grub-install.in: Likewise.
28579 * util/ieee1275/grub-install.in: Likewise.
28580
b1654fdf
GS
285812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28582
28583 * Makefile.in (LEX): new variable.
28584
bd5a6415
GS
285852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28586
28587 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28588 `=' and added double quotes on operands of this equality test.
28589
3db3a82b
VS
285902010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28591
28592 * Makefile.in (uninstall): Remove a leftover debug echo.
28593 Reported by: Grégoire Sutre
28594
38023412
VS
285952010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28596
28597 MIPS multiboot2 support.
28598
28599 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28600 (multiboot2_mod_SOURCES): New variable.
28601 (multiboot2_mod_CFLAGS): Likewise.
28602 (multiboot2_mod_LDFLAGS): Likewise.
28603 (multiboot2_mod_ASFLAGS): Likewise.
28604 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28605 definition.
28606 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28607 (MULTIBOOT_MBI_REGISTER): Likewise.
28608 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28609 (MULTIBOOT_ELF32_MACHINE): Likewise.
28610 (MULTIBOOT_ELF64_MACHINE): Likewise.
28611 * include/grub/mips/multiboot.h: New file.
28612 * include/grub/video.h (grub_video_driver_id): New type
28613 GRUB_VIDEO_DRIVER_SM712.
28614 (grub_video_get_info_and_fini): Export.
28615 (grub_video_get_palette): Likewise.
28616 (grub_video_get_driver_id): Likewise.
28617 * include/multiboot2.h: Resynced with spec.
28618 * loader/i386/multiboot.c: Moved from here ...
28619 * loader/multiboot.c: ... here. All users updated.
28620 (grub_multiboot_boot): Use platform-specific macros.
28621 * loader/i386/multiboot_elfxx.c: Moved from here ...
28622 * loader/multiboot_elfxx.c: ... here. All users updated.
28623 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28624 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28625 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28626
47674667
VS
286272010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28628
28629 Import gnulib argp module.
28630
28631 * gnulib/argp-ba.c: New file.
28632 * gnulib/argp-eexst.c: Likewise.
28633 * gnulib/argp-fmtstream.c: Likewise.
28634 * gnulib/argp-fmtstream.h: Likewise.
28635 * gnulib/argp-fs-xinl.c: Likewise.
28636 * gnulib/argp-help.c: Likewise.
28637 * gnulib/argp-namefrob.h: Likewise.
28638 * gnulib/argp-parse.c: Likewise.
28639 * gnulib/argp-pin.c: Likewise.
28640 * gnulib/argp-pv.c: Likewise.
28641 * gnulib/argp-pvh.c: Likewise.
28642 * gnulib/argp-version-etc.c: Likewise.
28643 * gnulib/argp-version-etc.h: Likewise.
28644 * gnulib/argp-xinl.c: Likewise.
28645 * gnulib/argp.h: Likewise.
28646
495442ed
VS
286472010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28648
28649 * kern/device.c (grub_device_iterate): Clear errors after failed
28650 opening device.
28651
f9fd65df
VS
286522010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28653
28654 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28655 returned by firmware.
28656
af09641e
VS
286572010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28658
28659 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28660 compilation on coreboot and qemu
28661
016883a5
VS
286622010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28663
28664 * include/multiboot2.h: Resync with spec.
28665
f97e1f7d
VS
286662010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28667
28668 Multiboot2 tag support
28669
28670 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28671 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28672 Remove loader/multiboot_loader.c.
28673 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28674 (grub_multiboot2_real_boot): Likewise.
28675 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28676 (grub_get_multiboot_mmap_count): New proto.
28677 (grub_fill_multiboot_mmap): Likewise.
28678 (grub_multiboot_set_video_mode): Likewise.
28679 (grub_multiboot_set_console): Likewise.
28680 (grub_multiboot_load): Likewise.
28681 (grub_multiboot_load_elf): Likewise.
28682 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28683 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28684 * include/multiboot.h: Resynced with specification.
28685 * include/multiboot2.h: Resynced with specification.
28686 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28687 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28688 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28689 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28690 users updated.
28691 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28692 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28693 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28694 Removed.
28695 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28696 Moved from here...
28697 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28698 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28699 Moved from here...
28700 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28701 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28702 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28703 All users updated.
28704 * loader/i386/multiboot_mbi2.c: New file.
28705
3506b90b
VS
287062010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28707
28708 Resync with gnulib.
28709
28710 * Makefile.in (GNULIB_CFLAGS): New variable.
28711 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28712 (grub_script_check_CFLAGS): New variable.
28713 * gnulib/alloca.h: Resync with gnulib.
28714 * gnulib/error.c: Likewise.
28715 * gnulib/error.h: Likewise.
28716 * gnulib/fnmatch.c: Likewise.
28717 * gnulib/fnmatch_loop.c: Likewise.
28718 * gnulib/getdelim.c: Likewise.
28719 * gnulib/getline.c: Likewise.
28720 * gnulib/getopt.c: Likewise.
28721 * gnulib/getopt1.c: Likewise.
28722 * gnulib/getopt_int.h: Likewise.
28723 * gnulib/gettext.h: Likewise.
28724 * gnulib/progname.c: Likewise.
28725 * gnulib/progname.h: Likewise.
28726
394a3120
GS
287272010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28728
28729 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28730 which is the case with --disabled-nls.
28731
28732 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28733 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28734 * util/misc.c: Likewise.
28735 * util/mkisofs/mkisofs.c: Likewise.
28736 * util/mkisofs/mkisofs.h: Likewise.
28737
969d1c78
VS
287382010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28739
28740 Simplify Apple CC support.
28741
28742 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28743 Add 0 byte at the end not to have a symbol with empty target.
28744 * mmap/i386/pc/mmap_helper.S: Likewise.
28745 * genmk.rb: Ignore errors 2030 and 2050.
28746 * kern/i386/pc/startup.S: Use LOCAL when possible.
28747
8d2977bb
BC
287482010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28749
28750 Testcase and the fix for final semicolon on cmdline.
28751
28752 * tests/grub_script_final_semicolon.in: New testcase.
28753 * conf/tests.rmk: Rules for the new testcase.
28754 * script/parser.y: Grammar fix.
28755
a7bd6915
BC
287562010-03-26 BVK Chaitanya <bvk@localhost>
28757
28758 Blank lines testcase for GRUB script.
28759
28760 * tests/grub_script_blanklines.in: New testcase.
28761 * conf/tests.rmk: Rules for the new testcase.
28762
e4ff6628
VS
287632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28764
28765 Don't use __FILE__.
28766
28767 * genmk.rb: Add -DGRUB_FILE to all C targets.
28768 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28769 * include/grub/list.h: Likewise.
28770 * include/grub/misc.h: Likewise.
28771 * include/grub/mm.h: Likewise.
28772 * include/grub/test.h: Likewise.
28773 * kern/mm.c: Likewise.
28774 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28775
6a5cf6b6
VS
287762010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28777
28778 Sunpc partitions support.
28779
28780 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28781 (grub_fstest_SOURCES): Likewise.
28782 (pkglib_MODULES): Add part_sunpc.mod.
28783 (part_sunpc_mod_SOURCES): New variable.
28784 (part_sunpc_mod_CFLAGS): Likewise.
28785 (part_sunpc_mod_LDFLAGS): Likewise.
28786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28787 * partmap/sunpc.c: New file.
28788
746d9045
BC
287892010-03-26 BVK Chaitanya <bvk@localhost>
28790
28791 For loop support to GRUB script.
28792
28793 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28794 (grub_script_create_cmdfor): New function prototype.
28795 (grub_script_execute_cmdfor): New function prototype.
28796 * script/execute.c (grub_script_execute_cmdfor): New function.
28797 * script/parser.y (command): New for command.
28798 (forcmd): New grammar rule.
28799 * script/script.c (grub_script_create_cmdfor): New function.
28800 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28801 function.
28802 * tests/grub_script_for1.in: New testcase.
28803 * conf/tests.rmk: Rules for new testcase.
28804
18486b18
VS
288052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28806
28807 Nested partitions
28808
28809 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28810 'partition' is NULL, grub_partition_get_start already does that.
28811 * commands/loadenv.c (check_blocklists): Likewise.
28812 (write_blocklists): Likewise.
28813 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28814 (grub_fstest_SOURCES): Likewise.
28815 (pkglib_MODULES): Add part_bsd.mod.
28816 (part_bsd_mod_SOURCES): New variable.
28817 (part_bsd_mod_CFLAGS): Likewise.
28818 (part_bsd_mod_LDFLAGS): Likewise.
28819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28820 (grub_emu_SOURCES): Likewise.
28821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28822 * include/grub/bsdlabel.h: New file.
28823 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28824 'get_name'.
28825 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28826 (grub_partition_map_list): New variable.
28827 (grub_partition_map_register): Inline.
28828 (grub_partition_map_unregister): Likewise.
28829 (FOR_PARTITION_MAPS): New macro.
28830 (grub_partition_map_iterate): Removed.
28831 (grub_partition_get_start): Handle nested partitions.
28832 * include/grub/msdos_partition.h: Remove bsd-related entries.
28833 (grub_pc_partition): Remove.
28834 * kern/disk.c (grub_disk_close): Free partition data.
28835 (grub_disk_adjust_range): Handle nested partitions.
28836 * kern/partition.c (grub_partition_map_probe): New function.
28837 (grub_partition_probe): Parse name to number, handle subpartitions.
28838 (get_partmap): New function.
28839 (grub_partition_iterate): Handle subpartitions.
28840 (grub_partition_get_name): Likewise.
28841 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28842 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28843 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28844 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28845 Set 'number'.
28846 (acorn_partition_map_probe): Remove.
28847 (acorn_partition_map_get_name): Likewise.
28848 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28849 Set 'number'.
28850 Set 'index' to 0 since there can be only one partition entry per sector.
28851 (amiga_partition_map_probe): Remove.
28852 (amiga_partition_map_get_name): Likewise.
28853 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28854 Set 'number'.
28855 Set 'offset' and 'index' to real positions of partitions.
28856 (apple_partition_map_probe): Remove.
28857 (apple_partition_map_get_name): Likewise.
28858 * partmap/bsdlabel.c: New file.
28859 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
28860 Set 'number'.
28861 Allocate 'data' so it can be correctly freed.
28862 Set 'index' to offset inside sector.
28863 (gpt_partition_map_probe): Remove.
28864 (gpt_partition_map_get_name): Likewise.
28865 * partmap/msdos.c (grub_partition_parse): Remove.
28866 (pc_partition_map_iterate): Don't force raw access.
28867 Set 'number'.
28868 Make 'ext_offset' a local variable.
28869 (pc_partition_map_probe): Remove.
28870 (pc_partition_map_get_name): Remove.
28871 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
28872 Set 'number'.
28873 (sun_partition_map_probe): Remove.
28874 (sun_partition_map_get_name): Likewise.
28875 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
28876 (grub_pcpart_type): Likewise.
28877 * util/hostdisk.c (open_device): Handle new numbering scheme.
28878 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
28879 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
28880 * util/grub-probe.c (probe_partmap): Handle nested paritions.
28881 * util/grub-install.in: Insert all subpartition modules.
28882 * util/ieee1275/grub-install.in: Likewise.
28883
a3940f88
AG
288842010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
28885
28886 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
28887 grammar.
28888
21b99926 288892010-03-24 Colin Watson <cjwatson@ubuntu.com>
28890
28891 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
28892
bed1d352
CW
288932010-03-21 Colin Watson <cjwatson@ubuntu.com>
28894
28895 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
28896 match where 'make install' puts them.
28897 * util/i386/efi/grub-install.in: Likewise.
28898
c9f58427
CW
288992010-03-19 Colin Watson <cjwatson@ubuntu.com>
28900
28901 * .bzrignore: Add gentrigtables, grub-script-check,
28902 grub_script_check_init.c, grub_script_check_init.h, and
28903 trigtables.c.
28904
f84afb27
VS
289052010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
28906
28907 * kern/parser.c: Indented.
28908
ed0e3d30
VS
289092010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28910
28911 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
28912
0ea81d98
VS
289132010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
28914
28915 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
28916 alpha_mask_size == 0 case.
28917
0cdc2a09
BC
289182010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
28919
28920 GRUB shell lexer and parser improvements.
28921
28922 * conf/any-emu.rmk: Build rule updates.
28923 * conf/common.rmk: Likewise.
28924 * conf/i386-coreboot.rmk: Likewise.
28925 * conf/i386-efi.rmk: Likewise.
28926 * conf/i386-ieee1275.rmk: Likewise.
28927 * conf/i386-pc.rmk: Likewise.
28928 * conf/powerpc-ieee1275.rmk: Likewise.
28929 * conf/x86_64-efi.rmk: Likewise.
28930
28931 * configure.ac: Configure check for flex.
28932
28933 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
28934 types.
28935 (grub_lexer_param): Struct member updates.
28936 (grub_parser_param): Likewise.
28937 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
28938 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
28939 (grub_script_lexer_init): Prototype update.
28940 (grub_script_lexer_record_start): Likewise.
28941 (grub_script_lexer_record_stop): Likewise.
28942 (grub_script_lexer_yywrap): New function prototype.
28943 (grub_script_lexer_fini): Likewise.
28944 (grub_script_execute_argument_to_string): Removed by...
28945 (grub_script_execute_argument_to_argv): ...better version.
28946
28947 * script/execute.c (ROUND_UPTO): New macro.
28948 (grub_script_execute_cmdline): Out of memory fixes.
28949 (grub_script_execute_menuentry): Likewise.
28950 (grub_script_execute_argument_to_string): Removed. Update all
28951 users by...
28952 (grub_script_execute_argument_to_argv): ...better version.
28953 * script/function.c (grub_script_function_create): Use
28954 grub_script_execute_argument_to_argv instead of
28955 grub_script_execute_argument_to_string.
28956
28957 * script/lexer.c (check_varstate): Removed.
28958 (check_textstate): Removed.
28959 (grub_script_lexer_record_start): Likewise.
28960 (grub_script_lexer_record_stop): Likewise.
28961 (recordchar): Replaced with...
28962 (grub_script_lexer_record): ...new function.
28963 (nextchar): Removed.
28964 (grub_script_lexer_init): Rewritten.
28965 (grub_script_yylex): Rewritten.
28966 (append_newline): New function.
28967 (grub_script_lexer_yywrap): New function.
28968 (grub_script_lexer_fini): New function.
28969 (grub_script_yyerror): Sets error flag.
28970
28971 * script/yylex.l: New file.
28972 (grub_lexer_yyfree): Wrapper for flex yyffre.
28973 (grub_lexer_yyalloc): Likewise.
28974 (grub_lexer_yyrealloc): Likewise.
28975 * script/parser.y: Refactored.
28976
28977 * script/script.c (grub_script_arg_add): Out of memory fixes.
28978 (grub_script_add_arglist): Likewise.
28979 (grub_script_create_cmdline): Likewise.
28980 (grub_script_create_cmdmenu): Likewise.
28981 (grub_script_add_cmd): Likewise.
28982 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
28983 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
28984 unnecessary code.
28985
28986 * tests/grub_script_echo1.in: New testcase.
28987 * tests/grub_script_vars1.in: New testcase.
28988 * tests/grub_script_echo_keywords.in: New testcase.
28989
1d63a066
VS
289902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 Remove some redundancy in build system.
28993
28994 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
28995 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
28996 (TARGET_LDFLAGS): Add -nostdlib.
28997 (TARGET_IMG_LDFLAGS): Likewise.
28998 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
28999 anything since mmap isn't available.
29000 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29001 Add util/time.c.
29002 (pkglib_MODULES): Remove reboot.mod.
29003 (reboot_mod_SOURCES): Removed.
29004 (reboot_mod_CFLAGS): Likewise.
29005 (reboot_mod_LDFLAGS): Likewise.
29006 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29007 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29008 (DEFSYMFILES): Add kernel_syms.lst.
29009 (kernel_img_HEADERS): Add common headers.
29010 (symlist.c): New target.
29011 (kernel_syms.lst): Likewise.
29012 (pkglib_MODULES): Add memdisk.mod.
29013 (memdisk_mod_SOURCES): New variable.
29014 (memdisk_mod_CFLAGS): Likewise.
29015 (memdisk_mod_LDFLAGS): Likewise.
29016 (pkglib_MODULES): Add reboot.mod.
29017 (reboot_mod_SOURCES): New variable.
29018 (reboot_mod_CFLAGS): Likewise.
29019 (reboot_mod_LDFLAGS): Likewise.
29020 (pkglib_MODULES): Add date.mod.
29021 (date_mod_SOURCES): New variable.
29022 (date_mod_CFLAGS): Likewise.
29023 (date_mod_LDFLAGS): Likewise.
29024 (pkglib_MODULES): Add datehook.mod.
29025 (datehook_mod_SOURCES): New variable.
29026 (datehook_mod_CFLAGS): Likewise.
29027 (datehook_mod_LDFLAGS): Likewise.
29028 (pkglib_MODULES): Add lsmmap.mod.
29029 (lsmmap_mod_SOURCES): New variable.
29030 (lsmmap_mod_CFLAGS): Likewise.
29031 (lsmmap_mod_LDFLAGS): Likewise.
29032 (pkglib_MODULES): Add boot.mod.
29033 (boot_mod_SOURCES): New variable.
29034 (boot_mod_CFLAGS): Likewise.
29035 (boot_mod_LDFLAGS): Likewise.
29036 * conf/i386-coreboot.rmk: Removed redundant parts.
29037 * conf/i386-ieee1275.rmk: Likewise.
29038 * conf/i386-pc.rmk: Likewise.
29039 * conf/mips-yeeloong.rmk: Likewise.
29040 * conf/mips.rmk: Likewise.
29041 * conf/powerpc-ieee1275.rmk: Likewise.
29042 * conf/sparc64-ieee1275.rmk: Likewise.
29043 * conf/x86_64-efi.rmk: Likewise.
29044 * conf/i386-coreboot.rmk: Moved qemu parts ..
29045 * conf/i386-qemu.rmk: ... here
29046 * conf/i386-efi.rmk: Moved common parts to...
29047 * conf/x86-efi.rmk: ... here.
29048 * conf/i386.rmk: Added modules common to all x86 variants.
29049 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29050 * disk/memdisk.c: Remove grub/machine/kernel.h.
29051 * gensymlist.sh.in: Include symbol.h.
29052 * hook/datehook.c: Correct module name.
29053 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29054 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29055 * include/grub/i386/efi/serial.h: New file.
29056 * include/grub/x86_64/efi/serial.h: Likewise.
29057 * util/time.c: Likewise.
29058 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29059
463ac55f
CK
290602010-03-14 Colin King <colin.king@ubuntu.com>
290612010-03-14 Colin Watson <cjwatson@ubuntu.com>
29062
29063 Shrink the pre-partition-table part of boot.img by eight bytes.
29064
29065 * boot/i386/pc/boot.S (ERR): New macro.
29066 (chs_mode): Use ERR.
29067 (geometry_error): Likewise.
29068 (hd_probe_error): Remove. This is only used once, so we wrwite
29069 it inline instead.
29070 (read_error): Instead of printing read_error_string, just set up
29071 %si and fall through to ...
29072 (error_message): ... this new function, also used by ERR.
29073
08e46ede
CW
290742010-03-14 Colin Watson <cjwatson@ubuntu.com>
29075
29076 Speed up consecutive hostdisk operations on the same device.
29077
29078 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29079 (grub_util_biosdisk_open): Initialise disk->data.
29080 (struct linux_partition_cache): New structure.
29081 (linux_find_partition): Cache partition start positions; these are
29082 expensive to compute on every read and write.
29083 (open_device): Cache open file descriptor in disk->data, so that we
29084 don't have to reopen it and flush the buffer cache for consecutive
29085 operations on the same device.
29086 (grub_util_biosdisk_close): New function.
29087 (grub_util_biosdisk_dev): Set `close' member.
29088
29089 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29090 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29091 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29092 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29093 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29094
4a6d2d06
VS
290952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29096
29097 Compile parts of grub-emu as modules.
29098
29099 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29100 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29101 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29102 (all-local): Add $(GRUB_EMU).
29103 (install-local): Install $(GRUB_EMU).
29104 (uninstall): Uninstall $(GRUB_EMU).
29105 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29106 * kern/dl.c: Likewise.
29107 * commands/sleep.c: Not include machine/time.h.
29108 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29109 (COMMON_CFLAGS): Likewise.
29110 (sbin_UTILITIES): Remove grub-emu.
29111 (grub_emu_SOURCES): Removed.
29112 (kernel_img_RELOCATABLE): New variable.
29113 (pkglib_PROGRAMS): Add kernel.img.
29114 (kernel_img_SOURCES): New variable
29115 (kernel_img_CFLAGS): Likewise.
29116 (kernel_img_LDFLAGS): Likewise.
29117 (TARGET_NO_STRIP): Likewise.
29118 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29119 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29120 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29121 (grub-emu): New target.
29122 (GRUB_EMU): New variable.
29123 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29124 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29125 * loader/xnu.c: Likewise.
29126 * include/grub/pci.h: Likewise.
29127 * genemuinit.sh: New file.
29128 * genemuinitheader.sh: Likewise.
29129 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29130 Support TARGET_NO_DYNAMIC_MODULES.
29131 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29132 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29133 * disk/loopback.c: Likewise.
29134 * font/font_cmd.c: Likewise.
29135 * partmap/acorn.c: Likewise.
29136 * partmap/amiga.c: Likewise.
29137 * partmap/apple.c: Likewise.
29138 * partmap/gpt.c: Likewise.
29139 * partmap/msdos.c: Likewise.
29140 * partmap/sun.c: Likewise.
29141 * parttool/msdospart.c: Likewise.
29142 * term/gfxterm.c: Likewise.
29143 * video/bitmap.c: Likewise.
29144 * video/readers/jpeg.c: Likewise.
29145 * video/readers/png.c: Likewise.
29146 * video/readers/tga.c: Likewise.
29147 * video/video.c: Likewise.
29148 * util/grub-emu.c (read_command_list): Removed.
29149 (main): Don't call util_init_nls.
29150 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29151 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29152
91fdd2ed
VS
291532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29154
29155 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29156 date.mod, datehook.mod.
29157 (datetime_mod_SOURCES): New variable.
29158 (datetime_mod_CFLAGS): Likewise.
29159 (datetime_mod_LDFLAGS): Likewise.
29160 (date_mod_SOURCES): Likewise.
29161 (date_mod_CFLAGS): Likewise.
29162 (date_mod_LDFLAGS): Likewise.
29163 (datehook_mod_SOURCES): Likewise.
29164 (datehook_mod_CFLAGS): Likewise.
29165 (datehook_mod_LDFLAGS): Likewise.
29166 * conf/sparc64-ieee1275.rmk: Likewise.
29167 * lib/ieee1275/datetime.c: New file.
29168
873ccae6
VS
291692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29170
29171 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29172 (ieee1275_fb_mod_SOURCES): New variable.
29173 (ieee1275_fb_mod_CFLAGS): Likewise.
29174 (ieee1275_fb_mod_LDFLAGS): Likewise.
29175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29176 New proto.
29177 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29178 (HEAP_MAX_ADDR): Likewise.
29179 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29180 type.
29181 Correct stop condition.
29182 (grub_ieee1275_devices_iterate): New function.
29183 * video/ieee1275.c: New file.
29184
601c97c0
VS
291852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29186
29187 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29188
29189 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29190 as scratch.
29191 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29192 SCRATCH_PAD_DISKBOOT as scratch.
29193 (bootit): Pass Openfirmware pointer in %o4.
29194 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29195 of 0x200000.
29196 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29197 with util/grub-mkrawimage.c.
29198 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29199 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29200 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29201 (grub_aout_load) [GRUB_UTIL]: Likewise.
29202 * include/grub/kernel.h (grub_modules_get_end): New proto.
29203 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29204 (SCRATCH_PAD_BOOT): New definition.
29205 (SCRATCH_PAD_DISKBOOT): Likewise.
29206 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29207 * include/grub/sparc64/ieee1275/ieee1275.h
29208 (grub_ieee1275_original_stack): New variable
29209 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29210 New definition
29211 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29212 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29213 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29214 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29215 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29216 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29217 (grub_platform_image_format_t): New type.
29218 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29219 * kern/main.c (grub_modules_get_end)
29220 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29221 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29222 (codestart): Switch stacks.
29223 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29224 variable.
29225 (grub_heap_init): Use grub_modules_get_end.
29226 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29227 stack.
29228 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29229 (main): Likewise.
29230 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29231
d68b491e
TG
292322010-03-14 Thorsten Glaser <tg@mirbsd.org>
29233
29234 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29235
4e02ed50
MK
292362010-03-08 Matt Kraai <kraai@ftbfs.org>
29237
29238 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29239 bug #559005).
29240
1f15fc1e
VS
292412010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29242
29243 * genmoddep.awk: Output all missing symbols and not only first.
29244
fce5d8ff
VS
292452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 * NEWS: Put the date of 1.98 release.
29248
d1e8a02f
VS
292492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29250
29251 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29252 ft2build.h.
29253
696fd607
VS
292542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29255
29256 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29257 completition in the middle of string.
29258
33e2e6f3
VS
292592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 * util/grub-mkrescue.in: Use mktemp with explicit template.
29262
b1f6d291
VS
292632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29266
2ac227c7
VS
292672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29270 right pointer.
29271
8f9a632b
VS
292722010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29273
29274 Fix FreeBSD compilation.
29275
29276 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29277 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29278
60b03859
VS
292792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29280
29281 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29282
48a5a769
VS
292832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29284
29285 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29286
3ab4bd77
VS
292872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29288
29289 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29290
d116e0d8
RM
292912010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29292
29293 Support relative image path in theme file.
29294
29295 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29296 (image_set_property): Handle theme_dir and relative path.
29297
c7ef54aa
VS
292982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 * configure.ac: Alias amd64 to x86_64.
29301
fcee14ed
VS
293022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29303
29304 * NEWS: mention multiboot on EFI.
29305
d0780363
VS
293062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29307
29308 * kern/main.c (grub_load_modules): Handle errors from init functions of
29309 embeded modules.
29310
41168ea4
VS
293112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29312
29313 * normal/autofs.c (autoload_fs_module): Handle errors.
29314
b54d93ac
VS
293152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29316
29317 Disable linux.mod on qemu-mips since it's not functional and leads
29318 to compilation failure.
29319
29320 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29321 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29322 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29323 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29324 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29325 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29326 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29327 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29328 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29329 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29330 Reported by: BVK Chaitanya
29331
fc8345da
JU
293322010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29333
29334 * INSTALL: Add gettext as a dependency and add qemu to a new section
29335 "Prerequisites for make-check".
29336
4760f979
CF
293372010-03-04 Christian Franke <franke@computer.org>
29338
29339 * util/grub-pe2elf.c: Add missing include "progname.h".
29340
f209b5b2
VS
293412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29342
29343 * normal/crypto.c (read_crypto_list): Fix a typo.
29344 Reported by: Seth Goldberg.
29345
b4b7be98
VS
293462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29347
29348 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29349 Reported by: Seth Goldberg.
b4b7be98 29350
c0ee0385
VS
293512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29352
29353 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29354 ascii.bitmaps.
29355
a8efbf64
VS
293562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29357
29358 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29359 Reported by: Seth Goldberg.
a8efbf64 29360
08dcd913
VS
293612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29362
29363 * util/i386/efi/grub-install.in: Copy gettext files.
29364
c4d0b332
VS
293652010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29366
29367 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29368
c6f2fe52
VS
293692010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29370
29371 Wait for user entry basing on presence of output rather than on errors.
29372
29373 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29374 (grub_install_newline_hook): Likewise.
29375 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29376 * normal/menu.c (show_menu): Check line_counter to determine presence
29377 of output.
29378 * normal/term.c (grub_normal_line_counter): New variable.
29379 (grub_normal_get_line_counter): New function.
29380 (grub_install_newline_hook): Likewise.
29381
5382b1e4
VS
293822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29383
29384 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29385
5519963b
VS
293862010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 * configure.ac: Update version to 1.98.
29389
72b28631
VS
293902010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29391
29392 * util/grub.d/10_linux.in (linux_entry): Don't default to
29393 gfxpayload=keep if Linux doesn't support video handover.
29394
c140a180
VS
293952010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29396
29397 Don't compile video modules on yeeloong since video subsystem is part
29398 of kernel.
29399
29400 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29401 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29402 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29403 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29404 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29405 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29406 * include/grub/bitmap_scale.h: Likewise.
29407 * include/grub/bufio.h: Likewise.
29408 * include/grub/font.h: Likewise.
29409 * include/grub/gfxterm.h: Likewise.
29410 * include/grub/video.h: Likewise.
29411 * include/grub/vbe.h: Don't include video_fb.h.
29412 * video/i386/pc/vbe.c: Include video_fb.h.
29413 * commands/i386/pc/vbetest.c: Include video.h.
29414
a0ca21c2
CW
294152010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29416
29417 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29418 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29419 default entry if GRUB_SAVEDEFAULT=true. This allows using
29420 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29421 saving a new default on every boot.
29422
4a8a763c
VS
294232010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29424
29425 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29426 * normal/term.c (read_terminal_list): Likewise.
29427 * normal/main.c (grub_normal_init_page): Likewise.
29428 (grub_normal_read_line_real): Likewise.
29429
607ffde2
VS
294302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29431
29432 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29433 memory leak.
29434 Reported by: Seth Goldberg.
29435
2b8fa975
CW
294362010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29437
29438 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29439 duplicate declaration of `start'.
29440
618307dd
VS
294412010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29442
29443 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29444 filename.
29445 Reported by: Georgy Buranov
29446
7dd05b96 294472010-02-20 Carles Pina i Estany <carles@pina.cat>
29448
29449 * util/grub-mkrawimage.c (usage): Change string formatting to
29450 improve gettext.
29451
d1484a42
MRA
294522010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29453
29454 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29455 backspace keys.
29456
42b1d186
VS
294572010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29458
29459 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29460 Reported by: Michael Suchanek.
29461
294622010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29463
29464 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29465 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29466
d9f31a41
VS
294672010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29468
29469 Remove any reference to non-free fonts.
29470
29471 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29472 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29473 uses non-free components.
29474 * font/font.c (grub_font_get_name): Remove example name.
29475 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29476 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29477 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29478 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29479
2793c71e
GB
294802010-02-16 Georgy Buranov <gburanov@gmail.com>
29481
29482 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29483
402e3779
VS
294842010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29485
29486 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29487 Double divisor.
29488 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29489 features.
29490 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29491
0dd1e0dd
VS
294922010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29493
29494 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29495
6fa7cfce
ST
294962010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29497
29498 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29499 * docs/grub.texi (Command-line and menu entry commands): Document play
29500 command.
29501
37c8483b
ST
295022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29503
29504 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29505 parse arguments as inline tempo and notes. Move code for playing notes
29506 to...
29507 (play): ... new function.
29508
14da0fb7
ST
295092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29510
29511 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29512 grub_uint16_t instead of short.
29513 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29514 disk from little endian to cpu endianness.
29515
04459e70
ST
295162010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29517
29518 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29519 GRUB_TICKS_PER_SECOND instead of 120.
29520
a0876943
VS
295212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29522
29523 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29524 escape sequence after \e.
29525
e29f95dc
VS
295262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29527
29528 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29529 non-ASCII characters.
29530
d27859b2
VS
295312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29532
29533 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29534 set root in single quotes to prevent \, from being unescaped.
29535
bc028f2f
VS
295362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29537
29538 Prevent unknown commands from stopping menuentry execution.
29539
29540 * script/execute.c (grub_script_execute_cmdline): Print error after
29541 unknown command.
29542
095f5f82
VS
295432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29546 Reported by: Pavel Pisa.
29547
8c717950
VS
295482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29549
29550 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29551
904935c3
VS
295522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29553
29554 Merge grub_ieee1275_map_physical into grub_map and rename to
29555 grub_ieee1275_map
29556
29557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29558 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29559 Remove.
29560 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29561 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29562 necessary.
29563 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29564
5b59a4e3
VS
295652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29568 opening and not after.
29569
69e137e8
VS
295702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29571
29572 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29573 constants.
29574
2c0fcc36
VS
295752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29576
29577 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29578 (alloc_phys): Use ALIGN_UP instead of align_addr.
29579
8c6052ce
VS
295802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29581
29582 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29583
17cec782
VS
295842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29585
29586 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29587
e0128bbd
VS
295882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29589
29590 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29591 verbose dprintf.
29592
ca62070b
VS
295932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29594
29595 Fix over-4GiB seek on sparc64.
29596
29597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29598 Replace pos_i and pos_lo with pos. All users updated.
29599 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29600 New constant.
29601 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29602 Likewise.
29603 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29604 and pos_lo.
29605
bdca2607
VS
296062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29607
29608 * util/grub-mkrawimage.c (main): Call set_program_name.
29609
da278c4d
VS
296102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29611
29612 Properly align 64-bit targets.
29613
29614 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29615 (generate_image): Use ALIGN_ADDR.
29616
b274d734
VS
296172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29618
29619 Properly create cross-endian images.
29620
29621 * include/grub/types.h (grub_host_to_target_addr): New macro
29622 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29623
82da2062
VS
296242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29625
29626 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29627
7cae4377
VS
296282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29629
29630 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29631
29632 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29633 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29634 (grub_linux_boot): Divide by 64K when on VESA.
29635
65a533e7
VS
296362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29637
29638 Support GRUB_GFXPAYLOAD_LINUX.
29639
29640 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29641 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29642
dd01d397
VS
296432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29644
29645 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29646 to show messages instead of discarding them.
29647 Process errors after executing command and not before. Keep old method
29648 too as precaution.
29649
660960d6
VS
296502010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29651
29652 * configure.ac: Check for ft2build.h.
29653
62509f04
VS
296542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29655
29656 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29657
473df63d
VS
296582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29659
29660 * genkernsyms.sh.in: Use TARGET_CC.
29661
c98d2a13
CW
296622010-02-07 Colin Watson <cjwatson@ubuntu.com>
29663
29664 * NEWS: Update.
29665
6e14234c
VS
296662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29667
29668 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29669 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29670 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29671
b255e9cf
YB
296722010-02-07 Yves Blusseau <blusseau@zetam.org>
29673
6e14234c 29674 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29675
98e6959d
VS
296762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29677
29678 Fix warnings in grub-emu when compiling with maximum warning options.
29679
29680 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29681 (grub_arch_modules_addr): Return 0 and not NULL.
29682 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29683 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29684 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29685 of disk to dsk to avoid shadowing.
74e4934e
VS
29686 (find_free_slot): Fix prototype.
29687 * util/getroot.c (grub_util_is_dmraid): Make static.
29688 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29689 Add missing prototype.
29690 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29691
74e31b5c
VS
296922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29693
29694 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29695 appropriately.
29696
6b2ad14b
VS
296972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29698
29699 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29700 code out.
29701
8f891adc
VS
297022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29703
29704 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29705 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29706 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29707 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29708 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29709 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29710
74b45184
VS
297112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29712
29713 * include/grub/err.h (grub_err_printf): Don't export.
29714
a4bced77
VS
297152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29718
007d0695
VS
297192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29720
29721 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29722 * kern/misc.c (grub_gettext_dummy): Make static.
29723
b6c0d9c2
VS
297242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29725
29726 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29727 by non-valid ones.
29728 * kern/term.c (grub_putchar): Likewise.
29729
f51a90d0
VS
297302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29731
29732 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29733 buggy hook call and memory leak.
29734
6846cec5
VS
297352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29736
29737 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29738
468d69fe
VS
297392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29740
29741 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29742
51906b8c
VS
297432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29744
29745 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29746 modevar.
29747 Return grub_errno on allocation error.
29748
09706ce5
VS
297492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29750
29751 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29752
911df80c
YB
297532010-02-06 Yves Blusseau <blusseau@zetam.org>
29754
29755 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29756 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29757
3746a6bc
VS
297582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29759
29760 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29761 non-pxe disk.
29762 (grub_pxefs_open): Likewise.
29763
09706ce5
VS
297642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29765
29766 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29767 * util/grub.d/10_kfreebsd.in: Likewise.
29768 * util/grub.d/10_linux.in: Likewise.
29769
7cc192d9
VS
297702010-02-06 Colin D Bennett <colin@gibibit.com>
29771
29772 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29773 (gfxmenu_mod_SOURCES): New variable.
29774 (gfxmenu_mod_CFLAGS): Likewise.
29775 (gfxmenu_mod_LDFLAGS): Likewise.
29776 * include/grub/term.h (grub_term_set_current_output): Declare
29777 argument as const.
29778 * docs/gfxmenu-theme-example.txt: New file.
29779 * gfxmenu/gfxmenu.c: Likewise.
29780 * gfxmenu/gui_box.c: Likewise.
29781 * gfxmenu/gui_canvas.c: Likewise.
29782 * gfxmenu/gui_circular_progress.c: Likewise.
29783 * gfxmenu/gui_image.c: Likewise.
29784 * gfxmenu/gui_label.c: Likewise.
29785 * gfxmenu/gui_list.c: Likewise.
29786 * gfxmenu/gui_progress_bar.c: Likewise.
29787 * gfxmenu/gui_string_util.c: Likewise.
29788 * gfxmenu/gui_util.c: Likewise.
29789 * gfxmenu/icon_manager.c: Likewise.
29790 * gfxmenu/model.c: Likewise.
29791 * gfxmenu/named_colors.c: Likewise.
29792 * gfxmenu/theme_loader.c: Likewise.
29793 * gfxmenu/view.c: Likewise.
29794 * gfxmenu/widget-box.c: Likewise.
29795 * include/grub/gfxmenu_model.h: Likewise.
29796 * include/grub/gfxmenu_view.h: Likewise.
29797 * include/grub/gfxwidgets.h: Likewise.
29798 * include/grub/gui.h: Likewise.
29799 * include/grub/gui_string_util.h: Likewise.
29800 * include/grub/icon_manager.h: Likewise.
29801
298022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29803
29804 Agglomerate scrolling in gfxterm.
29805
29806 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29807 (grub_virtual_screen_setup): Initialise 'total_screen'.
29808 (write_char): Split to ...
29809 (paint_char): ... this ...
29810 (write_char): ... and this.
29811 (paint_char): Handle delayed scrolling.
29812 (draw_cursor): Likewise.
29813 (scroll_up): Split to ...
29814 (real_scroll): ... this ...
29815 (scroll_up): ... and this.
29816 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29817 characters.
29818 (grub_gfxterm_refresh): Call real_scroll.
29819
298202010-02-06 Colin D Bennett <colin@gibibit.com>
29821
29822 * include/grub/misc.h (grub_iscntrl): New inline function.
29823 (grub_isalnum): Likewise.
29824 (grub_strtol): Likewise.
29825
298262010-02-06 Colin D Bennett <colin@gibibit.com>
29827
29828 * normal/menu_text.c (get_entry_number): Move from here ...
29829 * normal/menu.c (get_entry_number): ... moved here.
29830 * include/grub/menu.h (grub_menu_get_default_entry_index):
29831 New prototype.
29832 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29833 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29834 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29835 (grub_menu_viewer_should_return): Likewise.
29836 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29837 * normal/menu_text.c (run_menu): Enable menu switching.
29838 * normal/menu_viewer.c (should_return): New variable.
29839 (menu_viewer_changed): Likewise.
29840 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29841 (grub_menu_viewer_should_return): New function.
29842 (menuviewer_write_hook): Likewise.
29843 (grub_menu_viewer_init): Likewise.
29844
298452010-02-06 Colin D Bennet <colin@gibibit.com>
298462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29847
29848 Support for gfxterm in a window.
29849
29850 * include/grub/gfxterm.h: New file.
29851 * include/grub/video.h (struct grub_video_rect): New declaration.
29852 (grub_video_rect_t): Likewise.
29853 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29854 (refcount): New variable.
29855 (render_target): Likewise.
29856 (window): Likewise.
29857 (repaint_callback): Likewise.
29858 (grub_virtual_screen_setup): Use 'render_target'.
29859 (init_window): New function.
29860 (grub_gfxterm_init_window): Likewise.
29861 (grub_gfxterm_init): Check reference counter.
29862 Use init_window.
29863 (destroy_window): New function.
29864 (grub_gfxterm_destroy_window): Likewise.
29865 (grub_gfxterm_fini): Check reference counter.
29866 Use destroy_window.
29867 (redraw_screen_rect): Restore viewport.
29868 Use 'render_target' and 'window'.
29869 Call 'repaint_callback'.
29870 (write_char): Use 'render_target'.
29871 (draw_cursor): Likewise.
29872 (scroll_up): Restore viewport.
29873 Use 'render_target' and 'window'.
29874 Call 'repaint_callback'.
29875 (grub_gfxterm_cls): Likewise.
29876 (grub_gfxterm_refresh): Use 'window'.
29877 (grub_gfxterm_set_repaint_callback): New function.
29878 (grub_gfxterm_background_image_cmd): Use 'window'.
29879 (grub_gfxterm_get_term): New function.
29880 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
29881
298822010-02-06 Colin D Bennett <colin@gibibit.com>
29883
29884 Bitmap scaling support.
29885
29886 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
29887 (bitmap_scale_mod_SOURCES): New variable.
29888 (bitmap_scale_mod_CFLAGS): Likewise.
29889 (bitmap_scale_mod_LDFLAGS): Likewise.
29890 * include/grub/bitmap_scale.h: New file.
29891 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
29892 (background_image_cmd_options): New variable.
29893 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
29894 (cmd): Rename and change type to ...
29895 (background_image_cmd_handle): ... this. All users updated.
29896 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
29897 * video/bitmap_scale.c: New file.
29898
298992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29900
29901 SDL support.
29902
29903 * Makefile.in (LIBSDL): New variable.
29904 (enable_grub_emu_sdl): Likewise.
29905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
29906 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
29907 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
29908 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
29909 * util/sdl.c: New file.
29910
299112010-02-06 Colin D Bennett <colin@gibibit.com>
299122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29913
29914 Double buffering support.
29915
29916 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
29917 * include/grub/video.h: Update comment.
29918 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
29919 New type.
29920 (grub_video_fb_doublebuf_blit_init): New prototype.
29921 * term/gfxterm.c (scroll_up): Support double buffering.
29922 (grub_gfxterm_refresh): Likewise.
29923 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
29924 (grub_video_fb_doublebuf_blit_init): Likewise.
29925 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
29926 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
29927 'displayed_page', 'render_page' and 'update_screen'.
29928 (grub_video_vbe_fini): Free offscreen buffer.
29929 (doublebuf_pageflipping_commit): New function.
29930 (doublebuf_pageflipping_update_screen): Likewise.
29931 (doublebuf_pageflipping_init): Likewise.
29932 (double_buffering_init): Likewise.
29933 (grub_video_vbe_setup): Enable doublebuffering.
29934 (grub_video_vbe_swap_buffers): Implement.
29935 (grub_video_vbe_set_active_render_target): Handle double buffering.
29936 (grub_video_vbe_get_active_render_target): Likewise.
29937 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
29938 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
29939 (grub_video_vbe_enable_double_buffering): Likewise.
29940 (grub_video_vbe_swap_buffers): Use update_screen.
29941 (grub_video_set_mode): Use double buffering.
29942
299432010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29944
29945 * maintainance/gentrigtables.py: Remove.
29946 * lib/trig.c: Likewise.
29947
29948 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
29949
29950 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
29951 `trigtables.c'.
29952 (trigtables.c): New rule.
29953 (gentrigtables): Likewise.
29954 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
29955
299562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29957
29958 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
29959 integer constants.
29960
299612010-02-06 Colin D Bennet <colin@gibibit.com>
29962
29963 Trigonometry support.
29964
29965 * include/grub/trig.h: New file.
29966 * lib/trig.c: Likewise.
29967 * maintainance/gentrigtables.py: Likewise.
29968 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
29969 (trig_mod_SOURCES): New variable.
29970 (trig_mod_CFLAGS): Likewise.
29971 (trig_mod_LDFLAGS): Likewise.
29972
5562834e
VS
299732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29974
29975 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
29976 disk devices.
29977
4f8528fc
VS
299782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29979
29980 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
29981 error.
29982
2b4068e9
VS
299832010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29984
29985 * util/hostdisk.c (open_device): Don't use partition device when reading
29986 before the partition.
29987 (grub_util_biosdisk_read): Don't read from partition and before the
29988 partition in single operation.
29989 (grub_util_biosdisk_write): Don't write to partition and before the
29990 partition in single operation.
29991
399f6e4d
TL
299922010-02-03 Torsten Landschoff <torsten@debian.org>
29993
29994 * kern/disk.c (grub_disk_read): Fix offset computation when reading
29995 last sectors.
29996
996649b0
VS
299972010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30000 CDROM reads.
30001 (grub_biosdisk_write): Refuse to write to CDROM.
30002
3b205d4d
VS
300032010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30006
61e89d9d
VS
300072010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30008
30009 * font/font.c (find_glyph): Check that bmp_idx is available before
30010 using it.
30011 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30012 with (font == NULL).
30013
bf7fcba2
CS
300142010-01-28 Christian Schmitt <chris@ilovelinux.de>
30015
30016 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30017
f45d2663
BC
300182010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30019
30020 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30021 * util/grub-script-check.c (getline): Fix empty lines case.
30022
ec1444e6
RM
300232010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30024
30025 * Makefile.in (check): Exit with fail status when one of the tests
30026 fails.
30027 * tests/example_functional_test.c (example_test): Fix reversed assert.
30028 * tests/example_unit_test.c (example_test): Likewise.
30029
2e1cb9bb
CW
300302010-01-28 Colin Watson <cjwatson@ubuntu.com>
30031
30032 * util/grub.d/10_linux.in: This script does not use any of the
30033 contents of gettext.sh, only the external command `gettext', so stop
30034 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30035 the same prefix as GRUB.)
30036 * util/grub.d/10_kfreebsd.in: Likewise.
30037
63533ab0
VS
300382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30039
30040 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30041 of the line.
30042
989e1f93
VS
300432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30044
30045 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30046 last sectors.
30047
e709ebe2
VS
300482010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30049
30050 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30051 having a 4KiB and not 32KiB buffer size.
30052
27dea7ed
RM
300532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30054
30055 * util/hostfs.c: Include `<errno.h>'.
30056 (grub_hostfs_read): Handle errors from fseeko() and fread().
30057
67667b9c
RM
300582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30059
30060 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30061 loop when using read hooks on files whose size isn't sector-aligned.
30062
c294d9d8
RM
300632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30064
30065 Remove unused parameter.
30066
30067 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30068 (grub_iso9660_open): Remove initialization of `data->length'.
30069
af75a9f1
RM
300702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30071
30072 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30073 memleak conditions.
30074
254e2ce5 300752010-01-27 Carles Pina i Estany <carles@pina.cat>
30076
30077 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30078 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30079
b510928c 300802010-01-26 Carles Pina i Estany <carles@pina.cat>
30081
30082 * util/bin2h.c (usage): Fix warning (space after backslash).
30083
aa2f9dd2 300842010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30085
30086 * font/font.c: Include `grub/fontformat.h.
30087 Remove font file format constants.
30088 (grub_font_load): Use the new macros.
30089 * include/grub/fontformat.h: New file.
30090 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30091 (write_font_pf2): Use the new macros.
30092
94e7e712
RM
300932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30094
30095 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30096 does.
30097
3973a59a
RM
300982010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30099
30100 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30101
30102 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30103 (_start): Macroify `0x7F'.
30104
30105 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30106 (make_install_device): Use "(pxe)" as fallback prefix when booting
30107 via PXE.
30108
42e0cba3
GS
301092010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 * configure.ac: Reset LIBS after check for libgcc symbols.
30112
847effd8
CW
301132010-01-25 Colin Watson <cjwatson@ubuntu.com>
30114
30115 * util/hostdisk.c (open_device): Add trailing newline to debug
30116 message.
30117
ea4a7e35
GS
301182010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30119
30120 * configure.ac: Check for `limits.h'.
30121 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30122
67951a53
RM
301232010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30124
30125 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30126 capitalize error strings.
30127
c273d4ce
ST
301282010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30129
30130 * util/grub.d/10_hurd.in: Add a recovery mode.
30131
69be5b74
VS
301322010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30133
30134 * configure.ac: Check for libgcc symbols with -nostdlib.
30135
fc9e5810
BC
301362010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30137
30138 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30139
4b358c0a
VS
301402010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30141
30142 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30143 stack since heap may be unavailable at that point.
30144 (grub_ofconsole_gotoxy): Likewise.
30145
454fcd1c
VS
301462010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30147
30148 * configure.ac: Check for _restgpr_14_x.
30149 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30150 and _savegpr_* prototypes.
30151
566863ca
RM
301522010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30153
30154 Use generic grub_reboot() for i386-efi.
30155
30156 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30157 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30158 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30159
bf86e59a
VS
301602010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30161
30162 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30163 presence of "prefix" variable as it breaks when normal.mod is
30164 embedded.
30165
d645e0f8
VS
301662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30167
30168 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30169 stack since heap is unavailable at that point.
30170
f9ab2e25
VS
301712010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30172
30173 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30174 (grub_freebsd_bootinfo): Rewritten.
30175 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30176
01fc7054
VS
301772010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30178
30179 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30180
caab4fd6
RM
301812010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30182
30183 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30184 domain now.
30185
67eb1427
FZ
301862010-01-20 Felix Zielcke <fzielcke@z-51.de>
30187
30188 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30189 around for handling "/" to the correct fix. Fix a memory leak. Use
30190 xstrdup instead of strdup.
30191
a9ed4ff3
VS
301922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30193
30194 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30195
301962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30197
30198 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30199
30200 * font/font.c (struct grub_font): New member 'bmp_idx'.
30201 (font_init): Initialise 'bmp_idx'.
30202 (load_font_index): Fill 'bmp_idx'.
30203 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30204
48209f4f
VS
302052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30206
30207 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30208 unnecessary calls.
30209
9f0a4bb7
VS
302102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30211
30212 Move context handling out of the kernel.
30213
30214 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30215 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30216 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30217 * conf/i386-efi.rmk: Likewise.
30218 * conf/i386-ieee1275.rmk: Likewise.
30219 * conf/i386-pc.rmk: Likewise.
30220 * conf/powerpc-ieee1275.rmk: Likewise.
30221 * conf/sparc64-ieee1275.rmk: Likewise.
30222 * conf/x86_64-efi.rmk: Likewise.
30223 * include/grub/env.h: Include grub/menu.h.
30224 (grub_env_var_type): Removed.
30225 (grub_env_var): Replaced field 'type' with 'global'.
30226 (grub_env_find): New prototype.
30227 (grub_env_context_open): Remove EXPORT_FUNC.
30228 (grub_env_context_close): Likewise.
30229 (grub_env_export): Likewise.
30230 (grub_env_set_data_slot): Removed.
30231 (grub_env_get_data_slot): Likewise.
30232 (grub_env_unset_data_slot): Likewise.
30233 (grub_env_unset_menu): New prototype.
30234 (grub_env_set_menu): Likewise.
30235 (grub_env_get_menu): Likewise.
30236 * include/grub/env_private.h: New file.
30237 * include/grub/normal.h (grub_context_init): New prototype.
30238 (grub_context_fini): Likewise.
30239 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30240 * normal/context.c (grub_cmd_export): ... to here.
30241 * kern/env.c: Include env_private.h.
30242 (HASHSZ): Moved to include/grub/env_private.h.
30243 (grub_env_context): Likewise.
30244 (grub_env_sorted_var): Likewise.
30245 (current_context): Renamed from this ...
30246 (grub_current_context): ...to this. 'static' removed. All users updated.
30247 (grub_env_find): Removed 'static'.
30248 (grub_env_context_open): Moved to normal/context.c.
30249 (grub_env_context_close): Likewise.
30250 (grub_env_export): Likewise.
30251 (mangle_data_slot_name): Removed.
30252 (grub_env_set_data_slot): Likewise.
30253 (grub_env_get_data_slot): Likewise.
30254 (grub_env_unset_data_slot): Likewise.
30255 * kern/main.c (grub_set_root_dev): Don't export root.
30256 It will be done later.
30257 (grub_main): Don't export prefix.
30258 It will be done later.
30259 * normal/context.c: New file.
30260 * normal/main.c (free_menu): Use grub_env_unset_menu.
30261 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30262 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30263 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30264 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30265
8dd35b8c
VS
302662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30267
30268 setpci support.
30269
30270 * commands/setpci.c: New file.
30271 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30272 (setpci_mod_SOURCES): New variable.
30273 (setpci_mod_CFLAGS): Likewise.
30274 (setpci_mod_LDFLAGS): Likewise.
30275
449193d5
VS
302762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30277
30278 Byte-addressable PCI configuration space.
30279
30280 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30281 dword address.
30282 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30283 GRUB_PCI_REG_CACHELINE.
30284 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30285 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30286 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30287 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30288 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30289 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30290 grub_pci_make_address.
30291 (lock_rom_area): Likewise.
30292 * commands/lspci.c (grub_lspci_iter): Use macroses
30293 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30294 of grub_pci_make_address.
30295 * disk/ata.c (grub_ata_pciinit): Likewise.
30296 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30297 (GRUB_PCI_REG_VENDOR): Likewise.
30298 (GRUB_PCI_REG_DEVICE): Likewise.
30299 (GRUB_PCI_REG_COMMAND): Likewise.
30300 (GRUB_PCI_REG_STATUS): Likewise.
30301 (GRUB_PCI_REG_REVISION): Likewise.
30302 (GRUB_PCI_REG_CLASS): Likewise.
30303 (GRUB_PCI_REG_CACHELINE): Likewise.
30304 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30305 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30306 (GRUB_PCI_REG_BIST): Likewise.
30307 (GRUB_PCI_REG_ADDRESSES): Likewise.
30308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30309 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30310 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30311 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30312 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30313 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30314 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30315 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30316 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30317 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30318 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30319 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30320 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30321 (GRUB_PCI_REG_MIN_GNT): Likewise.
30322 (GRUB_PCI_REG_MAX_LAT): Likewise.
30323 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30324 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30325 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30326 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30327 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30328 space.
30329
96d73208
RM
303302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30331
30332 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30333 can be reliably determined to be supported.
30334
d4484482
RM
303352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30336
30337 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30338 that VESA is supported.
30339 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30340 supported.
30341
00308ecf
VS
303422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30345
f66924a4
RM
303462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30347
30348 * util/misc.c (make_system_path_relative_to_its_root): Work around
30349 special-casing of "/", as previous incarnation of this routine did.
30350
cbca0ada
VS
303512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30352
30353 Fix any-emu compilation.
30354
30355 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30356 * grub_bin2h_SOURCES: New variable.
30357
34a66d99
RM
303582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30359
30360 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30361
94fabf58
RM
303622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30363
30364 * util/grub.d/00_header.in: Fix handling of locale_dir.
30365
02cf98ca
VS
303662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30367
30368 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30369 as possible unifont location (Gentoo).
30370 Reported by: Alexander Brüning
30371
327dbcd7
VS
303722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30373
30374 Don't try to generate lists for kernel.img.
30375
30376 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30377 (pkglib_MODULES): Remove kernel.img.
30378 (kernel_img_EXPORTS): Removed.
30379 (kernel_img_RELOCATABLE): New variable.
30380 * conf/x86_64-efi.rmk: Likewise.
30381 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30382
ca467290
VS
303832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30384
30385 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30386 grub_xasprintf or grub_snprintf.
30387 (grub_vsprintf): Likewise.
30388 (grub_snprintf): New proto.
30389 (grub_vsnprintf): Likewise.
30390 (grub_xasprintf): Likewise.
30391 (grub_xvasprintf): Likewise.
30392 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30393 (grub_sprintf): Removed.
30394 (grub_vsnprintf): New function.
30395 (grub_snprintf): Likewise.
30396 (grub_xvasprintf): Likewise.
30397 (grub_xasprintf): Likewise.
30398 (grub_vsprintf): Renamed to ...
30399 (grub_vsnprintf_real): ...this. New argument max_len.
30400
aca655fd
BC
304012010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30402
30403 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30404 fix grub-script-check warning.
30405
7ee92c32
VS
304062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30407
30408 * include/grub/font.h (grub_font_load): Fix prototype.
30409
f80927ca
VS
304102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30411
30412 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30413
119c50ea
VS
304142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 * include/grub/x86_64/at_keyboard.h: New file.
30417
47d5f3c1
VS
304182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30419
30420 * loader/mips/linux.c: Include missing grub/i18n.h.
30421
55ff5266
RM
304222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30423
30424 * normal/menu.c (notify_execution_failure): Clarify error message.
30425
c893cc87
RM
304262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30427
30428 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30429 return value (and revert all return statements). Update users.
30430
917dd370
CW
304312010-01-20 Dan Merillat <debian@dan.merillat.org>
30432
30433 * kern/device.c (grub_device_iterate): Allocate new part_ent
30434 structure based on sizeof (*p) rather than sizeof (p->next), to
30435 account for structure padding.
30436
30437 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30438 disk is NULL, which might happen for LVM physical volumes with no
30439 LVM signature.
30440
d4a4ee57
RM
304412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 * loader/mips/linux.c (grub_cmd_initrd)
30444 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30445
304462009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30447
30448 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30449 (grub_video_video_init, grub_video_bitmap_init)
30450 (grub_font_manager_init, grub_term_gfxterm_init)
30451 (grub_at_keyboard_init): New extern declarations.
30452 (grub_machine_init): Initialize gfxterm and at_keyboard.
30453
30454 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30455
30456 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30457 `gfxterm.mod' into core image.
30458
30459 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30460 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30461 (kernel_img_FORMAT): Copy to ...
30462
30463 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30464 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30465 (kernel_img_FORMAT): ... here, and ...
30466
30467 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30468 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30469 (kernel_img_FORMAT): ... here.
30470
30471 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30472 and input (at_keyboard) terminals in kernel.
30473 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30474
30475 (pkglib_MODULES): Remove `pci.mod'.
30476 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30477 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30478 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30479 (at_keyboard_mod_LDFLAGS): Remove variables.
30480
304812010-01-11 Felix Zielcke <fzielcke@z-51.de>
30482
30483 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30484
304852009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30486
30487 * include/grub/mips/libgcc.h: Only export symbols for functions
30488 that libgcc provides.
30489
304902009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30491
30492 MIPS support.
30493
30494 * bus/bonito.c: New file.
30495 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30496 GRUB_PCI_NUM_DEVICES.
30497 * term/i386/pc/serial.c: Move to ...
30498 * term/serial.c: ... here. All users updated.
30499 * util/i386/pc/grub-mkimage.c: Move to ...
30500 * util/grub-mkrawimage.c: ... here. All users updated.
30501 * term/i386/pc/at_keyboard.c: Move to ...
30502 * term/at_keyboard.c: ... here. All users updated.
30503 * conf/mips-qemu-mips.rmk: New file.
30504 * conf/mips-yeeloong.rmk: Likewise.
30505 * conf/mips.rmk: Likewise.
30506 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30507 mipsel-qemu-mips.
30508 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30509 to port addresses.
30510 (grub_ata_pciinit): Support CS5536.
30511 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30512 * font/font_cmd.c (loadfont_command): Open file before passing it to
30513 grub_font_load.
30514 (pseudo_file_read): New function.
30515 (pseudo_file_close): Likewise.
30516 (pseudo_fs): New structure.
30517 (load_font_module): New function.
30518 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30519 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30520 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30521 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30522 * include/grub/i386/at_keyboard.h: Split into ...
30523 * include/grub/at_keyboard.h: ... this ...
30524 * include/grub/i386/at_keyboard.h: ... and this.
30525 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30526 New prototype.
30527 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30528 updated.
30529 (grub_elf64_size): Likewise.
30530 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30531 filename.
30532 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30533 * include/grub/i386/coreboot/serial.h: Rewritten.
30534 * include/grub/i386/ieee1275/serial.h: Include
30535 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30536 * include/grub/i386/pc/serial.h: Moved from here ...
30537 * include/grub/serial.h: ... to here. All users updated.
30538 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30539 (GRUB_PCI_NUM_BUS): Likewise.
30540 (GRUB_PCI_NUM_DEVICES): Likewise.
30541 (grub_pci_device_map_range): Add missing volatile keyword.
30542 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30543 * include/grub/mips/at_keyboard.h: New file.
30544 * include/grub/mips/cache.h: Likewise.
30545 * include/grub/mips/io.h: Likewise.
30546 * include/grub/mips/kernel.h: Likewise.
30547 * include/grub/mips/libgcc.h: Likewise.
30548 * include/grub/mips/pci.h: Likewise.
30549 * include/grub/mips/qemu-mips/boot.h: Likewise.
30550 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30551 * include/grub/mips/qemu-mips/loader.h: Likewise.
30552 * include/grub/mips/qemu-mips/memory.h: Likewise.
30553 * include/grub/mips/qemu-mips/serial.h: Likewise.
30554 * include/grub/mips/qemu-mips/time.h: Likewise.
30555 * include/grub/mips/relocator.h: Likewise.
30556 * include/grub/mips/time.h: Likewise.
30557 * include/grub/mips/types.h: Likewise.
30558 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30559 * include/grub/mips/yeeloong/boot.h: Likewise.
30560 * include/grub/mips/yeeloong/kernel.h: Likewise.
30561 * include/grub/mips/yeeloong/loader.h: Likewise.
30562 * include/grub/mips/yeeloong/memory.h: Likewise.
30563 * include/grub/mips/yeeloong/pci.h: Likewise.
30564 * include/grub/mips/yeeloong/serial.h: Likewise.
30565 * include/grub/mips/yeeloong/time.h: Likewise.
30566 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30567 * kern/elf.c (grub_elf32_size): New parameter. All users
30568 updated.
30569 (grub_elf64_size): Likewise.
30570 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30571 Load modules before saying "Welcome to GRUB!".
30572 Call grub_refresh after saying "Welcome to GRUB!".
30573 * kern/mips/cache.S: New file.
30574 * kern/mips/cache_flush.S: Likewise.
30575 * kern/mips/dl.c: Likewise.
30576 * kern/mips/init.c: Likewise.
30577 * kern/mips/qemu-mips/init.c: Likewise.
30578 * kern/mips/startup.S: Likewise.
30579 * kern/mips/yeeloong/init.c: Likewise.
30580 * kern/term.c (grub_putcode): Handle NULL terminal.
30581 (grub_getcharwidth): Likewise.
30582 (grub_getkey): Likewise.
30583 (grub_checkkey): Likewise.
30584 (grub_getkeystatus): Likewise.
30585 (grub_getxy): Likewise.
30586 (grub_getwh): Likewise.
30587 (grub_gotoxy): Likewise.
30588 (grub_cls): Likewise.
30589 (grub_setcolorstate): Likewise.
30590 (grub_setcolor): Likewise.
30591 (grub_getcolor): Likewise.
30592 (grub_refresh): Likewise.
30593 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30594 (write_jump): Add hatch nop.
30595 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30596 * lib/mips/setjmp.S: New file.
30597 * loader/mips/linux.c: Likewise.
30598 * term/i386/pc/at_keyboard.c: Move from here ...
30599 * term/at_keyboard.c: ... to here.
30600 * term/i386/pc/serial.c: Moved from here ...
30601 * term/serial.c: ... to here. All users updated.
30602 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30603 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30604 (serial_translate_key_sequence): Avoid deadlock.
30605 (grub_serial_getkey): Handle backspace.
30606 (grub_serial_putchar): Fix newline handling.
30607 * util/i386/pc/grub-mkimage.c: Move from here ...
30608 * util/grub-mkrawimage.c: ... to here. All users updated.
30609 (generate_image): New parameters 'font_path' and 'format'.
30610 Support embedding font.
30611 Use grub_host_to_target* instead of grub_cpu_to_le*.
30612 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30613 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30614 (options): New option "--font".
30615 (usage): Likewise.
30616 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30617 (main): Handle "--font".
30618 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30619 (grub_virtual_screen_setup): Set bg_color_display.
30620 (redraw_screen_rect): Use bg_color_display instead of incorrect
30621 bg_color.
30622 (grub_gfxterm_cls): Likewise.
30623 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30624 Support embedding config file.
30625 (add_segments): Likewise.
30626 (options): New option "--config".
30627 (main): Handle "--config".
30628 * video/sm712.c: New file.
30629
25c2b5b3
RM
306302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30631
30632 Fix parallel builds.
30633
30634 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30635 font.c depend on ascii.h).
30636
306372010-01-12 Carles Pina i Estany <carles@pina.cat>
30638
30639 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30640
306412010-01-11 Carles Pina i Estany <carles@pina.cat>
30642
30643 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30644 By default: disabled.
30645 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30646 parameter.
30647
306482010-01-10 Carles Pina i Estany <carles@pina.cat>
30649
30650 * font/font.c: Update copyright years.
30651 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30652
306532010-01-10 Carles Pina i Estany <carles@pina.cat>
30654
30655 * font/font.c: Include `ascii.h'.
30656 (ASCII_BITMAP_SIZE): New macro.
30657 (ascii_font_glyph): Define.
30658 (ascii_glyph_lookup): New function.
30659 (grub_font_get_string_width): Change comment. If glyph not found, use
30660 ascii_glyph_lookup.
30661 (grub_font_get_glyph_with_fallback): If glyph not available returns
30662 ascii_glyph_lookup.
30663 * util/grub-mkfont.c (file_formats): New enum.
30664 (options): Add `ascii-bitmaps' new option.
30665 (usage): Add `asii-bitmaps' new option.
30666 (write_font_ascii_bitmap): New function.
30667 (write_font): Rename to ...
30668 (write_font_p2): ... this. Remove print_glyphs call.
30669 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30670 used. Call print_glyphs.
30671 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30672
306732010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30674
30675 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30676 (grub_bin2h_SOURCES): New variable.
30677 * util/bin2h.c: New file.
30678
915fc1b8
VS
306792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30680
30681 * include/multiboot.h: Resynced with spec.
30682 * include/multiboot2.h: Likewise.
30683 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30684 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30685
9444b678
RM
306862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30687
30688 * include/grub/term.h (grub_term_register_input,
30689 grub_term_register_output): Check return of terminal init()
30690 routines, and abort if errors are raised.
30691
30692 * commands/terminal.c: Update copyright year.
30693
cba98e8d
RM
306942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30695
30696 * commands/terminal.c (grub_cmd_terminal_input)
30697 (grub_cmd_terminal_output): Check return of terminal init()
30698 routines, and abort if errors are raised.
30699
6f7db5d6
VS
307002010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30701
30702 * include/grub/i386/bsd.h: Fix include pathes.
30703
262bff8d
VS
307042010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30705
30706 Add missing *BSD copyright headers.
30707
30708 * include/grub/aout.h: Add BSD licence.
30709 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30710 * include/grub/i386/freebsd_linker.h: ... here,
30711 * include/grub/i386/freebsd_reboot.h: ... here,
30712 * include/grub/i386/netbsd_bootinfo.h: ... here,
30713 * include/grub/i386/netbsd_reboot.h: ... here,
30714 * include/grub/i386/openbsd_bootarg.h: ... here,
30715 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30716 licence to each file.
30717
b2cab848
RM
307182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30719
30720 * acinclude.m4: Remove `nop' assembly instruction; it's not
30721 implemented by all architectures.
30722
2cb6be4b
RM
307232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30724
30725 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30726 ELILO. This is no longer necessary.
30727
a2eaee15
BC
307282010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30729
30730 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30731
30732 * util/grub-script-check.c: grub-script-check tool.
30733 * conf/common.rmk: Make rules for grub-script-check.
30734
88d17012
RM
307352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30736
30737 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30738 spotting it back in 2008. Shame on me for forgetting he did.
30739
30740 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30741
8040619d
RM
307422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30743
30744 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30745 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30746 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30747 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30748 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30749 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30750
a0c2a0f6
RM
307512010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30752
30753 * include/grub/test.h: Add license header.
30754 * tests/example_functional_test.c: Likewise.
30755 * tests/example_unit_test.c: Likewise.
30756 * tests/lib/functional_test.c: Likewise.
30757 * tests/lib/test.c: Likewise.
30758 * tests/lib/unit_test.c: Likewise.
30759
b0b13907
VS
307602010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30761
30762 Use flag-based instead of hook-based video mode selection and "auto"
30763 keyword.
30764
30765 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30766 (grub_video_set_mode): Changed prototype. All users updated.
30767 (grub_video_check_mode_flag): New inline function.
30768 * video/video.c (parse_modespec): New function.
30769 (grub_video_set_mode): Parse flags and keywords.
30770
ea379330 307712010-01-17 Carles Pina i Estany <carles@pina.cat>
30772
30773 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30774 fprintf call.
30775
e15c215e
FZ
307762010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30777
30778 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30779
409ae1c9 307802010-01-16 Carles Pina i Estany <carles@pina.cat>
30781
30782 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30783 string.
30784 * util/grub-emu.c (usage): Likewise.
30785 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30786 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30787 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30788 * util/i386/pc/grub-setup.c (usage): Likewise.
30789
70a14d3d 307902010-01-16 Carles Pina i Estany <carles@pina.cat>
30791
30792 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30793 the message.
30794 (grub_util_info): Likewise.
30795 (grub_util_error): Likewise.
30796 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30797 and/or new lines in `grub_util_warna', `grub_util_info',
30798 `grub_util_error' calls.
30799 * util/getroot.c: Likewise.
30800 * util/grub-editenv.c: Likewise.
30801 * util/grub-emu.c: Likewise.
30802 * util/grub-fstest.c: Likewise.
30803 * util/grub-mkdevicemap.c: Likewise.
30804 * util/grub-mkfont.c: Likewise.
30805 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30806 * util/grub-mkrelpath.c: Likewise.
30807 * util/grub-pe2elf.c: Likewise.
30808 * util/grub-probe.c: Likewise.
30809 * util/hostdisk.c: Likewise.
30810 * util/i386/efi/grub-mkimage.c: Likewise.
30811 * util/i386/pc/grub-mkimage.c: Likewise.
30812 * util/i386/pc/grub-setup.c: Likewise.
30813 * util/ieee1275/ofpath.c: Likewise.
30814 * util/mkisofs/eltorito.c: Likewise.
30815 * util/mkisofs/rock.c: Likewise.
30816 * util/mkisofs/write.c: Likewise.
30817 * util/raid.c: Likewise.
30818 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30819 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30820
a0b766fc
VS
308212010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30822
30823 Enable multiboot on non-pc.
30824
30825 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30826 multiboot.mod and multiboot2.mod to ...
30827 * conf/i386.rmk (pkglib_MODULES): ... here.
30828 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30829 Moved to ...
30830 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30831 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30832 Moved to ...
30833 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30834 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30835 Moved to ...
30836 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30837 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30838 Moved to ...
30839 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30840 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30841 relocator.mod.
30842 (ata_mod_SOURCES): Removed.
30843 (ata_mod_CFLAGS): Likewise.
30844 (ata_mod_LDFLAGS): Likewise.
30845 (relocator_mod_SOURCES): Removed.
30846 (relocator_mod_CFLAGS): Likewise.
30847 (relocator_mod_ASFLAGS): Likewise.
30848 (relocator_mod_LDFLAGS): Likewise.
30849 Include i386.mk.
30850 * include/grub/x86_64/multiboot.h: New file.
30851 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30852 Terminate EFI.
30853
884ade56
VS
308542010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30855
30856 Video multiboot support.
30857
30858 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
30859 New prototype.
30860 * include/multiboot.h: Resynced with multiboot specification.
30861 * include/multiboot2.h: Likewise.
30862 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
30863 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
30864 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
30865 (HAS_VGA_TEXT): Likewise.
30866 (accepts_video): New variable.
30867 (grub_multiboot_set_accepts_video): New function.
30868 (grub_multiboot_get_mbi_size): Account for video structures.
30869 (set_video_mode): New function.
30870 (retrieve_video_parameters): Likewise.
30871 (grub_multiboot_make_mbi): Fill video fields.
30872
0d90e8a6
VS
308732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30874
30875 Video driver ids.
30876
30877 * include/grub/video.h (grub_video_driver_id): New type.
30878 (grub_video_adapter): New member 'id'. All users updated.
30879 (grub_video_get_driver_id): New proto.
30880 * video/video.c (grub_video_get_driver_id): New function.
30881
5c71db1b 308822010-01-14 Carles Pina i Estany <carles@pina.cat>
30883
30884 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
30885 `var=val'.
30886
cca15b52 308872010-01-14 Carles Pina i Estany <carles@pina.cat>
30888
30889 * normal/cmdline.c (print_completion): Gettextizze.
30890
c586fbb2 308912001-01-14 Carles Pina i Estany <carles@pina.cat>
30892
30893 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
30894
ba2f6848 308952010-01-14 Carles Pina i Estany <carles@pina.cat>
30896
30897 * gettext/gettext.c (grub_gettext_translate): Push and pop
30898 grub_errno.
30899 (grub_gettext_delete_list): Change comment style.
30900 * kern/err.c (grub_error): Gettextizze.
30901 (grub_fatal): Gettextizze.
30902
0a46429a
RM
309032010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30904
30905 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
30906 (grub_linux16_real_boot): ... this.
30907 * kern/i386/loader.S: Likewise.
30908 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
30909 (grub_linux16_boot): New function. Switches to text mode and calls
30910 grub_linux16_real_boot().
30911
30912 * loader/i386/bsd.c: Include `<grub/video.h>'.
30913 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
30914 text mode before calling grub_unix_real_boot().
30915
30916 * loader/i386/multiboot.c: Include `<grub/video.h>'.
30917 (grub_multiboot_boot): Switch to text mode before calling
30918 grub_relocator32_boot().
30919
30920 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
30921 (grub_chainloader_boot): Switch to text mode before calling
30922 grub_chainloader_real_boot().
30923
d6f93a66
RM
309242010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
309252010-01-05 Colin Watson <cjwatson@ubuntu.com>
30926
30927 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
30928 non-empty value.
30929
309302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
309312010-01-05 Colin Watson <cjwatson@ubuntu.com>
30932
30933 * util/grub.d/00_header.in: Define a "savedefault" function for use
30934 in menu entries.
30935 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
30936
309372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
309382010-01-05 Colin Watson <cjwatson@ubuntu.com>
30939
30940 * util/grub-mkconfig_lib.in (save_default_entry): Only set
30941 saved_entry if boot_once is unset.
30942 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
30943 previous saved entry (i.e. grub-reboot).
30944
309452009-12-08 Colin Watson <cjwatson@ubuntu.com>
30946
30947 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
30948
309492009-12-08 Colin Watson <cjwatson@ubuntu.com>
30950
30951 * util/grub.d/00_header.in: Use `set var=val' rather than plain
30952 `var=val'.
30953 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
30954
309552009-12-08 Colin Watson <cjwatson@ubuntu.com>
30956
30957 * util/grub-reboot.in: Fix --version output.
30958 * util/grub-set-default.in: Likewise.
30959
309602009-12-08 Colin Watson <cjwatson@ubuntu.com>
30961
30962 * util/grub.d/00_header.in: Silently ignore zero-sized environment
30963 blocks.
30964
309652009-12-08 Colin Watson <cjwatson@ubuntu.com>
30966
30967 * util/grub.d/00_header.in: Quote the value assigned to `default',
30968 in case it contains spaces.
30969
309702009-12-08 Colin Watson <cjwatson@ubuntu.com>
30971
30972 * util/grub.d/30_os-prober.in: Fix merge error that moved a
30973 `save_default_entry' call from the macosx case to the linux case.
30974
309752009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
309762009-10-25 Colin Watson <cjwatson@ubuntu.com>
30977
30978 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
30979 in `chosen' environment variable.
30980 * normal/menu_text.c (get_entry_number): Check if the variable
30981 matches the title of a menu entry.
30982 (run_menu): Pass menu to get_entry_number.
30983
30984 * util/grub-reboot.in: New file.
30985 * util/grub-set-default.in: New file.
30986 * conf/common.rmk (grub-reboot): New utility.
30987 (grub-set-default): New utility.
30988
30989 * util/grub-mkconfig_lib.in (save_default_entry): New function.
30990 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
30991 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
30992 move it to `saved_entry' for the next boot. Load environment on
30993 initialisation.
30994 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
30995 * util/grub.d/10_hurd.in: Likewise.
30996 * util/grub.d/10_linux.in (linux_entry): Likewise.
30997 * util/grub.d/10_windows.in: Likewise.
30998 * util/grub.d/30_os-prober.in: Likewise.
30999
31000 * util/grub-install.in: Create environment block.
31001 * util/i386/efi/grub-install.in: Likewise.
31002 * util/ieee1275/grub-install.in: Likewise.
31003 * util/sparc64/ieee1275/grub-install.in: Likewise.
31004
0934d184
BC
310052010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31006
31007 Unit testing framework for GRUB.
31008
31009 * Makefile.in: Test framework build rules for 'make check'.
31010 * conf/tests.rmk: Build rules for individual tests and framework.
31011
31012 * include/grub/test.h: Header file for whitebox tests.
31013 * tests/lib/functional_test.c: Framework support for whitebox
31014 functional tests.
31015 * tests/lib/test.c: Common whitebox testing code for unit and
31016 functional tests.
31017 * tests/lib/unit_test.c: Framework support for whitebox unit
31018 tests.
31019
31020 * tests/util/grub-shell-tester.in: Support utility for grub-script
31021 tests.
31022 * tests/util/grub-shell.in: Utility to execute grub-script
31023 commands in a Qemu instance.
31024
31025 * tests/example_functional_test.c: Example whitebox functional
31026 test.
31027 * tests/example_grub_script_test.in: Example grub-script test.
31028 * tests/example_scripted_test.in: Example scripted test.
31029 * tests/example_unit_test.c: Example whitebox unit test.
31030
9c4ffeeb
VS
310312010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31032
31033 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31034 Add loader/i386/multiboot_mbi.c.
31035 (multiboot2_mod_SOURCES): Likewise.
31036 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31037 (multiboot2_mod_SOURCES): Likewise.
31038 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31039 (grub_multiboot_make_mbi): Likewise.
31040 (grub_multiboot_free_mbi): Likewise.
31041 (grub_multiboot_init_mbi): Likewise.
31042 (grub_multiboot_add_module): Likewise.
31043 (grub_multiboot_set_bootdev): Likewise.
31044 * loader/i386/multiboot.c (mbi): Removed.
31045 (mbi_dest): Likewise.
31046 (alloc_mbi): New variable.
31047 (grub_multiboot_payload_size): Removed. All users updated.
31048 (grub_multiboot_pure_size): New variable.
31049 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31050 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31051 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31052 (grub_fill_multiboot_mmap): Likewise.
31053 (grub_multiboot_get_bootdev): Likewise.
31054 (grub_multiboot): Use multiboot_mbi functions.
31055 * loader/i386/multiboot_mbi.c: New file.
31056
17383dfe
VS
310572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31058
31059 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31060 it would result in module crash.
31061
c1f28820
VS
310622010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31063
31064 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31065 (grub_ofconsole_getwh): Split to ...
31066 (grub_ofconsole_getwh): ... this.
31067 (grub_ofconsole_dimensions): ...and this.
31068 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31069
58655a16
RM
310702010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31073
10891398
VS
310742010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31075
31076 * loader/i386/pc/multiboot2.c: Removed stalled file.
31077
0b8a223c
VS
310782010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31079
31080 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31081 Reported by: Grégoire Sutre
31082
92ab12b0
RM
310832010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31084
31085 * util/misc.c (canonicalize_file_name): New function.
31086 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31087 instead of realpath().
31088
a788afb6
CW
310892010-01-11 Colin Watson <cjwatson@ubuntu.com>
31090
31091 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31092 and make it clearer that it's optional. Based on confusion
31093 witnessed on IRC.
31094
ffa8e3d2
VS
310952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31096
31097 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31098 in premature implicit newline.
31099
e9060a9d
VS
311002010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31101
31102 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31103 which resulted in garbled command line at the end of screen.
31104
f0d0c0b7
RM
311052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31106
31107 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31108 initialization with similar approach as with other Linux loaders.
31109
0e60bae7
RM
311102010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31111
31112 Fix i386-ieee1275 build.
31113
31114 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31115 and grub_term_height() for video_{width,height} initialization.
31116
311172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
31118
31119 Fix grub-emu build.
31120
31121 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31122
cdb3f378
RM
311232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
311242010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31125
31126 Support for multiple terminals.
31127
31128 * Makefile.in (pkglib_DATA): terminal.lst.
31129 (terminal.lst): New target.
31130 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31131 (GRUB_MOD_INIT(handler)): Likewise.
31132 (GRUB_MOD_FINI(handler)): Likewise.
31133 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31134 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31135 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31136 (grub_cmd_sleep): Use grub_term_save_pos.
31137 * commands/terminal.c: New file.
31138 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31139 commands/terminal.c and lib/charset.c.
31140 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31141 (pkglib_MODULES): Add terminal.mod.
31142 (terminal_mod_SOURCES): New variable.
31143 (terminal_mod_CFLAGS): Likewise.
31144 (terminal_mod_LDFLAGS): Likewise.
31145 * genhandlerlist.sh: Don't handle terminals.
31146 * genmk.rb: Generate terminal-*.lst.
31147 * genterminallist.sh: New file.
31148 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31149 (grub_is_valid_utf8): Likewise.
31150 (grub_utf8_to_ucs4_alloc): Likewise.
31151 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31152 (grub_menu_register_viewer): Changed argument.
31153 (grub_menu_try_text): New proto.
31154 (grub_gfxmenu_try_hook): New declaration.
31155 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31156 (grub_menu_init_page): Additional argument term.
31157 (grub_normal_init_page): Likewise.
31158 (grub_cmdline_get): Arguments simplified.
31159 (grub_utf8_to_ucs4_alloc): Removed.
31160 (grub_print_ucs4): Additional argument term.
31161 (grub_getstringwidth): Likewise.
31162 (grub_print_message_indented): Likewise.
31163 (grub_menu_text_register_instances): New proto.
31164 (grub_show_menu): Likewise.
31165 (read_terminal_list): Likewise.
31166 (grub_set_more): Likewise.
31167 * include/grub/parser.h: Include handler.h.
31168 * include/grub/reader.h: Rewritten.
31169 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31170 (GRUB_TERM_WIDTH): Changed to function.
31171 (GRUB_TERM_HEIGHT): Likewise.
31172 (GRUB_TERM_BORDER_WIDTH): Likewise.
31173 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31174 (GRUB_TERM_NUM_ENTRIES): Likewise.
31175 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31176 (GRUB_TERM_CURSOR_X): Likewise.
31177 (grub_term_input_class): Likewise.
31178 (grub_term_output_class): Likewise.
31179 (grub_term_outputs_disabled): New declaration.
31180 (grub_term_inputs_disabled): Likewise.
31181 (grub_term_outputs): Likewise.
31182 (grub_term_inputs): Likewise.
31183 (grub_term_register_input): Rewritten.
31184 (grub_term_register_output): Likewise.
31185 (grub_term_unregister_input): Likewise.
31186 (grub_term_unregister_output): Likewise.
31187 (FOR_ACTIVE_TERM_INPUTS): New macro.
31188 (FOR_DISABLED_TERM_INPUTS): Likewise.
31189 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31190 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31191 * include/grub/terminfo.h: Add oterm argument to all protypes.
31192 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31193 Use grub_rescue_run.
31194 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31195 All users updated.
31196 * kern/reader.c: Removed. All users updated.
31197 * kern/rescue_reader.c (grub_rescue_init): Removed.
31198 (grub_rescue_reader): Likewise.
31199 (grub_register_rescue_reader): Likewise.
31200 (grub_rescue_run): New function based on kern/reader.c.
31201 * kern/term.c: Adapted for multiterm.
31202 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31203 (grub_is_valid_utf8): Likewise.
31204 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31205 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31206 right terminal.
31207 * loader/i386/linux.c (grub_linux_boot): Likewise.
31208 * normal/auth.c (grub_username_get): New function.
31209 (grub_auth_check_authentication): Use grub_username_get.
31210 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31211 * normal/color.c: Adapt for multiterm.
31212 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31213 (grub_normal_init_page): Additional argument term.
31214 (read_lists): Call read_terminal_lists.
31215 (grub_enter_normal_mode): Call grub_cmdline_run.
31216 Handle grub_normal_exit_level.
31217 (grub_cmd_normal): Make reentrant.
31218 (grub_cmd_normal_exit): New function.
31219 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31220 * normal/menu.c: Adapt for multiterm.
31221 * normal/menu_entry.c: Likewise.
31222 * normal/menu_text.c: Likewise.
31223 * normal/menu_viewer.c: Removed. All users updated.
31224 * normal/term.c: New file.
31225 * util/console.c: Change order of includes to workaround a bug in
31226 ncurses headers.
31227 * term/terminfo.c: New argument oterm on all exported functions.
31228 All users updated.
31229 * util/grub-editenv.c (grub_term_input_class): Removed.
31230 (grub_term_output_class): Likewise.
31231
1a064917
RM
312322010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31233
31234 Make loader output a bit more user-friendly.
31235
31236 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31237 is being loaded. Likewise for the Hurd.
31238
31239 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31240 that kernel of FreeBSD ${version} is being loaded.
31241
31242 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31243 grub_dprintf().
31244 (grub_cmd_initrd): Likewise.
31245 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31246 that Linux ${version} is being loaded. Likewise for initrd.
31247
5ce0a83a 312482010-01-09 Carles Pina i Estany <carles@pina.cat>
31249
31250 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31251
809bbfeb 312522010-01-08 Carles Pina i Estany <carles@pina.cat>
31253
31254 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31255 (GRUB_MOD_INIT): Gettextizze.
31256 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31257 (GRUB_MOD_INIT): Gettextizze.
31258 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31259 (grub_cmd_linux): Capitalise Linux.
31260 (GRUB_MOD_INIT): Gettextizze.
31261 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31262 (grub_cmd_linux): Capitalise Linux.
31263 (GRUB_MOD_INIT): Gettextizze.
31264 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31265 (grub_cmd_linux): Capitalise Linux.
31266 (GRUB_MOD_INIT): Gettextizze.
31267 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31268 (GRUB_MOD_INIT): Gettextizze.
31269 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31270 (grub_cmd_linux): Capitalise Linux.
31271 (GRUB_MOD_INIT): Gettextizze.
31272 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31273 (grub_cpu_xnu_init): Gettextizze.
31274 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31275 (GRUB_MOD_INIT): Gettextizze.
31276 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31277 (GRUB_MOD_INIT): Gettextizze.
31278 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31279 (grub_linux_load64): Capitalise Linux.
31280 (GRUB_MOD_INIT): Gettextizze.
31281 * loader/xnu.c: Include `<grub/i18n.h>'.
31282 (GRUB_MOD_INIT): Gettextizze.
31283 * po/POTFILES: Add `loader/efi/appleloader.c',
31284 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31285 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31286 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31287 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31288 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31289 and `loader/xnu.c'.
31290
b394b2ca
RM
312912010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31292
31293 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31294
312952010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31296
31297 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31298 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31299 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31300
bc8b32b3
RM
313012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31302
31303 Reset Multiboot 2 support. New loader implements the draft in
31304 /branches/multiboot2 and shares as much code as possible with the
31305 production Multiboot 1 implementation.
31306
31307 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31308 * loader/multiboot2.c: Likewise.
31309 * loader/i386/multiboot_helper.S: Likewise.
31310 * include/multiboot2.h: Replace with latest version from the draft
31311 in /branches/multiboot2.
31312
31313 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31314 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31315 and `loader/multiboot2.c'.
31316 (pkglib_MODULES): Add `multiboot2.mod'.
31317 (multiboot2_mod_SOURCES): New variable.
31318 (multiboot2_mod_LDFLAGS): Likewise.
31319 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31320
31321 * conf/i386-pc.rmk: Likewise.
31322
31323 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31324 (multiboot_mod_SOURCES): Remove variable.
31325 (multiboot_mod_LDFLAGS): Likewise.
31326 (multiboot_mod_CFLAGS): Likewise.
31327
31328 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31329 `<multiboot2.h>' instead of `<multiboot.h>'.
31330 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31331 (MULTIBOOT_HEADER_MAGIC): New macros.
31332
31333 * loader/multiboot_loader.c (module_version_status): Remove variable.
31334 (find_multi_boot2_header): Remove function.
31335 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31336 logic. Always check for the Multiboot version we're compiling for.
31337 (grub_cmd_module_loader): Likewise.
31338 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31339 command instead of `multiboot'.
31340
5d2c52b8
RM
313412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31342
31343 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31344 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31345 all users.
31346
53108d92
RM
313472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
313482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31349
31350 Fix breakage introduced with previous commit.
31351
31352 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31353 commands.
31354 * normal/handler.c (read_handler_list): Revert part of previous commit
31355 affecting this file.
31356 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31357 (grub_normal_execute): ... here.
31358
e2e936b2
RM
313592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31360
31361 Merge prefix-redefinition-fix branch.
31362
31363 * normal/autofs.c (read_fs_list): Make function capable of being
31364 run multiple times, gracefuly replacing the previous data
31365 structures.
31366 * normal/dyncmd.c (read_command_list): Likewise.
31367 * normal/handler.c (read_handler_list): Likewise.
31368 * normal/main.c (read_lists): New function. Calls all the
31369 list reading functions.
31370 (grub_normal_execute): Use read_lists() instead of calling all
31371 list reading functions explicitly. Register read_lists() as a
31372 variable hook attached to ${prefix}.
31373
607a3701
VS
313742010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31375
31376 Merge crypto branch.
31377
31378 * Makefile.in (pkglib_DATA): Add crypto.lst.
31379 (crypto.lst): New target.
31380 * commands/hashsum.c: New file.
31381 * commands/password.c (check_password): Use grub_crypto_memcmp.
31382 * commands/password_pbkdf2.c: New file.
31383 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31384 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31385 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31386 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31387 -I$(srcdir)/lib/libgcrypt_wrap.
31388 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31389 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31390 password_pbkdf2.mod.
31391 (crypto_mod_SOURCES): New variable.
31392 (crypto_mod_CFLAGS): Likewise.
31393 (crypto_mod_LDFLAGS): Likewise.
31394 (hashsum_mod_SOURCES): New variable.
31395 (hashsum_mod_CFLAGS): Likewise.
31396 (hashsum_mod_LDFLAGS): Likewise.
31397 (pbkdf2_mod_SOURCES): New variable.
31398 (pbkdf2_mod_CFLAGS): Likewise.
31399 (pbkdf2_mod_LDFLAGS): Likewise.
31400 (password_pbkdf2_mod_SOURCES): New variable.
31401 (password_pbkdf2_mod_CFLAGS): Likewise.
31402 (password_pbkdf2_mod_LDFLAGS): Likewise.
31403 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31404 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31405 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31406 Include conf/gcry.rmk.
31407 * include/grub/auth.h: Rewritten.
31408 * include/grub/crypto.h: New file.
31409 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31410 * include/grub/normal.h (read_crypto_list): New prototype.
31411 * lib/crypto.c: New file.
31412 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31413 * lib/pbkdf2.c: Likewise.
31414 * normal/auth.c (grub_auth_strcmp): Removed.
31415 (grub_iswordseparator): Likewise.
31416 (grub_auth_strword): Likewise.
31417 (is_authenticated): Use grub_strword.
31418 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31419 and grub_strword. Pass entered password to authentication callback.
31420 * normal/crypto.c: New file.
31421 * normal/main.c: Call read_crypto_list.
31422 * util/grub-mkpasswd-pbkdf2.c: New file.
31423 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31424
42841caa
VS
314252010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31426
31427 Fix descent and ascent calculation.
31428
31429 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31430 (options): New option "asce".
31431 (usage): Likewise.
31432 (add_char): Ignore invalid glyphs for descent calculation.
31433 Calculate ascent from actual content.
31434 (print_glyphs): Use 'asce'.
31435 (write_font): Likewise. Allow ascent override.
31436 (main): Handle "asce" option.
31437
e7730de7 314382010-01-06 Carles Pina i Estany <carles@pina.cat>
31439
31440 * kern/err.c: Include `<grub/i18n.h>'.
31441 (grub_print_error): Add full stop. Gettextizze.
31442 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31443 (grub_bsd_load_elf): Capitalise ELF.
31444 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31445 (grub_cmd_freebsd_module): Likewise.
31446 (grub_cmd_freebsd_module_elf): Likewise.
31447 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31448
40e3a41f 314492010-01-06 Carles Pina i Estany <carles@pina.cat>
31450
31451 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31452 * commands/search_file.c (HELP_MESSAGE): New macro.
31453 * commands/search_label.c (HELP_MESSAGE): Likewise.
31454 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31455 * po/POTFILES: Add `commands/search_file.c',
31456 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31457 `commands/search.c'.
31458
83507e68
RM
314592010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31460
31461 * config.rpath: Update from Gnulib.
31462
465c787b
YB
314632010-01-05 Yves Blusseau <blusseau@zetam.org>
31464
31465 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31466
6581dd3a
YB
314672010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31468
31469 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31470
3bff18c5
CW
314712010-01-05 Colin Watson <cjwatson@ubuntu.com>
31472
31473 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31474 arguments to fread so that we get a return value in bytes, rather
31475 than something that will normally be rounded down to 0.
31476 Adjust error handling to avoid producing garbage when size_t is not
31477 the same size as long long.
31478
a1368118
CW
314792010-01-05 Colin Watson <cjwatson@ubuntu.com>
31480
31481 * util/mkisofs/write.c (padblock_write): Check return value of
31482 fread.
31483
7c302978
RM
314842010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31485
31486 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31487 floppy images now.
31488
31489 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31490
e33ace06
RM
314912010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31492
31493 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31494 instead of manual alignment.
31495 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31496 verbose). Avoid attempts to read past end of the device
31497 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31498 but GRUB_DISK_CACHE_SIZE may exceed that).
31499
4b856776
RM
315002010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31501
31502 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31503 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31504 it to upper layer.
31505
52c2d97f
VS
315062010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31507
31508 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31509 New constant.
31510 (grub_efi_piwg_device_path): New structure
31511 (grub_efi_piwg_device_path_t): New type.
31512 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31513 (devpath_1): Transform to a structure. All users updated.
31514 (devpath_2): Likewise.
31515 (devpath_3): Likewise.
31516 (devpath_4): Likewise.
31517 (devpath_5): Likewise.
31518
98ff6a54
VS
315192010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31520
31521 * loader/efi/appleloader.c: Restored. Update all users.
31522
3a73dcb6
RM
315232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31524
31525 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31526
31527 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31528 (struct boot_blocklist): Move from here ...
31529 * include/grub/i386/pc/boot.h [ASM_FILE]
31530 (struct grub_boot_blocklist): ... to here. Update all users.
31531 (setup): Only initialize `start' member of `first_block'
31532 structure. Add assert() calls to verify the other members.
31533
31534 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31535 (generate_image): Fix broken blocklist length initialization.
31536 Add assert() call to verify blocklist `segment' field.
31537
ab0eeb0c
RM
315382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31539
31540 * loader/efi/appleloader.c: Remove. Update all users.
31541
58bc8bd5
RM
315422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31543
31544 * boot/i386/pc/boot.S: Update copyright year.
31545 * boot/i386/pc/cdboot.S: Likewise.
31546 * boot/i386/pc/diskboot.S: Likewise.
31547 * boot/i386/pc/lnxboot.S: Likewise.
31548 * boot/i386/pc/pxeboot.S: Likewise.
31549 * bus/pci.c: Likewise.
31550 * commands/cmp.c: Likewise.
31551 * commands/help.c: Likewise.
31552 * commands/hexdump.c: Likewise.
31553 * commands/i386/pc/halt.c: Likewise.
31554 * commands/i386/pc/play.c: Likewise.
31555 * commands/i386/pc/vbeinfo.c: Likewise.
31556 * commands/ls.c: Likewise.
31557 * commands/test.c: Likewise.
31558 * disk/dmraid_nvidia.c: Likewise.
31559 * disk/i386/pc/biosdisk.c: Likewise.
31560 * disk/ieee1275/nand.c: Likewise.
31561 * disk/ieee1275/ofdisk.c: Likewise.
31562 * disk/lvm.c: Likewise.
31563 * disk/raid.c: Likewise.
31564 * disk/raid6_recover.c: Likewise.
31565 * disk/scsi.c: Likewise.
31566 * fs/affs.c: Likewise.
31567 * fs/cpio.c: Likewise.
31568 * fs/ext2.c: Likewise.
31569 * fs/hfs.c: Likewise.
31570 * fs/iso9660.c: Likewise.
31571 * fs/ntfs.c: Likewise.
31572 * fs/sfs.c: Likewise.
31573 * fs/udf.c: Likewise.
31574 * fs/ufs.c: Likewise.
31575 * fs/xfs.c: Likewise.
31576 * gencmdlist.sh: Likewise.
31577 * genmk.rb: Likewise.
31578 * include/grub/disk.h: Likewise.
31579 * include/grub/efi/api.h: Likewise.
31580 * include/grub/efi/efi.h: Likewise.
31581 * include/grub/efi/pe32.h: Likewise.
31582 * include/grub/elf.h: Likewise.
31583 * include/grub/fs.h: Likewise.
31584 * include/grub/i386/at_keyboard.h: Likewise.
31585 * include/grub/i386/pc/memory.h: Likewise.
31586 * include/grub/i386/pc/vbe.h: Likewise.
31587 * include/grub/i386/pci.h: Likewise.
31588 * include/grub/i386/tsc.h: Likewise.
31589 * include/grub/ieee1275/ieee1275.h: Likewise.
31590 * include/grub/ntfs.h: Likewise.
31591 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31592 * include/grub/sparc64/libgcc.h: Likewise.
31593 * include/grub/symbol.h: Likewise.
31594 * include/grub/types.h: Likewise.
31595 * include/multiboot2.h: Likewise.
31596 * io/gzio.c: Likewise.
31597 * kern/device.c: Likewise.
31598 * kern/disk.c: Likewise.
31599 * kern/efi/efi.c: Likewise.
31600 * kern/efi/mm.c: Likewise.
31601 * kern/elf.c: Likewise.
31602 * kern/file.c: Likewise.
31603 * kern/i386/dl.c: Likewise.
31604 * kern/i386/pc/init.c: Likewise.
31605 * kern/i386/pc/startup.S: Likewise.
31606 * kern/ieee1275/ieee1275.c: Likewise.
31607 * kern/ieee1275/init.c: Likewise.
31608 * kern/main.c: Likewise.
31609 * kern/mm.c: Likewise.
31610 * kern/powerpc/dl.c: Likewise.
31611 * kern/sparc64/dl.c: Likewise.
31612 * kern/x86_64/dl.c: Likewise.
31613 * lib/hexdump.c: Likewise.
31614 * loader/efi/appleloader.c: Likewise.
31615 * loader/i386/ieee1275/linux.c: Likewise.
31616 * loader/i386/pc/chainloader.c: Likewise.
31617 * loader/i386/pc/linux.c: Likewise.
31618 * loader/i386/pc/multiboot2.c: Likewise.
31619 * loader/ieee1275/multiboot2.c: Likewise.
31620 * loader/multiboot2.c: Likewise.
31621 * loader/multiboot_loader.c: Likewise.
31622 * loader/powerpc/ieee1275/linux.c: Likewise.
31623 * normal/completion.c: Likewise.
31624 * normal/menu_entry.c: Likewise.
31625 * partmap/apple.c: Likewise.
31626 * util/grub.d/10_hurd.in: Likewise.
31627 * util/hostfs.c: Likewise.
31628 * video/readers/png.c: Likewise.
31629
e2d70b5c
CW
316302010-01-03 Colin Watson <cjwatson@ubuntu.com>
31631
31632 * include/grub/misc.h (GNUC_PREREQ): New macro.
31633 (ATTRIBUTE_ERROR): New macro.
31634 * include/grub/list.h (grub_bad_type_cast_real): Use
31635 ATTRIBUTE_ERROR.
31636
a173283f 316372010-01-03 Carles Pina i Estany <carles@pina.cat>
31638
31639 * normal/menu_text.c (print_message): Change messages.
31640
7fa7ff74 316412010-01-03 Carles Pina i Estany <carles@pina.cat>
31642
31643 * normal/menu_entry.c (store_completion): Gettextizze.
31644
136d24f6 316452010-01-03 Carles Pina i Estany <carles@pina.cat>
31646
31647 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31648
f936862e 316492010-01-03 Carles Pina i Estany <carles@pina.cat>
31650
31651 * po/POTFILES: Sort correctly.
31652
29c44ad1 316532010-01-03 Carles Pina i Estany <carles@pina.cat>
31654
31655 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31656 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31657 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31658 full stop.
31659 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31660 summary. Gettextizze the strings.
31661 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31662 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31663 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31664 full stop.
31665 (GRUB_MOD_INIT): Remove command name from summary.
31666 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31667 summary.
31668 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31669 * term/i386/pc/serial.c (options): Add full stops.
31670 (GRUB_MOD_INIT): Remove command name from the summary.
31671
77a79592 316722010-01-03 Carles Pina i Estany <carles@pina.cat>
31673
31674 * commands/acpi.c: Gettextizze help strings and/or options. Include
31675 `grub/i18n.h' if needed.
31676 * commands/blocklist.c: Likewise.
31677 * commands/boot.c: Likewise.
31678 * commands/cat.c: Likewise.
31679 * commands/cmp.c: Likewise.
31680 * commands/configfile.c: Likewise.
31681 * commands/crc.c: Likewise.
31682 * commands/date.c: Likewise.
31683 * commands/echo.c: Likewise.
31684 * commands/efi/fixvideo.c: Likewise.
31685 * commands/efi/loadbios.c: Likewise.
31686 * commands/gptsync.c: Likewise.
31687 * commands/halt.c: Likewise.
31688 * commands/handler.c: Likewise.
31689 * commands/hdparm.c: Likewise.
31690 * commands/hexdump.c: Likewise.
31691 * commands/i386/cpuid.c: Likewise.
31692 * commands/i386/pc/drivemap.c: Likewise.
31693 * commands/i386/pc/halt.c: Likewise.
31694 * commands/i386/pc/pxecmd.c: Likewise.
31695 * commands/i386/pc/vbeinfo.c: Likewise.
31696 * commands/i386/pc/vbetest.c: Likewise.
31697 * commands/ieee1275/suspend.c: Likewise.
31698 * commands/keystatus.c: Likewise.
31699 * commands/loadenv.c: Likewise.
31700 * commands/ls.c: Likewise.
31701 * commands/lsmmap.c: Likewise.
31702 * commands/lspci.c: Likewise.
31703 * commands/memrw.c: Likewise.
31704 * commands/minicmd.c: Likewise.
31705 * commands/parttool.c: Likewise.
31706 * commands/password.c: Likewise.
31707 * commands/probe.c: Likewise.
31708 * commands/read.c: Likewise.
31709 * commands/reboot.c: Likewise.
31710 * commands/search.c: Likewise.
31711 * commands/sleep.c: Likewise.
31712 * commands/test.c: Likewise.
31713 * commands/true.c: Likewise.
31714 * commands/usbtest.c: Likewise.
31715 * commands/videotest.c: Likewise.
31716 * commands/xnu_uuid.c: Likewise.
31717 * disk/loopback.c: Likewise.
31718 * hello/hello.c: Likewise.
31719 * loader/i386/bsd.c: Likewise.
31720 * term/i386/pc/serial.c: Likewise.
31721 * po/POTFILES: Add new files.
31722
da8d5c53
CW
317232010-01-02 Colin Watson <cjwatson@ubuntu.com>
31724
31725 * term/i386/pc/at_keyboard.c
31726 (keyboard_controller_wait_untill_ready): Rename to ...
31727 (keyboard_controller_wait_until_ready): ... this. Update all users.
31728
33937904 317292010-01-01 Carles Pina i Estany <carles@pina.cat>
31730
31731 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31732 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31733 string using string width.
31734 * normal/menu_text.c (grub_print_message_indented): Use
31735 grub_print_spaces and not print_spaces.
31736 (print_timeout): Likewise.
31737 (print_spaces): Move to...
31738 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31739
3fd3b8d8
RM
317402010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31741
31742 Import from Gnulib.
31743
31744 * gnulib/getdelim.c: New file.
31745 * gnulib/getline.c: Likewise.
31746
33433555
VS
317472009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31748
31749 * include/grub/list.h (grub_assert_fail): Removed.
31750 (grub_bad_type_cast_real): New function.
31751 (grub_bad_type_cast): New macro.
31752 (GRUB_AS_LIST): Use grub_bad_type_cast.
31753 (GRUB_AS_LIST_P): Likewise.
e44721e8 31754 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31755 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31756 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31757 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31758 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31759
f5a51306
VS
317602009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31761
31762 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31763 Fix syntax error.
31764
90d1e879
RM
317652009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31766
31767 * configure.ac: Check for TARGET_CFLAGS initialization before we
31768 initialize it ourselves (sigh).
31769 Move a few modifications to TARGET_CFLAGS to be unconditional
31770 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31771 eh_frame)
31772
31773 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31774 * term/i386/pc/at_keyboard.c
31775 (keyboard_controller_wait_untill_ready): Likewise.
31776 (keyboard_controller_led): Rename `led_status' paramter to avoid
31777 name conflict.
31778
465b5a81 317792009-12-28 Carles Pina i Estany <carles@pina.cat>
31780
31781 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31782 quotes.
31783
c181849b
VS
317842009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31785
31786 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31787
9c8739a4
VS
317882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31789
31790 * normal/menu_text.c (grub_print_message_indented): Prevent
31791 past-the-end-of-array dereference.
31792
3e74249c
VS
317932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31794
31795 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31796 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31797
64fd18ed 317982009-12-27 Carles Pina i Estany <carles@pina.cat>
31799
31800 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31801 * normal/main.c (grub_normal_read_line): Remove a space from the
31802 default prompt.
31803
714af9b9 318042009-12-27 Carles Pina i Estany <carles@pina.cat>
31805
31806 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31807 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31808 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31809 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31810 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31811 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31812 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31813
82f3e412 318142009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31815
31816 * video/readers/jpeg.c (cmd): Declare.
31817 (grub_cmd_jpegtest): Use `grub_command_t' type.
31818 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31819 Assign to `cmd'.
31820 (GRUB_MOD_FINI): Use `cmd' to unregister.
31821 * video/readers/png.c (cmd): Declare.
31822 (grub_cmd_pngtest): Use `grub_command_t' type.
31823 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31824 Assign to `cmd'.
31825 (GRUB_MOD_FINI): Use `cmd' to unregister.
31826 * video/readers/tga.c (cmd): Declare.
31827 (grub_cmd_tgatest): Use `grub_command_t' type.
31828 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31829 Assign to `cmd'.
31830 (GRUB_MOD_FINI): Use `cmd' to unregister.
31831
82f3e412 318322009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31833
31834 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31835 stops.
31836 * kern/corecmd.c (grub_register_core_commands): Likewise.
31837 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31838 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31839 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31840 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31841 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31842 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31843 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31844 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31845 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31846 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31847 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31848 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31849 * normal/handler.c (insert_handler): Likewise.
31850 * normal/main.c (GRUB_MOD_INIT): Likewise.
31851 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31852
fdcdbb66 318532009-12-26 Carles Pina i Estany <carles@pina.cat>
31854
31855 * commands/help.c (grub_cmd_help): Print the command name before the
31856 summary.
31857 (GRUB_MOD_INIT): Remove command name from the summary.
31858 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 31859 string as summary.
fdcdbb66 31860 * lib/arg.c (find_long): Print the command name before the summary.
31861 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
31862 summary.
31863 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
31864 * commands/cat.c (GRUB_MOD_INIT): Likewise.
31865 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
31866 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31867 * commands/crc.c (GRUB_MOD_INIT): Likewise.
31868 * commands/date.c (GRUB_MOD_INIT): Likewise.
31869 * commands/echo.c (GRUB_MOD_INIT): Likewise.
31870 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
31871 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31872 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31873 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
31874 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
31875 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
31876 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
31877 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31878 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
31879 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
31880 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
31881 * commands/ls.c (GRUB_MOD_INIT): Likewise.
31882 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31883 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31884 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31885 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
31886 * commands/password.c (GRUB_MOD_INIT): Likewise.
31887 * commands/probe.c (GRUB_MOD_INIT): Likewise.
31888 * commands/read.c (GRUB_MOD_INIT): Likewise.
31889 * commands/search.c (GRUB_MOD_INIT): Likewise.
31890 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
31891 * commands/test.c (GRUB_MOD_INIT): Likewise.
31892 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
31893 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
31894 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
31895 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
31896 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
31897 * lib/arg.c (GRUB_MOD_INIT): Likewise.
31898 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
31899 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31900 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31901 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31902 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
31903 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
31904 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
31905 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
31906
9c288be2
VS
319072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31908
31909 Use search command for preliminar UUID search.
31910
31911 * commands/search.c: Split into ...
31912 * commands/search_wrap.c: ...this
31913 * commands/search.c: ...and this.
31914 * commands/search_file.c: New file.
31915 * commands/search_label.c: New file.
31916 * commands/search_uuid.c: New file.
31917 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
31918 Add commands/search_wrap.c, commands/search_file.c,
31919 commands/search_label.c and commands/search_uuid.c.
31920 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
31921 (search_mod_SOURCES): Set to commands/search_wrap.c.
31922 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
31923 search_label.mod.
31924 (search_fs_file_mod_SOURCES): New variable.
31925 (search_fs_file_mod_CFLAGS): Likewise.
31926 (search_fs_file_mod_LDFLAGS): Likewise.
31927 (search_label_mod_SOURCES): Likewise.
31928 (search_label_mod_CFLAGS): Likewise.
31929 (search_label_mod_LDFLAGS): Likewise.
31930 (search_fs_uuid_mod_SOURCES): New variable.
31931 (search_fs_uuid_mod_CFLAGS): Likewise.
31932 (search_fs_uuid_mod_LDFLAGS): Likewise.
31933 (fs_file_mod_SOURCES): Removed.
31934 (fs_file_mod_CFLAGS): Likewise.
31935 (fs_file_mod_LDFLAGS): Likewise.
31936 (fs_uuid_mod_SOURCES): Removed.
31937 (fs_uuid_mod_CFLAGS): Likewise.
31938 (fs_uuid_mod_LDFLAGS): Likewise.
31939 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
31940 Set to util/grub-install.in.
31941 * disk/fs_file.c: Removed.
31942 * disk/fs_uuid.c: Likewise.
31943 * include/grub/search.h: New file.
31944 * util/grub-install.in: Handle sparc64.
31945 Create and use load.cfg.
31946 * util/sparc64/ieee1275/grub-install.in: Removed.
31947
db943399
VS
319482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31949
31950 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
31951 Ignore return status if CF is cleared.
31952 (grub_biosdisk_get_diskinfo_standard): Likewise.
31953
3fdae612
RM
319542009-12-25 Robert Millan <rmh.grub@aybabtu.com>
31955
31956 * term/i386/pc/at_keyboard.c
31957 (keyboard_controller_wait_untill_ready): New function.
31958 (grub_keyboard_controller_write, grub_keyboard_controller_read)
31959 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
31960 for keyboard polling, rather than duplicate the same loop. This
31961 saves a few bytes in code size.
31962
7ebaa2b4
VS
319632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
31964
31965 Support for (pxe[:server[:gateway]]) syntax and
31966 use environment variable for PXE.
31967
31968 * commands/i386/pc/pxecmd.c (options): Removed.
31969 (print_ip): Removed.
31970 (grub_cmd_pxe): Removed
31971 (grub_cmd_pxe_unload): New function.
31972 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
31973 (grub_pxe_your_ip): Made static.
31974 (grub_pxe_default_server_ip): Likewise.
31975 (grub_pxe_default_gateway_ip): Likewise.
31976 (grub_pxe_blksize): Likewise.
31977 (parse_ip): New function.
31978 (grub_pxe_open): Support server and gateway specification.
31979 (grub_pxe_close): Free disk->data.
31980 (grub_pxefs_open): Use disk->data.
31981 (grub_pxefs_read): Likewise.
31982 (grub_env_write_readonly): New function.
31983 (set_mac_env): Likewise.
31984 (set_env_limn_ro): Likewise.
31985 (parse_dhcp_vendor): Likewise.
31986 (grub_pxe_detect): Set the environment variables.
31987 (set_ip_env): New function.
31988 (write_ip_env): Likewise.
31989 (grub_env_write_pxe_default_server): Likewise.
31990 (grub_env_write_pxe_default_gateway): Likewise.
31991 (grub_env_write_pxe_blocksize): Likewise.
31992 (GRUB_MOD_INIT(pxe)): Set environment variables.
31993 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
31994 (grub_pxe_mac_addr_t): ... this. All users updated.
31995 (grub_pxe_your_ip): Removed.
31996 (grub_pxe_server_ip): Likewise.
31997 (grub_pxe_gateway_ip): Likewise.
31998 (grub_pxe_blksize): Likewise.
31999
ec5f98ab 320002009-12-25 Carles Pina i Estany <carles@pina.cat>
32001
32002 * commands/help.c: Include `<grub/i18n.h>'.
32003 (grub_cmd_help): Gettextizze.
32004 (GRUB_MOD_INIT): Likewise.
32005 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32006 (GRUB_MOD_INIT): Gettextizze.
32007 * commands/search.c: Include `<grub/i18n.h>'.
32008 (options): Gettextizze.
32009 (GRUB_MOD_INIT): Gettextizze.
32010 * lib/arg.c: Include `<grub/i18n.h>'.
32011 (help_options): Gettextizze.
32012 (find_long): Likewise.
32013 (grub_arg_show_help): Likewise.
32014 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32015 (read_command_list): Gettextizze.
32016 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 32017 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 32018
22815526
RM
320192009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32020
32021 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32022 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32023 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32024 (led_status): New variable.
32025 (keyboard_controller_led): New function.
32026 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32027 update led status for caps lock, num lock and scroll lock.
32028
0ad46fd7
FZ
320292009-12-25 Felix Zielcke <fzielcke@z-51.de>
32030
32031 * util/hostdisk.c (open_device): Fix a comment.
32032
d0e158c2
RM
320332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32034
32035 * util/grub-install.in (host_os): New variable.
32036 * util/i386/efi/grub-install.in (host_os): Likewise.
32037
401c0ad6
RM
320382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32039
32040 * util/mkisofs/write.c (padblock_write): Abort when given an
32041 excedingly large embed image, instead of silently truncating it.
32042
d14d3370
RM
320432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32044
32045 * include/multiboot.h: Indentation fixes.
32046
eeed10b4
RM
320472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32048
32049 * include/multiboot.h (struct multiboot_aout_symbol_table)
32050 (struct multiboot_elf_section_header_table): New structure
32051 declarations (stolen from GRUB Legacy).
32052 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32053 table information.
32054
32055 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32056 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32057 type aliases.
32058
681c70ab
RM
320592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32060
32061 * include/multiboot.h: Make comments src2texi-friendly.
32062
e4d47d8d
RM
320632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32064
32065 For consistency with [multiboot]/docs/boot.S.
32066
32067 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32068 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32069 (MULTIBOOT_MAGIC2): Rename from this ...
32070 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32071
a0b70bda
RM
320722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32073
32074 * include/multiboot.h: Remove `<grub/types.h>'.
32075 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32076 types. Update all users.
32077
61ba42be 320782009-12-25 Carles Pina i Estany <carles@pina.cat>
32079
32080 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32081 `couldn't' and `can not' by `cannot'.
32082 * commands/i386/pc/drivemap.c: Likewise.
32083 * disk/ata.c: Likewise.
32084 * disk/ieee1275/nand.c: Likewise.
32085 * fs/affs.c: Likewise.
32086 * fs/fat.c: Likewise.
32087 * fs/hfs.c: Likewise.
32088 * fs/hfsplus.c: Likewise.
32089 * fs/iso9660.c: Likewise.
32090 * fs/jfs.c: Likewise.
32091 * fs/minix.c: Likewise.
32092 * fs/reiserfs.c: Likewise.
32093 * fs/sfs.c: Likewise.
32094 * fs/udf.c: Likewise.
32095 * fs/ufs.c: Likewise.
32096 * fs/xfs.c: Likewise.
32097 * loader/powerpc/ieee1275/linux.c: Likewise.
32098 * loader/sparc64/ieee1275/linux.c: Likewise.
32099 * util/grub-probe.c: Likewise.
32100 * util/misc.c: Likewise.
32101
7fd0baee 321022009-12-24 Carles Pina i Estany <carles@pina.cat>
32103
32104 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32105 grub_errno calls.
32106 * commands/acpi.c: Likewise.
32107 * commands/blocklist.c: Likewise.
32108 * commands/efi/loadbios.c: Likewise.
32109 * commands/i386/pc/drivemap.c: Likewise.
32110 * commands/loadenv.c: Likewise.
32111 * commands/memrw.c: Likewise.
32112 * commands/password.c: Likewise.
32113 * commands/videotest.c: Likewise.
32114 * disk/ata.c: Likewise.
32115 * disk/ata_pthru.c: Likewise.
32116 * disk/dmraid_nvidia.c: Likewise.
32117 * disk/ieee1275/nand.c: Likewise.
32118 * disk/ieee1275/ofdisk.c: Likewise.
32119 * disk/loopback.c: Likewise.
32120 * disk/lvm.c: Likewise.
32121 * disk/mdraid_linux.c: Likewise.
32122 * disk/raid.c: Likewise.
32123 * disk/raid6_recover.c: Likewise.
32124 * disk/scsi.c: Likewise.
32125 * efiemu/main.c: Likewise.
32126 * efiemu/mm.c: Likewise.
32127 * efiemu/pnvram.c: Likewise.
32128 * efiemu/symbols.c: Likewise.
32129 * font/font.c: Likewise.
32130 * fs/cpio.c: Likewise.
32131 * fs/hfsplus.c: Likewise.
32132 * fs/iso9660.c: Likewise.
32133 * fs/jfs.c: Likewise.
32134 * fs/minix.c: Likewise.
32135 * fs/ntfs.c: Likewise.
32136 * fs/ntfscomp.c: Likewise.
32137 * fs/reiserfs.c: Likewise.
32138 * fs/ufs.c: Likewise.
32139 * fs/xfs.c: Likewise.
32140 * gettext/gettext.c: Likewise.
32141 * include/grub/auth.h: Likewise.
32142 * kern/elf.c: Likewise.
32143 * kern/file.c: Likewise.
32144 * kern/ieee1275/init.c: Likewise.
32145 * kern/ieee1275/mmap.c: Likewise.
32146 * kern/ieee1275/openfw.c: Likewise.
32147 * kern/powerpc/dl.c: Likewise.
32148 * kern/sparc64/dl.c: Likewise.
32149 * lib/arg.c: Likewise.
32150 * loader/i386/bsd.c: Likewise.
32151 * loader/i386/bsdXX.c: Likewise.
32152 * loader/i386/efi/linux.c: Likewise.
32153 * loader/i386/efi/xnu.c: Likewise.
32154 * loader/i386/ieee1275/linux.c: Likewise.
32155 * loader/i386/linux.c: Likewise.
32156 * loader/i386/multiboot.c: Likewise.
32157 * loader/i386/pc/linux.c: Likewise.
32158 * loader/i386/pc/multiboot2.c: Likewise.
32159 * loader/i386/xnu.c: Likewise.
32160 * loader/ieee1275/multiboot2.c: Likewise.
32161 * loader/macho.c: Likewise.
32162 * loader/machoXX.c: Likewise.
32163 * loader/multiboot2.c: Likewise.
32164 * loader/multiboot_loader.c: Likewise.
32165 * loader/powerpc/ieee1275/linux.c: Likewise.
32166 * loader/sparc64/ieee1275/linux.c: Likewise.
32167 * loader/xnu.c: Likewise.
32168 * loader/xnu_resume.c: Likewise.
32169 * mmap/i386/pc/mmap.c: Likewise.
32170 * normal/menu_viewer.c: Likewise.
32171 * partmap/acorn.c: Likewise.
32172 * partmap/amiga.c: Likewise.
32173 * partmap/apple.c: Likewise.
32174 * script/lexer.c: Likewise.
32175 * term/gfxterm.c: Likewise.
32176 * term/i386/pc/serial.c: Likewise.
32177 * term/i386/pc/vga.c: Likewise.
32178 * term/ieee1275/ofconsole.c: Likewise.
32179 * term/terminfo.c: Likewise.
32180 * video/bitmap.c: Likewise.
32181 * video/efi_gop.c: Likewise.
32182 * video/efi_uga.c: Likewise.
32183 * video/fb/video_fb.c: Likewise.
32184 * video/i386/pc/vbe.c: Likewise.
32185 * video/readers/tga.c: Likewise.
32186 * video/video.c: Likewise.
32187
0ad46fd7 321882009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32189
32190 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32191 * commands/lspci.c: Likewise.
32192 * commands/probe.c: Likewise.
32193 * commands/xnu_uuid.c: Likewise.
32194 * conf/i386-coreboot.rmk: Likewise.
32195 * conf/i386-efi.rmk: Likewise.
32196 * conf/i386-ieee1275.rmk: Likewise.
32197 * conf/i386-pc.rmk: Likewise.
32198 * conf/powerpc-ieee1275.rmk: Likewise.
32199 * conf/sparc64-ieee1275.rmk: Likewise.
32200 * conf/x86_64-efi.rmk: Likewise.
32201 * fs/i386/pc/pxe.c: Likewise.
32202 * gettext/gettext.c: Likewise.
32203 * include/grub/efi/graphics_output.h: Likewise.
32204 * include/grub/i386/pc/memory.h: Likewise.
32205 * kern/env.c: Likewise.
32206 * kern/i386/qemu/startup.S: Likewise.
32207 * lib/i386/pc/biosnum.c: Likewise.
32208 * lib/i386/relocator.c: Likewise.
32209 * lib/i386/relocator_asm.S: Likewise.
32210 * lib/relocator.c: Likewise.
32211 * loader/i386/bsd.c: Likewise.
32212 * loader/i386/multiboot.c: Likewise.
32213 * loader/i386/pc/chainloader.c: Likewise.
32214 * loader/i386/xnu.c: Likewise.
32215 * loader/xnu.c: Likewise.
32216 * normal/main.c: Likewise.
32217 * normal/menu_text.c: Likewise.
32218 * util/getroot.c: Likewise.
32219 * util/grub-mkconfig_lib.in: Likewise.
32220 * util/grub.d/00_header.in: Likewise.
32221 * util/i386/pc/grub-mkimage.c: Likewise.
32222 * util/mkisofs/eltorito.c: Likewise.
32223 * util/mkisofs/exclude.h: Likewise.
32224 * util/mkisofs/hash.c: Likewise.
32225 * util/mkisofs/iso9660.h: Likewise.
32226 * util/mkisofs/joliet.c: Likewise.
32227 * util/mkisofs/mkisofs.c: Likewise.
32228 * util/mkisofs/mkisofs.h: Likewise.
32229 * util/mkisofs/multi.c: Likewise.
32230 * util/mkisofs/name.c: Likewise.
32231 * util/mkisofs/rock.c: Likewise.
32232 * util/mkisofs/tree.c: Likewise.
32233 * util/mkisofs/write.c: Likewise.
32234 * video/efi_gop.c: Likewise.
32235
009ec743
VS
322362009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32237
32238 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32239 size counting.
32240
0ad46fd7 322412009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32242
32243 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32244 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32245
d3d30ea0
VS
322462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32247
32248 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32249 (GRUB_MOD_INIT(memrw)): Update help line.
32250
a34f5c70
VS
322512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32252
32253 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32254 Use grub_extcmd_t. All users updated.
32255 (options): New variable.
32256 (grub_cmd_read): Restructure for readability. Support "-v" option.
32257 (grub_cmd_write): Restructure for readability.
32258
0ad46fd7 322592009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32260
32261 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32262
0ad46fd7 322632009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32264
32265 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32266 with the actual contents of the correspondending make variable.
32267 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32268 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32269 specifying `*.lst' and `efiemu??.o'
32270
0ad46fd7 322712009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32272
32273 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32274 after function name.
32275 Noticed by Rene Engelhard <rene@debian.org>.
32276
dc77a799
VS
322772009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32278
32279 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32280 (options): New variable.
32281 (iospace): Likewise.
32282 (grub_lspci_iter): List IO spaces if "-i" was given.
32283 (grub_cmd_lspci): Parse options.
32284 (GRUB_MOD_INIT(lspci)): Use extcmd.
32285 (GRUB_MOD_FINI(lspci)): Likewise.
32286
0ad46fd7 322872009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32288
32289 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32290 `function' keyword.
32291 Patch by Tony Mancill <tmancill@debian.org>.
32292
b5d5993b
VS
322932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32294
32295 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32296 (grub_uhci_portstatus): Likewise.
32297 (grub_uhci_portstatus): Add necessary delay.
11d18281 32298 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32299
941903f2 323002009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32301
941903f2 32302 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32303 (GRUB_MOD_INIT): Likewise.
32304 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32305 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32306 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32307 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32308 (enable_rom_area): Likewise.
32309 (GRUB_MOD_INIT): Likewise.
32310 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32311 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32312 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32313 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32314 * commands/hexdump.c (options): Likewise.
32315 * commands/i386/cpuid.c (options): Likewise.
32316 (GRUB_MOD_INIT): Likewise.
32317 * commands/i386/pc/drivemap.c (options): Likewise.
32318 (GRUB_MOD_INIT): Likewise.
32319 * commands/i386/pc/halt (options): Likewise.
32320 (GRUB_MOD_INIT): Likewise.
32321 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32322 * commands/i386/pc/pxecmd.c (options): Likewise.
32323 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32324 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32325 * commands/keystatus.c (options): Likewise.
32326 (GRUB_MOD_INIT): Likewise.
32327 * commands/loadenv.c (options): Likewise.
32328 * commands/ls.c (options): Likewise.
32329 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32330 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32331 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32332 * commands/parttool.c (helpmsg): Likewise.
32333 * commands/probe.c (options): Likewise.
32334 * commands/read.c (GRUB_MOD_INIT): Likewise.
32335 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32336 * commands/search.c (options): Likewise.
32337 * commands/sleep.c (options): Likewise.
32338 * commands/test.c (GRUB_MOD_INIT): Likewise.
32339 * commands/true.c (GRUB_MOD_INIT): Likewise.
32340 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32341 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32342 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32343 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32344 `$(XGETTEXT)'.
98a50553 32345 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32346
0ad46fd7 323472009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32348
ef3c2c3a 32349 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32350 instead of specifying them explicit.
32351
7922f68b
RM
323522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32353
32354 * NEWS: Add grub-probe support for GNU/Hurd.
32355
537ce47f
RM
323562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32357
32358 * NEWS: gettext was added after 1.97.
32359
9b214e3a
RM
323602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32361
32362 * util/mkisofs/msdos_partition.h: New file (based on
32363 include/grub/msdos_partition.h).
32364 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32365 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32366 (ld_options, main): Recognize --protective-msdos-label.
32367 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32368 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32369 (padblock_write): If `use_protective_msdos_label' is set, patch a
32370 protective DOS-style label in the output image.
32371
32372 * util/grub-mkrescue.in: Use --protective-msdos-label.
32373
e9309813
RM
323742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32375
32376 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32377 boot.
32378
0ae56929
RM
323792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32380
32381 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32382 variables.
32383 (ld_options, main): Recognize `--embedded-boot'.
32384 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32385 declarations.
32386 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32387 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32388 (padblock_write): Likewise. Rewrite to support embedded boot image.
32389
32390 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32391 for BIOS-based disk boot instead of only ElTorito.
32392
b15937b1
RM
323932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32394
32395 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32396 build (not needed for bootstrap).
32397
52cc3ce0
RM
323982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32399
32400 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32401 from i386-pc build (not needed for bootstrap).
32402 Rewrite a pair of strings.
32403
36f5ff04
RM
324042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32405
32406 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32407
973c6c85 324082009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32409
32410 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32411
05d21547
AB
324122009-12-21 Andreas Born <futur.andy@googlemail.com>
32413
32414 * kern/env.c (grub_env_context_open): Mark exported variable for
32415 reexport.
32416
0175d51f
AB
324172009-12-21 Andreas Born <futur.andy@googlemail.com>
32418
32419 * kern/env.c (grub_env_export): Create nonexistent variables before
32420 exporting.
32421
7f39d92f 324222009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32423
7f39d92f 32424 * include/grub/auth.h: Include `<grub/i18n.h>'.
32425 (GRUB_GET_PASSWORD): Gettextizze string.
32426 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32427 menu_text.c.
32428 (grub_utf8_to_ucs4_alloc): Fix indentation.
32429 (grub_print_ucs4): Likewise.
32430 (grub_getstringwidth): Likewise.
32431 (print_message_indented): New declaration.
32432 * normal/auth.c: Include `<grub/i18n.h>'.
32433 (grub_auth_check_authentication): Gettexttize string.
32434 * normal/cmdline.c: Include `<grub/i18n.h>'.
32435 (grub_cmdline_get): Gettextizze.
32436 * normal/color.c: Include `<grub/i18n.h>'.
32437 (grub_parse_color_name_pair): Gettexttize strings.
32438 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32439 string (use `print_message_indented').
32440 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32441 `include/grub/normal.h'.
32442 (print_message_indented): Renamed to ...
32443 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32444 used in normal/main.c).
32445 (print_message): Use `grub_print_message_indented' instead of
32446 `print_message_indented'.
32447 (print_timeout): Likewise.
32448 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32449 (grub_normal_print_device_info): Gettexttize strings.
32450 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32451
3041d898
VS
324522009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32453
32454 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32455 of arguments. Return number of tokens and not arguments. All users
32456 updated.
32457
de15bf8e
VS
324582009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32459
32460 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32461 non-MSDOS paritions.
32462
e0a6ca52
VS
324632009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32464
32465 * include/grub/types.h (UNUSED): Removed since it conflicts with
32466 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32467 Reported by Grégoire Sutre.
32468
b99518d1 324692009-12-19 Carles Pina i Estany <carles@pina.cat>
32470
32471 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32472 (grub_print_ucs4_alloc): Likewise.
32473 (grub_getstringwidth): Likewise.
32474 * normal/main.c (grub_normal_init_page): Gettextize version string.
32475 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32476 (getstringwidth): Renamed to ...
32477 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32478 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32479 (grub_print_ucs4): Remove `static' qualifer (now used in
32480 normal/main.c).
32481 * po/POTFILES: Add normal/main.c.
32482
bfd5e52b 324832009-12-19 Carles Pina i Estany <carles@pina.cat>
32484
32485 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32486 (print_message_indented): Add `margin_left' and `margin_right'
32487 parameters.
32488 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32489 strings.
32490 (print_timeout): Use `print_message_indented' to print the message.
32491 Deletes `second_stage' parameter.
32492 (run_menu): Update `print_timeout' calls.
32493
5a1ad2b9
VS
324942009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32495
32496 Fix console palette on OpenFirmware.
32497
32498 * term/ieee1275/ofconsole.c (MAX): Removed.
32499 (colors): Redone based on VGA palette.
32500 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32501 colors are supported.
32502 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32503
b045f00a
VS
325042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32505
32506 Fix potential EfiEmu double prepare.
32507
32508 * efiemu/main.c (prepared): New variable
32509 (grub_efiemu_unload): Set prepare to '0'.
32510 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32511
32512 set_virtual_address_map support.
32513
32514 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32515 prototype.
32516 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32517 prototype.
32518 (grub_efiemu_crc32): Likewise.
32519 (grub_efiemu_crc64): Likewise.
32520 (grub_efiemu_set_virtual_address_map): Likewise.
32521 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32522 New definition.
32523 (grub_autoefi_set_virtual_address_map): Likewise.
32524 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32525 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32526 Restructure flow to accomodate it.
32527 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32528 (grub_efiemu_crc): Recompute CRC32.
32529 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32530 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32531 * efiemu/symbols.c (relocated_handle): New variable.
32532 (grub_efiemu_free_syms): Free relocated_handle.
32533 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32534 (grub_efiemu_write_sym_markers): New function.
32535 (grub_efiemu_set_virtual_address_map): Likewise.
32536
32537 Newer XNU parameters.
32538
32539 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32540 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32541 (grub_xnu_fill_devicetree): New prototype.
32542 (grub_xnu_heap_real_start): New variable.
32543 * loader/xnu.c (get_name_ptr): New function.
32544 (grub_xnu_load_driver): Fill namelen and name.
32545
32546 64-bit xnu support.
32547
32548 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32549 and 'loader/macho64.c'.
32550 * conf/i386-pc.rmk: Likewise.
32551 * conf/x86_64-efi.rmk: Likewise.
32552 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32553 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32554 * include/grub/macho.h (grub_macho_segment64): New structure.
32555 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32556 (grub_macho_size32): ... to this.
32557 (grub_macho32_get_entry_point): Renamed from ...
32558 (grub_macho_get_entry_point32): ... to this.
32559 (grub_macho_contains_macho64): New prototype.
32560 (grub_macho_size64): Likewise.
32561 (grub_macho_get_entry_point64): Likewise.
32562 (grub_macho32_load): Renamed from ...
32563 (grub_macho_load32): ... to this.
32564 (grub_macho32_filesize): Renamed from ...
32565 (grub_macho_filesize32): ... to this.
32566 (grub_macho32_readfile): Renamed from ...
32567 (grub_macho_readfile32): ... to this.
32568 (grub_macho_filesize64): New prototype.
32569 (grub_macho_readfile64): Likewise.
32570 (grub_macho_parse32): Likewise.
32571 (grub_macho_parse64): Likewise.
32572 * loader/macho.c: Split into ...
32573 * loader/machoXX.c: ... and this. Replace 32 with XX.
32574 * loader/macho32.c: New file.
32575 * loader/macho64.c: Likewise.
32576 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32577 (grub_cmd_xnu_kernel): Make 32-bit only.
32578 (grub_cmd_xnu_kernel64): New function.
32579 (grub_xnu_load_driver): Support Mach-O 64.
32580 (grub_cmd_xnu_mkext): Likewise.
32581 * util/grub.d/30_os-prober.in (osx_entry): New function.
32582 Generate entries for 64-bit boot too.
32583
32584 Eliminate ad-hoc tree format in XNU and EfiEmu.
32585
32586 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32587 * efiemu/pnvram.c: Rewritten to use environment variables.
32588 All users updated.
32589
32590 Inline utf16_to_utf8.
32591
32592 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32593 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32594 All users updated.
32595 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32596
32597 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32598 * commands/usbtest.c (grub_usb_get_string): ... move here.
32599 (usb_print_str): Fix error handling.
32600 * include/grub/usb.h (grub_usb_get_string): Remove.
32601
32602 UTF-8 to UTF-16 transformation.
32603
32604 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32605 (charset_mod_SOURCES): New variable.
32606 (charset_mod_CFLAGS): Likewise.
32607 (charset_mod_LDFLAGS): Likewise.
32608 * include/grub/utf.h: New file.
32609 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32610
32611 Support for device properties.
32612
32613 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32614 (grub_xnu_devprop_device_header): Likewise.
32615 (grub_xnu_devprop_device_descriptor): Likewise.
32616 (grub_xnu_devprop_add_device): New prototype.
32617 (grub_xnu_devprop_remove_device): Likewise.
32618 (grub_xnu_devprop_remove_property): Likewise.
32619 (grub_xnu_devprop_add_property_utf8): Likewise.
32620 (grub_xnu_devprop_add_property_utf16): Likewise.
32621 (grub_cpu_xnu_init): Likewise.
32622 (grub_cpu_xnu_fini): Likewise.
32623 (grub_cpu_xnu_unload): Likewise.
32624 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32625 (property_descriptor): Likewise.
32626 (devices): New variable.
32627 (grub_xnu_devprop_remove_property): New function.
32628 (grub_xnu_devprop_add_device): Likewise.
32629 (grub_xnu_devprop_remove_device): Likewise.
32630 (grub_xnu_devprop_add_property): Likewise.
32631 (grub_xnu_devprop_add_property_utf8): Likewise.
32632 (grub_xnu_devprop_add_property_utf16): Likewise.
32633 (hextoval): Likewise.
32634 (grub_cpu_xnu_fill_devprop): Likewise.
32635 (grub_cmd_devprop_load): Likewise.
32636 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32637 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32638 (cmd_devprop_load): New variable.
32639 (grub_cpu_xnu_init): New function.
32640 (grub_cpu_xnu_fini): Likewise.
32641 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32642 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32643 (grub_cmd_xnu_devtree): Likewise.
32644 (hextoval): New function.
32645 (unescape): Likewise.
32646 (grub_xnu_fill_devicetree): Likewise.
32647
32648 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32649 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32650
0945f181
VS
326512009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32652
32653 Workaround for broken ATI VBE.
32654
32655 * video/i386/pc/vbe.c (last_set_mode): New variable.
32656 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32657 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32658 (grub_video_vbe_setup): Don't check for reserved flag.
32659
0ad46fd7 326602009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32661
32662 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32663 the `find' command.
32664
c179ebe4
VS
326652009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32666
32667 UUID support for HFS.
32668
32669 * fs/hfs.c (grub_hfs_uuid): New function.
32670 (grub_hfs_fs): New value .uuid.
32671 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32672
0ad46fd7 326732009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32674
32675 Fix a segfault with parsing unknown long options.
32676
32677 * util/grub-mkrelpath.c (options): Zero terminate it.
32678
c4a3e41a
CPE
326792009-12-13 Carles Pina i Estany <carles@pina.cat>
32680
32681 * include/grub/misc.h (grub_puts): New declaration.
32682 (grub_puts_): Likewise.
a22008a6 32683 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32684 (grub_puts_): Likewise.
32685
2e8a7602
RM
326862009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32687
32688 * util/grub-probe.c (probe): Improve error message.
32689
b50b77b9
RM
326902009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32691
32692 * loader/i386/multiboot_elfxx.c
32693 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32694 initialization.
32695
326962009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32697
32698 Relocator framework
32699
32700 * loader/i386/xnu_helper.S: Removed. All users updated.
32701 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32702 (relocator_mod_SOURCES): New variable.
32703 (relocator_mod_CFLAGS): Likewise.
32704 (relocator_mod_LDFLAGS): Likewise.
32705 (relocator_mod_ASFLAGS): Likewise.
32706 * conf/x86_64.rmk: Likewise.
32707 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32708 (grub_multiboot_payload_entry_offset): Likewise.
32709 (grub_multiboot_forward_relocator): Likewise.
32710 (grub_multiboot_forward_relocator_end): Likewise.
32711 (grub_multiboot_backward_relocator): Likewise.
32712 (grub_multiboot_backward_relocator_end): Likewise.
32713 (grub_multiboot_payload_eip): New variable.
32714 (grub_multiboot_payload_orig): Likewise.
32715 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32716 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32717 * include/grub/i386/memory.h
32718 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32719 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32720 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32721 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32722 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32723 * include/grub/i386/relocator.h: New file.
32724 * include/grub/x86_64/relocator.h: Likewise.
32725 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32726 (XNU_RELOCATOR): New macro.
32727 (grub_xnu_launcher_start): Remove.
32728 (grub_xnu_launcher_end): Likewise.
32729 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32730 (grub_xnu_heap_real_start): Remove.
32731 (grub_xnu_heap_start): Change to void *. All users updated.
32732 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32733 * lib/i386/relocator.c: New file.
32734 * lib/i386/relocator_asm.S: Likewise.
32735 * lib/i386/relocator_backward.S: Likewise.
32736 * lib/mips/relocator.c: Likewise.
32737 * lib/mips/relocator_asm.S: Likewise.
32738 * lib/relocator.c: Likewise.
32739 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32740 (entry): Removed.
32741 (playground): Likewise.
32742 (grub_multiboot_payload_orig): New variable.
32743 (grub_multiboot_payload_dest): Likewise.
32744 (grub_multiboot_payload_size): Likewise.
32745 (grub_multiboot_payload_eip): Likewise.
32746 (grub_multiboot_payload_esp): Likewise.
32747 (grub_multiboot_boot): Use grub_relocator32_boot.
32748 (grub_multiboot_unload): Free relocators.
32749 (grub_multiboot): Setup stack. Use relocators.
32750 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32751 (grub_multiboot_load_elfXX): Use relocators.
32752 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32753 (grub_multiboot_payload_size): Likewise.
32754 (grub_multiboot_payload_dest): Likewise.
32755 (grub_multiboot_payload_entry_offset): Likewise.
32756 (grub_multiboot_forward_relocator): Likewise.
32757 (grub_multiboot_backward_relocator): Likewise.
32758 (grub_multiboot_real_boot): Likewise.
32759 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32760 (grub_xnu_entry_point): Likewise.
32761 (grub_xnu_arg1): Likewise.
32762 (grub_xnu_stack): Likewise.
32763 (grub_xnu_launch): Removed.
32764 (grub_xnu_boot_resume): New function.
32765 (grub_xnu_boot): Use relocators.
32766 * loader/i386/xnu_helper.S: Removed.
32767 * loader/xnu.c (grub_xnu_heap_start): New variable.
32768 (grub_xnu_heap_size): Likewise.
32769 (grub_xnu_heap_malloc): Use relocators.
32770 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32771
29eb90c6
VS
327722009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32773
32774 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32775 anything.
32776
31027430
CPE
327772009-12-13 Carles Pina i Estany <carles@pina.cat>
32778
32779 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32780 GRUB_ERR_NONE before calling grub_env_set.
32781
dc0c71d9
RM
327822009-12-12 Robert Millan <rmh@aybabtu.com>
32783
32784 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32785 * genmk.rb (video): New variable.
32786 (CLEANFILES, VIDEOFILES): Add #{video}.
32787 (#{video}): New target rule.
32788 * genvideolist.sh: New file.
32789 * Makefile.in (pkglib_DATA): Add video.lst.
32790 (video.lst): New target rule.
32791 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32792 `video.lst'.
32793 * util/grub.d/30_os-prober.in: Replace `vbe' with
32794 ${GRUB_VIDEO_BACKEND}.
32795
2a4bfcf0
RM
327962009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32797
32798 * THANKS: Add David Miller.
32799
2a3aa4d5
RM
328002009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32801
32802 libpciaccess support.
32803
32804 * Makefile.in (LIBPCIACCESS): New variable.
32805 (enable_grub_emu_pci): Likewise.
32806 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32807 util/pci.c and commands/lspci.c.
32808 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32809 * configure.ac (grub-emu-pci): New option.
32810 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32811 (grub_pci_device_unmap_range): Likewise.
32812 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32813 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32814 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32815 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32816 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32817 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32818 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32819 * include/grub/pciutils.h: New file.
32820 * util/pci.c: Likewise.
32821
0ad46fd7 328222009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32823
32824 * util/misc.c: Don't include <errno.h> twice.
32825
0ad46fd7 328262009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32827
32828 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32829 name in an error message.
32830 (grub_biosdisk_rw): Likewise.
32831
2e59983c
VS
328322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32833
32834 Eliminate NTFS 4Gib barrier.
32835
32836 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32837 (read_run_data): Likewise.
32838 (grub_ntfs_read_run_list): Likewise.
32839 (grub_ntfs_read_block): Likewise.
32840 (grub_ntfs_iterate_dir): Likewise.
32841 (read_mft): Likewise.
32842 (read_data): Likewise.
32843 Use COM_LOG_LEN.
32844 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32845 to avoid 64-bit division
32846 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32847 (grub_ntfs_rlst): Use grub_disk_addr_t.
32848
71ee178a
VS
328492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32850
32851 Eliminate grub-fstest 4Gib barrier.
32852
32853 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32854 (read_file): Fix error reporting.
32855
2520d4b8
VS
328562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32857
32858 Eliminate hexdump 4Gib barrier.
32859
32860 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
32861 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
32862
e1f27065
VS
328632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32864
32865 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
32866 Fixes amarsh bug.
32867
1a0f7f45
RM
328682009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
32869
32870 Remove miscellaneous files in distclean target.
32871
32872 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
32873
c631d9fb
CW
328742009-12-09 Colin Watson <cjwatson@ubuntu.com>
32875
32876 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
32877 if they're already set. This resolves the conflict between my
32878 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
32879 fixing the --grub-probe option again.
32880 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
32881 change on 2009-10-06, so that we now once again source
32882 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32883
7c7b6106
RM
328842009-12-08 Robert Millan <rmh.grub@aybabtu.com>
32885
32886 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
32887 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
32888 `util/devicemap.c'.
32889
e3069ec1
CPE
328902009-12-08 Carles Pina i Estany <carles@pina.cat>
32891
32892 * include/grub/misc.h (grub_printf_): New declaration.
32893 * kern/misc.c (grub_printf_): New definition.
32894 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
32895 instead of `grub_printf' and `_'.
32896 * normal/menu_entry.c (store_completion): Likewise.
32897 (run): Likewise.
32898 (grub_menu_entry_run): Likewise.
32899 * normal/menu_text.c (grub_wait_after_message): Likewise.
32900 (notify_booting): Likewise.
32901 (notify_fallback): Likewise.
32902 (notify_execution_failure): Likewise.
32903
d6ceebf1
CW
329042009-12-07 Colin Watson <cjwatson@ubuntu.com>
32905
32906 * configure.ac: Check for vasprintf.
32907 * util/misc.c (asprintf): Move allocation from here ...
32908 (vasprintf): ... to here. New function.
32909 (xasprintf): New function.
32910 * include/grub/util/misc.h (vasprintf, xasprintf): Add
32911 prototypes.
32912 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
32913 * util/grub-mkfont.c (write_font): Likewise.
32914 * util/grub-probe.c (probe): Likewise.
32915 * util/hostdisk.c (make_device_name): Likewise.
32916
de6daa8b
DM
329172009-12-06 David S. Miller <davem@sunset.davemloft.net>
32918
32919 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
32920 anything even prefixed with 'cdrom' as a cdrom.
32921
0ad46fd7 329222009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
32923
32924 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
32925 mount points.
32926
98d3dc02
CPE
329272009-12-05 Carles Pina i Estany <carles@pina.cat>
32928
32929 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
32930 grub_gettext_msg_list.
32931 (grub_gettext_gettranslation_from_position): Return const char *
32932 and not char *.
a2c1332b 32933 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
32934 returns from the list if existing there.
32935 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
32936 (grub_gettext_delete_list): Delete the list.
32937 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
32938 lang environment variable is changed.
32939 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
32940
b283f108
VS
329412009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32942
32943 Rename kernel.mod to kernel.img.
32944
32945 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
32946 (kernel_mod_EXPORTS): Rename to ...
32947 (kernel_img_EXPORTS): ... this.
32948 (kernel_mod_SOURCES): Rename to ...
32949 (kernel_img_SOURCES): ... this.
32950 (kernel_mod_HEADERS): Rename to ...
32951 (kernel_img_HEADERS): ... this. All users updated.
32952 (kernel_mod_CFLAGS): Rename to ...
32953 (kernel_img_CFLAGS): ... this.
32954 (kernel_mod_ASFLAGS): Rename to ...
32955 (kernel_img_ASFLAGS): ... this.
32956 (kernel_mod_LDFLAGS): Rename to ...
32957 (kernel_img_LDFLAGS): ... this.
32958 * conf/x86_64-efi.rmk: Likewise.
32959 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
32960 (read_kernel_image): ... this. All users updated.
32961 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
32962
69055f8a
CPE
329632009-12-05 Carles Pina i Estany <carles@pina.cat>
32964
32965 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
32966 (print_spaces): New function.
32967 (grub_print_ucs4): New function.
32968 (getstringwidth): New function.
32969 (print_message_indented): New function.
32970 (print_message): Gettexttize strings using print_message_indented.
32971 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
32972 width.
32973 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 32974 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
32975 Gettextize.
32976 * normal/menu_entry.c (store_completion): Cleanup the gettextized
32977 string.
32978 (run): Likewise.
32979 (grub_menu_entry_run): Likewise.
32980 * PO/POTFILES: Add normal/menu_entry.c.
32981
f616f51c
VS
329822009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
32983
32984 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
32985
57bbe3be
CPE
329862009-12-05 Carles Pina i Estany <carles@pina.cat>
32987
32988 * util/grub-install.in: Install gettext .mo files.
32989 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
32990
013d67a1
CPE
329912009-12-05 Carles Pina i Estany <carles@pina.cat>
32992
32993 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
32994 grub_dprintf.
32995
fb954db0
RM
329962009-12-05 Robert Millan <rmh.grub@aybabtu.com>
32997
32998 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
32999 non-firmware-dependant one in realmode.S takes precedence.
33000
6b8474f8
RM
330012009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33002
33003 * commands/halt.c: Replace misc arch-specific headers with
33004 `<grub/misc.h>'.
33005 * commands/reboot.c: Likewise.
33006 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33007 `<grub/misc.h>'.
33008 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33009 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33010 (kernel_img_SOURCES): ... to here.
33011
33012 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33013 * include/grub/i386/pc/init.h: Likewise.
33014 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33015 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33016
33017 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33018
33019 * include/grub/i386/halt.h: Remove.
33020 * include/grub/i386/reboot.h: Likewise.
33021
33022 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33023
4b2e6ca2
DM
330242009-12-03 David S. Miller <davem@sunset.davemloft.net>
33025
33026 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33027 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33028 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33029 "progname.h"
33030 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33031 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33032 (usage): Add missing comma in printf.
33033
5239348f
RM
330342009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33035
33036 Use the same reboot approach on i386 coreboot and qemu as we do on
33037 BIOS.
33038
33039 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33040 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33041 * kern/i386/reboot.c: Remove.
33042 * include/grub/i386/reboot.h (grub_reboot): Export function.
33043 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33044 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33045 0xf000:0xfff0 instead of 0xffff:0x0000.
33046 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33047 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33048
ef34cbd4
RM
330492009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33050
33051 Fix $srcdir != $objdir build.
33052
33053 * Makefile.in (po/%.po): Rewrite as ...
33054 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33055
dc9837ea
ST
330562009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33057
33058 Fix GNU/Hurd grub-install crash.
33059 * util/grub-probe.c (probe): Try to access `path' only when it is not
33060 NULL.
33061
2f857f98
VS
330622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33063
33064 Correct module naming.
33065
33066 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33067 (GRUB_MOD_INIT(efi_uga)): ... to this
33068 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33069 (GRUB_MOD_FINI(efi_uga)): ... to this
33070 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33071 (GRUB_MOD_INIT(efi_gop)): ... to this
33072 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33073 (GRUB_MOD_FINI(efi_gop)): ... to this
33074
c5448046
RM
330752009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33076
33077 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33078 translatable.
33079 (usage): Translate `arg' strings using gettext().
33080 Thanks to Jordi Mallach for the suggestion.
33081
c85184ad
VS
330822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33083
33084 GOP support. Based on patch from Bean
33085 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33086
33087 * video/efi_gop.c: New file.
33088 * include/grub/efi/graphics_output.h: Likewise.
33089 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33090 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33091 variables.
33092 * conf/x86_64-efi.rmk: Likewise.
33093
8a4c48d8
VS
330942009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33095
33096 Rename efi_fb to efi_uga.
33097
33098 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33099 'efi_uga.mod'.
33100 (efi_fb_mod_SOURCES): Rename this ...
33101 (efi_uga_mod_SOURCES): ... to this.
33102 (efi_fb_mod_CFLAGS): Rename this ...
33103 (efi_uga_mod_CFLAGS): ... to this.
33104 (efi_fb_mod_LDFLAGS): Rename this ...
33105 (efi_uga_mod_LDFLAGS): ... to this.
33106 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33107 'efi_uga.mod'.
33108 (efi_fb_mod_SOURCES): Rename this ...
33109 (efi_uga_mod_SOURCES): ... to this.
33110 (efi_fb_mod_CFLAGS): Rename this ...
33111 (efi_uga_mod_CFLAGS): ... to this.
33112 (efi_fb_mod_LDFLAGS): Rename this ...
33113 (efi_uga_mod_LDFLAGS): ... to this.
33114 * video/efi_fb.c: Move this ...
33115 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33116
fb6c1a7b
RM
331172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33118
33119 * po/README: New file. Explain our PO file workflow.
33120
3bc7896c
RM
331212009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33122
33123 * po/ChangeLog: Remove. Move relevant entries back to ...
33124 * ChangeLog: ... here.
33125 * po/ca.po: Remove (now handled by TLP).
33126 * po/id.po: Likewise.
33127 * po/zh_CN.po: Likewise.
33128 * Makefile.in (LINGUAS): Initialize in a way that supports
33129 empty set.
33130
9ed4841d
RM
331312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33132
33133 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33134 reliing on po/LINGUAS.
33135 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33136 (po/%.po): ... this.
33137
0ad46fd7 331382009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33139
33140 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33141 (main): Use `program_name' instead of nonexistent `progname'.
33142
e30dd392
FZ
331432009-11-26 Felix Zielcke <fzielcke@z-51.de>
33144
33145 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33146 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33147
7656de4f
RM
331482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33149
33150 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33151 commit.
33152 * conf/i386-efi.rmk: Likewise.
33153 * conf/i386-ieee1275.rmk: Likewise.
33154 * conf/powerpc-ieee1275.rmk: Likewise.
33155 * conf/sparc64-ieee1275.rmk: Likewise.
33156 * conf/x86_64-efi.rmk: Likewise.
33157
db77c4d4
FZ
331582009-11-26 Felix Zielcke <fzielcke@z-51.de>
33159
33160 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33161
a755bb04
FZ
331622009-11-26 Felix Zielcke <fzielcke@z-51.de>
33163
33164 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33165
8a4c07fd
RM
331662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33167
33168 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33169 (grub_mkdevicemap_SOURCES): New variable.
33170 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33171 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33172 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33173 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33174 (grub_mkdevicemap_SOURCES): Remove.
33175 * conf/i386-efi.rmk: Likewise.
33176 * conf/i386-ieee1275.rmk: Likewise.
33177 * conf/i386-pc.rmk: Likewise.
33178 * conf/powerpc-ieee1275.rmk: Likewise.
33179 * conf/sparc64-ieee1275.rmk: Likewise.
33180 * conf/x86_64-efi.rmk: Likewise.
33181 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33182 (usage): Fix strings to use `program_name'.
33183 (main): Initialize gettext.
33184 * util/grub-editenv.c: Likewise.
33185 * util/grub-emu.c: Likewise.
33186 * util/grub-fstest.c: Likewise.
33187 * util/grub-mkdevicemap.c: Likewise.
33188 * util/grub-mkfont.c: Likewise.
33189 * util/grub-mkrelpath.c: Likewise.
33190 * util/grub-pe2elf.c: Likewise.
33191 * util/grub-probe.c: Likewise.
33192 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33193 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33194 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33195
33196 * util/misc.c: Include `"progname.h"'.
33197 (progname): Remove variable.
33198 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33199
6f61ed55
FZ
332002009-11-25 Felix Zielcke <fzielcke@z-51.de>
33201
33202 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33203 printf and print a newline after the menuentry header line.
33204 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33205
f022876b
FZ
332062009-11-25 Felix Zielcke <fzielcke@z-51.de>
33207
33208 autoconf >= 2.60 support $(localedir).
33209
33210 * INSTALL: Note that autoconf 2.60 is required.
33211 * configure.ac (AC_PREREQ): Bump to 2.60.
33212 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33213 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33214
6717926e
YB
332152009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33216
33217 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33218 aclocal is run.
33219
08806a54
RM
332202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33221
33222 * normal/main.c (grub_normal_read_line): Fix off-by-one
33223 buffer overflow.
33224
13b33fba
RM
332252009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33226
33227 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33228 "parser.grub" in grub_command_execute() call.
33229
4a8572e9
CPE
332302009-11-24 Carles Pina i Estany <carles@pina.cat>
33231
33232 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33233 * conf/i386-efi.rmk: Likewise.
33234 * conf/i386-ieee1275.rmk: Likewise.
33235 * conf/i386-pc.rmk: Likewise.
33236 * conf/powerpc-ieee1275.rmk: Likewise.
33237 * conf/sparc64-ieee1275.rmk: Likewise.
33238 * conf/x86_64-efi.rmk: Likewise.
33239 * gettext/gettex.c: Include <grub/i18n.h>.
33240 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33241 here ...
33242 * include/grub/i18n.h: ... to here
33243 * include/grub/i18n.h: ... to here.
33244 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33245 (grub_gettext_dummy): Move above user.
4a8572e9 33246
bee48093
FZ
332472009-11-24 Felix Zielcke <fzielcke@z-51.de>
33248
33249 * util/Makefile.in (install-local): Convert a `for' into a normal
33250 shell expansion.
33251
a031e91c
RM
332522009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33253
33254 * autogen.sh: Add automake call.
33255 * config.guess: Remove.
33256 * config.sub: Likewise.
33257 * install-sh: Likewise.
33258
26bec39d
FZ
332592009-11-24 Felix Zielcke <fzielcke@z-51.de>
33260
33261 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33262
8e2532fd
FZ
332632009-11-24 Felix Zielcke <fzielcke@z-51.de>
33264
33265 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33266 function to a normal shell `for'.
33267
fefa1b7d
FZ
332682009-11-24 Felix Zielcke <fzielcke@z-51.de>
33269
33270 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33271
4501250b
FZ
332722009-11-24 Felix Zielcke <fzielcke@z-51.de>
33273
33274 * util/grub-mkrelpath.c: New file.
33275 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33276 (grub_mkrelpath_SOURCES): New variable.
33277 * include/grub/util/misc.h: New function prototype.
33278 * util/misc.c (make_system_path_relative_to_its_root): New function.
33279
33280 * util/grub-mkconfig_lib.in (bindir): New variable.
33281 (grub_mkrelpath): Likewise.
33282 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33283
33284 * util/probe.c (probe): Make the file path relative to its root.
33285 Change a info message to use the GRUB path. Enable again the
33286 check if we can read the file with GRUB facilities.
33287
33288 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33289 to its root.
33290
11d9778b
FZ
332912009-11-24 Felix Zielcke <fzielcke@z-51.de>
33292
33293 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33294 platform.
33295
4465287d
FZ
332962009-11-24 Felix Zielcke <fzielcke@z-51.de>
33297
33298 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33299 strncmp().
33300
62b47f22
FZ
333012009-11-24 Felix Zielcke <fzielcke@z-51.de>
33302
33303 * util/getroot.c (grub_util_is_dmraid): New function.
33304 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33305 devices as normal ones, not as LVM.
33306
1eafb9b9 333072009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33308
33309 * conf/common.rmk: Add grub-gettext_lib target and updates
33310 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33311 LDFLAGS.
33312 * gettext/gettext.c: New file. (Reads mo files).
33313 * include/grub/file.h (grub_file_pread): New prototype.
33314 * include/grub/i18n.h (_): New prototype.
33315 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33316 prototypes.
33317 * kern/misc.c (grub_gettext_dummy): New function.
33318 * normal/menu_text.c: Include <grub/i18n.h>.
33319 * normal/menu_text.c (print_timeout): Gettexttize string.
33320 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33321 * po/POTFILES: Add `normal/menu_text.c'.
33322 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33323 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33324 gettext module and defines locale_dir and lang in grub.cfg.
33325 * NEWS: Add gettext support.
33326
0fdb2568
RM
333272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33328
33329 * util/hostdisk.c: Include `<grub/i18n.h>'.
33330 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33331 (make_device_name): Rewrite using asprintf.
33332 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33333 (find_system_device): If a device is not found, generate one just
33334 by reusing the OS path name.
33335 (read_device_map): Make it permissible for device.map not to exist.
33336
f515aa62
RM
333372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33338
33339 * script/sh/execute.c: Move from here ...
33340 * script/execute.c: ... to here. Update all users.
33341 * script/sh/function.c: Move from here ...
33342 * script/function.c: ... to here. Update all users.
33343 * script/sh/lexer.c: Move from here ...
33344 * script/lexer.c: ... to here. Update all users.
33345 * script/sh/main.c: Move from here ...
33346 * script/main.c: ... to here. Update all users.
33347 * script/sh/parser.y: Move from here ...
33348 * script/parser.y: ... to here. Update all users.
33349 * script/sh/script.c: Move from here ...
33350 * script/script.c: ... to here. Update all users.
33351
f84b481b
RM
333522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33353
33354 * configure.ac: Detect all `emu' platforms. Define
33355 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33356 --enable-grub-emu logic. Disable include/grub/machine
33357 symlink on `emu' platforms.
33358
33359 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33360 * gensymlist.sh.in: Likewise.
33361
33362 * include/grub/i386/coreboot/machine.h: Remove file.
33363 * include/grub/i386/efi/machine.h: Likewise.
33364 * include/grub/i386/ieee1275/machine.h: Likewise.
33365 * include/grub/i386/pc/machine.h: Likewise.
33366 * include/grub/i386/qemu/machine.h: Likewise.
33367 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33368 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33369 * include/grub/x86_64/efi/machine.h: Likewise.
33370
33371 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33372 * commands/halt.c: Likewise.
33373 * commands/reboot.c: Likewise.
33374 * include/grub/autoefi.h: Likewise.
33375 * include/grub/i386/at_keyboard.h: Likewise.
33376 * include/grub/i386/kernel.h: Likewise.
33377 * include/grub/i386/loader.h: Likewise.
33378 * include/grub/i386/pc/memory.h: Likewise.
33379 * kern/dl.c: Likewise.
33380 * kern/i386/coreboot/init.c: Likewise.
33381 * loader/i386/bsd.c: Likewise.
33382 * loader/i386/linux.c: Likewise.
33383 * loader/multiboot_loader.c: Likewise.
33384 * term/i386/pc/serial.c: Likewise.
33385 * term/usb_keyboard.c: Likewise.
33386
33387 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33388 `<grub/machine/machine.h>'
33389 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33390 * util/misc.c: Remove `<grub/machine/machine.h>' and
33391 `<grub/machine/time.h>'.
33392
33393 * Makefile.in (enable_grub_emu): Remove variable.
33394 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33395
33396 * conf/any-emu.rmk: New file.
33397 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33398 (grub_emu_init.c): Move from here ...
33399 * conf/any-emu.rmk: ... to here.
33400
33401 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33402 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33403 * conf/any-emu.rmk: ... to here.
33404
4efeab03
RM
334052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33406
33407 * include/grub/parser.h (grub_parser_register): Document need
33408 of `name' parameter.
33409 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33410 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33411 "sh" to "grub".
33412
ea1dd8bf
RM
334132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33414
33415 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33416 `$(XGETTEXT)'.
33417 * include/grub/i18n.h (N_): New macro.
33418 * util/mkisofs/mkisofs.h: Likewise.
33419 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33420 around N_().
33421 (usage): Use gettext() to translate help strings when printing them.
33422
0c140626
RM
334232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33424
33425 Based on patch from Bean
33426 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33427
33428 * video/efi_fb.c: New file.
33429 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33430 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33431 variables.
33432 * conf/x86_64-efi.rmk: Likewise.
33433
87d58298
RM
334342009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33435
33436 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33437 * util/i386/pc/grub-setup.c: Likewise.
33438
994cc3a3
ST
334392009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33440
33441 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33442 <hurd/fs.h>
33443 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33444 file_get_storage_info to implement grub_guess_root_device.
33445
26a61d6a
FZ
334462009-11-21 Felix Zielcke <fzielcke@z-51.de>
33447
33448 * Makefile.in (target): Use make's builtin $(shell) function
33449 instead of calling directly $(SHELL) to create the locale directories,
33450 inside the $(foreach) function.
33451
74ff1dd5
FZ
334522009-11-21 Felix Zielcke <fzielcke@z-51.de>
33453
33454 * util/grub-mkrescue.in: Print an error and usage if output option
33455 has not been given.
33456
0b787d0e
FZ
334572009-11-21 Felix Zielcke <fzielcke@z-51.de>
33458
33459 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33460 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33461 root and /boot are on different devices.
33462
1164b270
RM
334632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33464
33465 Fix build for srcdir != objdir.
33466
33467 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33468 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33469 $(srcdir).
33470 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33471 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33472 reference for input.
33473
13774a2f
RM
334742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33475
33476 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33477 or hardlinking it). Remove -J option, Joliet is not compatible with
33478 multiple source directories.
33479
efda854e
RM
334802009-11-21 Carles Pina i Estany <carles@pina.cat>
334812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33482
33483 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33484 (process_input_dir): New function. Process an arbitrary input
33485 directory.
33486 Misc adjustments to support both "override mode" and system-wide mode.
33487
6c09890c
FZ
334882009-11-20 Felix Zielcke <fzielcke@z-51.de>
33489
33490 * configure.ac (UNIFONT_BDF): Rename to ...
33491 (FONT_SOURCE): ... this. Update all users.
33492
a797824f
FZ
334932009-11-20 Felix Zielcke <fzielcke@z-51.de>
33494
33495 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33496 to the list of unifont files to look for.
33497
cd4f42b0
RM
334982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33499
33500 Patch from Joe Auricchio <jauricchio@gmail.com>
33501 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33502 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33503 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33504
393c783d
FZ
335052009-11-19 Felix Zielcke <fzielcke@z-51.de>
33506
33507 * Makefile.in (install-local): Add a missing backslash.
33508
b2f1e327
FZ
335092009-11-19 Felix Zielcke <fzielcke@z-51.de>
33510
33511 * include/grub/x86_64/io.h: New file.
33512
f577f7a0
RM
335132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33514
33515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33516 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33517 Include `"progname.h"'.
33518 (main): Initialize gettext.
33519 * util/i386/pc/grub-setup.c: Gettexttize.
33520 * util/i386/pc/grub-mkimage.c: Likewise.
33521
33522 * Makefile.in (po/*.po): Redefine as ...
33523 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33524
3bc7896c
RM
33525 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33526
c37943b6
RM
335272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33528
33529 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33530 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33531 (program_name): Remove.
33532 (main): Initialize gettext support.
6323f705
RM
33533 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33534 Include `<libintl.h>'.
33535 (_): New macro.
c37943b6
RM
33536
33537 * util/mkisofs/eltorito.c: Gettexttize.
33538 * util/mkisofs/joliet.c: Likewise.
33539 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33540 * util/mkisofs/multi.c: Likewise.
33541 * util/mkisofs/rock.c: Likewise.
33542 * util/mkisofs/tree.c: Likewise.
33543 * util/mkisofs/write.c: Likewise.
33544
3bc7896c
RM
33545 * po/POTFILES: Update with new files.
33546
5ce77c6e
RM
335472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33548
33549 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33550 * util/mkisofs/iso9660.h: Likewise.
33551 * util/mkisofs/joliet.c: Likewise.
33552 * util/mkisofs/mkisofs.c: Likewise.
33553 * util/mkisofs/mkisofs.h: Likewise.
33554 * util/mkisofs/rock.c: Likewise.
33555 * util/mkisofs/tree.c: Likewise.
33556 * util/mkisofs/write.c: Likewise.
33557
33558 * util/mkisofs/eltorito.c (rcsid): Remove.
33559 * util/mkisofs/hash.c: Likewise.
33560 * util/mkisofs/joliet.c: Likewise.
33561 * util/mkisofs/name.c: Likewise.
33562 * util/mkisofs/rock.c: Likewise.
33563 * util/mkisofs/tree.c: Likewise.
33564 * util/mkisofs/write.c: Likewise.
33565
1dabbc77
RM
335662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33567
33568 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33569 instead of static allocation.
33570 * util/mkisofs/match.h: Likewise.
33571
633877cb
RM
335722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33573
3bc7896c
RM
33574 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33575 and `util/grub.d/10_linux.in'.
633877cb
RM
33576 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33577 translatable Shell files.
33578
af1c0c85
RM
335792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33582
769ae37b
RM
335832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33584
33585 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33586 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33587 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33588 Add gettext initialization.
33589 (kfreebsd_entry): Make menuentry output translatable.
33590
335912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33592
33593 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33594 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33595 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33596 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33597 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33598 * po/LINGUAS: New file.
769ae37b
RM
33599
336002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33601
33602 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33603 other things).
33604 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33605 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33606 bindtextdomain() calls for gettext initialization.
33607
336082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33609
33610 * gnulib/progname.c: New file (imported from Gnulib).
33611 * gnulib/progname.h: Likewise.
33612 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33613 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33614 (usage): Replace `progname' with `program_name'.
33615 (main): Use set_program_name() for program name initialization.
33616
336172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33618
33619 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33620 from here ...
33621 * Makefile.in (CPPFLAGS): ... to here.
33622
336232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33624
33625 * aclocal.m4: Move from here ...
33626 * acinclude.m4: ... to here.
33627 * autogen.sh: Add call to `aclocal'.
33628 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33629
336302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33631
33632 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33633 (LINGUAS): New variable.
33634 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33635 (install-local): Install MO files.
33636 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33637 * include/grub/i18n.h: New file.
3bc7896c
RM
33638 * po/POTFILES: New file.
33639 * po/ca.po: New file.
769ae37b
RM
33640 * util/grub.d/10_linux.in (bindir): New variable.
33641 Add gettext initialization.
33642 (linux_entry): Make menuentry output translatable.
33643 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33644 (usage): Make --help output translatable.
33645 (main): Initialize gettext.
33646
02c0a6ad
RM
336472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33648
33649 * import_gcry.py: New file (written by Vladimir with minor
33650 adjustments).
33651 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33652 ciphers.
33653 * INSTALL: Document that Python is required for bootstrap.
33654
336552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33656
33657 Import ciphers from libgcrypt 1.4.4.
33658
33659 * lib/libgcrypt/cipher/ChangeLog
33660 * lib/libgcrypt/cipher/ac.c
33661 * lib/libgcrypt/cipher/arcfour.c
33662 * lib/libgcrypt/cipher/bithelp.h
33663 * lib/libgcrypt/cipher/blowfish.c
33664 * lib/libgcrypt/cipher/camellia-glue.c
33665 * lib/libgcrypt/cipher/camellia.c
33666 * lib/libgcrypt/cipher/camellia.h
33667 * lib/libgcrypt/cipher/cast5.c
33668 * lib/libgcrypt/cipher/cipher.c
33669 * lib/libgcrypt/cipher/crc.c
33670 * lib/libgcrypt/cipher/des.c
33671 * lib/libgcrypt/cipher/dsa.c
33672 * lib/libgcrypt/cipher/ecc.c
33673 * lib/libgcrypt/cipher/elgamal.c
33674 * lib/libgcrypt/cipher/hash-common.c
33675 * lib/libgcrypt/cipher/hash-common.h
33676 * lib/libgcrypt/cipher/hmac-tests.c
33677 * lib/libgcrypt/cipher/md.c
33678 * lib/libgcrypt/cipher/md4.c
33679 * lib/libgcrypt/cipher/md5.c
33680 * lib/libgcrypt/cipher/primegen.c
33681 * lib/libgcrypt/cipher/pubkey.c
33682 * lib/libgcrypt/cipher/rfc2268.c
33683 * lib/libgcrypt/cipher/rijndael-tables.h
33684 * lib/libgcrypt/cipher/rijndael.c
33685 * lib/libgcrypt/cipher/rmd.h
33686 * lib/libgcrypt/cipher/rmd160.c
33687 * lib/libgcrypt/cipher/rsa.c
33688 * lib/libgcrypt/cipher/seed.c
33689 * lib/libgcrypt/cipher/serpent.c
33690 * lib/libgcrypt/cipher/sha1.c
33691 * lib/libgcrypt/cipher/sha256.c
33692 * lib/libgcrypt/cipher/sha512.c
33693 * lib/libgcrypt/cipher/tiger.c
33694 * lib/libgcrypt/cipher/twofish.c
33695 * lib/libgcrypt/cipher/whirlpool.c
33696
af2f93ac
RM
336972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33698
33699 Fix build for systems without error().
33700
33701 * gnulib/error.c: New file (imported from Gnulib).
33702 * gnulib/error.h: Likewise.
33703 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33704 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33705 (this variable is now used by error()).
33706
73fb3dd5
FZ
337072009-11-16 Felix Zielcke <fzielcke@z-51.de>
33708
814f5e96
FZ
33709 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33710 instead of relying that char is signed.
73fb3dd5 33711
a691ca33
VS
337122009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33713
33714 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33715 blocksize different from specified.
33716 (grub_pxefs_read): Likewise.
33717
2af8f0f4
FZ
337182009-11-16 Felix Zielcke <fzielcke@z-51.de>
33719
33720 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33721
33722 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33723 (grub_ata_readwrite): Likewise. Update 2 format strings.
33724 (grub_atapi_read): Likewise.
33725
33726 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33727 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33728 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33729 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33730 (ata_mod_LDFLAGS): Move from here ...
33731 * conf/i386.rmk: ... to here ...
33732 * conf/x86_64-efi.rmk: ... and here.
33733 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33734 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33735
83bdecaf
RM
337362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33737
33738 Relicense multiboot.h, with RMS' blessing.
33739
33740 * include/multiboot.h: Change to X11 license.
33741
fd6fd3d7
RM
337422009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33743
33744 Support --version in grub-mkisofs.
33745
33746 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33747 (OPTION_VERSION): New macro.
33748 (ld_options): Recognize --version.
33749 (usage): Move `program_name' from here ...
33750 (program_name): ... to here. Add `static' qualifier.
33751 (main): Recognize `OPTION_VERSION'.
33752
16a88c49
FZ
337532009-11-15 Felix Zielcke <fzielcke@z-51.de>
33754
33755 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33756 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33757
a4158476
RM
337582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33759
33760 Fix help2man generation for mkisofs.
33761
33762 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33763 (usage): Send output to stdout (rather than stderr).
33764
fc2208b0
RM
337652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33766
33767 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33768 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33769 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33770 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33771 (bin_SCRIPTS): Add `grub-mkfloppy'.
33772 (grub_mkfloppy_SOURCES): New variable.
33773
33774 * util/grub-mkrescue.in: New file.
33775 * util/i386/pc/grub-mkfloppy.in: New file.
33776
33777 * util/i386/coreboot/grub-mkrescue.in: Remove.
33778 * util/i386/pc/grub-mkrescue.in: Remove.
33779
8d0edf4a
RM
337802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33781
33782 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33783 from here ...
33784 * include/multiboot.h (struct multiboot_header): ... to here. Update
33785 all users.
33786 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33787 from here ...
33788 * include/multiboot.h (struct multiboot_info): ... to here. Update
33789 all users.
33790 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33791 from here ...
33792 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33793 Update all users.
33794 * include/grub/multiboot.h (struct grub_mod_list): Move
33795 from here ...
33796 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33797 Update all users.
33798
a73f5969
RM
337992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33800
33801 * include/multiboot2.h (multiboot_word): Rename from this ...
33802 (multiboot2_word): ... to this. Update all users.
33803 (multiboot_header): Rename from this ...
33804 (multiboot2_header): ... to this. Update all users.
33805 (multiboot_tag_header): Rename from this ...
33806 (multiboot2_tag_header): ... to this. Update all users.
33807 (multiboot_tag_start): Rename from this ...
33808 (multiboot2_tag_start): ... to this. Update all users.
33809 (multiboot_tag_name): Rename from this ...
33810 (multiboot2_tag_name): ... to this. Update all users.
33811 (multiboot_tag_module): Rename from this ...
33812 (multiboot2_tag_module): ... to this. Update all users.
33813 (multiboot_tag_memory): Rename from this ...
33814 (multiboot2_tag_memory): ... to this. Update all users.
33815 (multiboot_tag_unused): Rename from this ...
33816 (multiboot2_tag_unused): ... to this. Update all users.
33817 (multiboot_tag_end): Rename from this ...
33818 (multiboot2_tag_end): ... to this. Update all users.
33819
1c8927f0
RM
338202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33821
33822 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33823 this platform we should support Multiboot1 first.
33824
33825 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33826 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33827 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33828
6e1e0d89
RM
338292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33830
33831 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33832 of write calls (converting them to fwrite() if they aren't already).
33833 (get_torito_desc): Likewise.
33834 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33835
7f2b34d8
RM
338362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33837
33838 * util/i386/pc/grub-install.in: Move from here ...
33839 * util/grub-install.in: ... to here. Update all users.
33840
c0ef3311
CW
338412009-11-11 Colin Watson <cjwatson@ubuntu.com>
33842
33843 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33844
e1f240ff
RM
338452009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33846
33847 Support for El Torito without floppy emulation.
33848
33849 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33850 (init_boot_catalog): Improve error handling.
33851 (get_torito_desc): Don't use floppy emulation unless requested by
33852 user. Patch boot information table when requested via
33853 `-boot-info-table'.
33854 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
33855 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
33856 (use_boot_info_table): New variables.
33857 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
33858 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
33859 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
33860 `--eltorito-emul-floppy'.
33861 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
33862 and `OPTION_ELTORITO_EMUL_FLOPPY'.
33863 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
33864 (use_boot_info_table, get_731): New prototypes.
33865 * util/mkisofs/write.c (get_731): New function.
33866
af7d4de5
FZ
338672009-11-11 Felix Zielcke <fzielcke@z-51.de>
33868
33869 Fix the generation of the man page.
33870
33871 * util/pc/i386/grub-install.in: Source
33872 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33873
2c55dbc0
RM
338742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33875
33876 Large file support for grub-mkisofs.
33877
33878 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
33879 * util/mkisofs/mkisofs.c (next_extent, last_extent)
33880 (session_start): Upgrade type to `uint64_t'. Update all users.
33881 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
33882 (struct directory_entry): Upgrade type of `starting_block' and
33883 `size' to `uint64_t'. Update all users.
33884 (struct deferred): Remove unused structure.
33885 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
33886 Update all users.
33887 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
33888 file is larger than `UINT32_MAX'.
33889 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
33890 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
33891 return value.
33892 (struct deferred_write): Upgrade type of `extent' and `size' to
33893 `uint64_t'. Update all users.
33894 (last_extent_written): Upgrade type to `uint64_t'. Update all
33895 users.
33896 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
33897 Update all users. Upgrade type of `remain' to `int64_t' and
33898 `use' to `size_t'. Use error() to handle fread() errors.
33899 (write_files): Rely on write_one_file() rather than calling
33900 xfwrite() directly.
33901
6a9cead5
FZ
339022009-11-09 Felix Zielcke <fzielcke@z-51.de>
33903
33904 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
33905
4825d790
RM
339062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33907
33908 * util/mkisofs/fnmatch.c: Remove.
33909 * util/mkisofs/getopt1.c: Likewise.
33910 * util/mkisofs/getopt.c: Likewise.
33911 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
33912 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
33913 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
33914 `gnulib/getopt1.c' and `gnulib/getopt.c'.
33915 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
33916
33917 * configure.ac: Detect `mingw32msvc' host_os.
33918 Check for lstat(), getuid() and getgid().
33919
33920 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
33921 instances of `u_char' with `uint8_t'.
33922
33923 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
33924 [!HAVE_GETUID] (getuid): New function (stub).
33925 [!HAVE_GETGID] (getgid): Likewise.
33926 [!HAVE_LSTAT] (lstat): Likewise.
33927 [!S_IROTH] (S_IROTH): New macro (dummy).
33928 [!S_IRGRP] (S_IRGRP): Likewise.
33929
84b860d8
RM
339302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33931
33932 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
33933 conditional expression).
33934
66e9b712
RM
339352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33936
33937 Import from Gnulib.
33938
33939 * gnulib/fnmatch.c: New file.
33940 * gnulib/fnmatch.h: Likewise.
33941 * gnulib/fnmatch_loop.c: Likewise.
33942 * gnulib/getopt.c: Likewise.
33943 * gnulib/getopt.h: Likewise.
33944 * gnulib/getopt1.c: Likewise.
33945 * gnulib/getopt_int.h: Likewise.
33946 * gnulib/gettext.h: Likewise.
33947
34f4a5b0
RM
339482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33949
33950 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
33951 * normal/handler.c (read_handler_list): Likewise.
33952
ac451143
RM
339532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33954
33955 Misc cleanup.
33956
33957 * kern/command.c (grub_register_command_prio): Use
33958 grub_zalloc() instead of explicitly zeroing data.
33959 * kern/list.c: Include `<grub/mm.h>'.
33960 (grub_named_list_find): Replace `0' with `NULL'.
33961 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
33962 (fs_module_list): Change type to `grub_named_list_t'. Update all
33963 users.
33964 * normal/dyncmd.c (read_command_list): Add space between function
33965 call and parenthesis.
33966 * normal/handler.c (read_handler_list): Likewise.
33967
4089b167
RM
339682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33969
33970 * normal/auth.c (punishment_delay): Moved from here ...
33971 (grub_auth_strcmp): ... to here (inside function).
33972
325f5037
RM
339732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33974
33975 * include/grub/list.h (struct grub_named_list): Remove `const'
33976 qualifier from `name'.
33977 (struct grub_prio_list): Likewise.
33978
7aea29a3
RM
339792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33980
33981 * normal/auth.c: Include `<grub/time.h>'.
33982 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
33983
3fd6f044
RM
339842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33985
33986 * normal/auth.c (punishment_delay): New variable.
33987 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
33988 (grub_auth_check_authentication): Punish failed login attempts with
33989 an incremental (2^N) delay.
33990
a4cd68e4
RM
339912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
33992
33993 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
33994 path with $(srcdir).
33995
7ad12f43
VS
339962009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33997
33998 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
33999
c1129f03
RM
340002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34001
34002 * util/i386/coreboot/grub-mkrescue.in: New file.
34003 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34004 variables.
34005
34006 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34007 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34008 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34009 requirements.
34010 * util/mkisofs/defaults.h: New file.
34011 * util/mkisofs/eltorito.c: Likewise.
34012 * util/mkisofs/exclude.h: Likewise.
34013 * util/mkisofs/fnmatch.c: Likewise.
34014 * util/mkisofs/getopt.c: Likewise.
34015 * util/mkisofs/getopt1.c: Likewise.
34016 * util/mkisofs/hash.c: Likewise.
34017 * util/mkisofs/include/fctldefs.h: Likewise.
34018 * util/mkisofs/include/mconfig.h: Likewise.
34019 * util/mkisofs/include/prototyp.h: Likewise.
34020 * util/mkisofs/include/statdefs.h: Likewise.
34021 * util/mkisofs/iso9660.h: Likewise.
34022 * util/mkisofs/joliet.c: Likewise.
34023 * util/mkisofs/match.c: Likewise.
34024 * util/mkisofs/match.h: Likewise.
34025 * util/mkisofs/mkisofs.c: Likewise.
34026 * util/mkisofs/mkisofs.h: Likewise.
34027 * util/mkisofs/multi.c: Likewise.
34028 * util/mkisofs/name.c: Likewise.
34029 * util/mkisofs/rock.c: Likewise.
34030 * util/mkisofs/tree.c: Likewise.
34031 * util/mkisofs/write.c: Likewise.
34032
ec8bb77d
VS
340332009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34034
34035 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34036 being insecure.
34037
3716b12c
RM
340382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34039
34040 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34041 `grub-mkimage' (and use $0 when possible).
34042
b97b7b91
RM
340432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34044
34045 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34046 error message for excessively large memory map.
34047
04114812
RM
340482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34049
34050 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34051 executable bit.
34052
e4eb2373
RM
340532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34054
34055 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34056 message for coreboot users.
34057
c926e1d5 340582009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34059
34060 Fix build with GNU gold.
34061
34062 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34063 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34064 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34065 link addresses.
34066 * aclocal.m4: Likewise.
34067
86e5b1db 340682009-11-04 Felix Zielcke <fzielcke@z-51.de>
34069
34070 * configure.ac (AC_PREREQ): Bump to 2.59d.
34071 * INSTALL: Make it more clear when Autoconf and Ruby are
34072 needed and when to run `./autogen.sh'.
34073
246cd78f 340742009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34075
34076 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34077 OSes.
34078
4f9dfb37 340792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34080
34081 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34082
b82bd5e1 340832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34084
34085 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34086 giving it to GNU Mach.
34087
ff1a9bca 340882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34089
34090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34091 GNU partition number to get internal GRUB partition number.
34092
61697d9c 340932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34094
34095 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34096 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34097
a50569e1 340982009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34099
34100 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34101 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34102 case.
34103
5b153867 341042009-11-01 Felix Zielcke <fzielcke@z-51.de>
34105
34106 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34107
d9e2cd70 341082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34109
34110 Fix build problem.
34111
34112 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34113 `-isystem=$(srcdir)/include'.
34114
805111a4 341152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34116
34117 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34118 checked (grub-install doesn't currently rely on it).
34119
fa6e945f 341202009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34121
34122 Revert SVN r2660.
34123
34124 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34125 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34126 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34127 * conf/i386-ieee1275.rmk: Likewise.
34128 * conf/i386-pc.rmk: Likewise.
34129 * conf/powerpc-ieee1275.rmk: Likewise.
34130 * conf/sparc64-ieee1275.rmk: Likewise.
34131 * conf/x86_64-efi.rmk: Likewise.
34132
cee15086 341332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34134
34135 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34136
95b9239e 341372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34138
34139 * include/grub/misc.h: Stop checking for APPLE_CC.
34140
2ed19dfd 341412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34142
34143 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34144 doesn't cause an infinite call loop.
34145
fdcdde19 341462009-10-28 Felix Zielcke <fzielcke@z-51.de>
34147
34148 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34149 strings.
34150
cefabfe1 341512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34152
34153 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34154 variable.
34155 * Makefile.in: Likewise.
34156
ed96ab6d 341572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34158
34159 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34160
0579b753 341612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34162
34163 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34164
478df409 341652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34166
34167 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34168
083d1679 341692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34170
34171 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34172 from here ...
34173 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34174
5947ae32 341752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34176
34177 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34178 in $(MAKEINFO) invocation. This makes it clear in output that
34179 errors are being ignored.
34180
94180ff6 341812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34182
34183 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34184 from here ...
34185 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34186 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34187 * conf/i386-ieee1275.rmk: Likewise.
34188 * conf/i386-pc.rmk: Likewise.
34189 * conf/powerpc-ieee1275.rmk: Likewise.
34190 * conf/sparc64-ieee1275.rmk: Likewise.
34191 * conf/x86_64-efi.rmk: Likewise.
34192
9031b03a 341932009-10-26 Colin Watson <cjwatson@ubuntu.com>
34194
34195 * util/grub-editenv.c (main): If only a command is given, use
34196 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34197 (usage): FILENAME is now optional and has a default.
34198
e4f6809b 341992009-10-26 Colin Watson <cjwatson@ubuntu.com>
34200
34201 Improve grub-mkconfig performance when there are several menu
34202 entries on a single filesystem.
34203
34204 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34205 prepare_grub_to_access_device.
34206 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34207 * util/grub.d/30_os-prober.in: Likewise.
34208
67937d4d 342092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34210
34211 * util/grub.d/10_freebsd.in: Remove.
34212 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34213 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34214
ee3756cc 342152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34216
5c35048e 34217 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34218
4dea1c6f 342192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34220
34221 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34222 grub_util_error() call.
34223
042484d7 342242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34225
34226 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34227 `reserved_first_sector' member.
34228 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34229 `reserved_first_sector' to 1.
34230 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34231 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34232 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34233 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34234 filesystems which begin at first sector.
34235 (options): New option --skip-fs-probe.
34236 (main): Handle --skip-fs-probe and pass it to setup().
34237
d64448a7 342382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34239
34240 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34241 (memset): Fix function prototype.
34242
508d42ec 342432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
342442009-10-25 Vasily Averin <vvs@parallels.com>
34245
34246 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34247 `dirent.direntlen == 0'.
34248
b240e30c 342492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34250
34251 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34252 `cpio'.
34253 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34254
346e7fbe 342552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34256
34257 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34258 `__trampoline_setup' and `__ucmpdi2'.
34259 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34260 that libgcc provides.
34261
cdb308b0 342622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34263
34264 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34265 * include/grub/sparc64/libgcc.h (memset): Likewise.
34266 * include/grub/misc.h (memset, memcmp): New function prototypes.
34267
fb26abc2 342682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34269
34270 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34271 `cpio'.
34272 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34273
f6693890 342742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34275
34276 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34277 * docs/grub.cfg: Compensate for recent change in multiboot
34278 loader (since 2009-08-14 it won't pass filename to payload).
34279 * util/grub.d/10_hurd.in: Likewise.
34280
0933cdc0 342812009-10-21 Felix Zielcke <fzielcke@z-51.de>
34282
34283 * config.guess: Update to latest version from config git
34284 repository.
34285 * config.sub: Likewise.
34286
3b2fe8c2 342872009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34288
34289 Fix build on sparc64.
34290
34291 * configure.ac: Perform checks for libgcc symbols before
34292 adding `-nostdlib' to LDFLAGS.
34293
46695a62 342942009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34295
34296 Let user specify OpenBSD root device.
34297
34298 * loader/i386/bsd.c (openbsd_root): New variable.
34299 (openbsd_opts): New option 'root'.
34300 (OPENBSD_ROOT_ARG): New macro.
34301 (grub_openbsd_boot): Use 'openbsd_root'.
34302 (grub_cmd_openbsd): Fill 'openbsd_root'.
34303
d2b6b7fc 343042009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34305
34306 * NEWS: Misc adjustments.
34307
421bd7ac 343082009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34309
34310 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34311
f1d29d87 343122009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34313
34314 * configure.ac: Bump version to 1.97.
34315
6f3cd880 343162009-10-16 Colin Watson <cjwatson@ubuntu.com>
34317
34318 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34319 -mno-3dnow on x86 architectures. Some toolchains enable these
34320 features by default, but they rely on registers that aren't enabled
34321 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34322
035f7122 343232009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34324
34325 Make entry text a bit more readable.
34326
34327 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34328
44998e58 343292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34330
34331 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34332
cd2851b3 343332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34334
34335 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34336 operations.
34337
c6f3b249 343382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34339
34340 * configure.ac: Add missing dollar.
34341
6b5886ba 343422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34343
34344 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34345
34346 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34347 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34348 exports.
34349 * include/grub/sparc64/libgcc.h: Likewise. Use
34350 preprocessor conditionals.
34351
e9d66f6d 343522009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34353
34354 * conf/common.rmk (grub-dumpbios): Remove rule.
34355 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34356 * util/grub-dumpbios.in: Remove file.
34357
9155bc17 343582009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34359
34360 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34361 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34362
34363 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34364 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34365 users.
34366
34367 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34368 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34369 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34370 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34371 users.
34372
bf7f7a18 343732009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34374
34375 * term/tparm.c: Switch to GPLv3.
34376
86564c26 343772009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34378
34379 * include/grub/i386/cpuid.h: Add header protection.
34380
5c936493 343812009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34382
34383 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34384
34385 * include/grub/i386/cpuid.h: New file.
34386 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34387 (has_longmode): Rename to ...
34388 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34389 `static' attribute.
34390 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34391 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34392 on a CPU that doesn't implement AMD64 instruction set.
34393
186e7cf2 343942009-10-06 Colin Watson <cjwatson@ubuntu.com>
34395
34396 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34397 that version.texi is rebuilt on version number changes.
34398
83b65c4a 343992009-10-06 Colin Watson <cjwatson@ubuntu.com>
34400
34401 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34402 Fixes bug #27602.
34403
d244281c 344042009-10-06 Colin Watson <cjwatson@ubuntu.com>
34405
34406 * util/i386/pc/grub-install.in: Source
34407 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34408 that the --grub-probe option will work.
34409 * util/sparc64/ieee1275/grub-install.in: Likewise.
34410
da25306d 344112009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34412
34413 * configure.ac: Bump version to 1.97~beta4.
34414
e8ee83c0 344152009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34416
34417 Resync grub-mkdevicemap in x86_64-efi.
34418
34419 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34420 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34421 `util/devicemap.c'.
34422
50dcabcf 344232009-10-01 Colin Watson <cjwatson@ubuntu.com>
34424
34425 * util/grub-editenv.c (create_envblk_file): Write new block with a
34426 .new suffix and then rename it into place, to ensure atomic
34427 creation.
34428
0e51c3a7 344292009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34430
34431 Do not automatically install headers.
34432
34433 * Makefile.in (include_DATA): Remove. Update all users.
34434
31299a95 344352009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34436
34437 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34438 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34439
34440 * util/osdetect.lua: Remove.
34441 * script/lua/lauxlib.c: Likewise.
34442 * script/lua/ldebug.c: Likewise.
34443 * script/lua/grub_main.c: Likewise.
34444 * script/lua/lauxlib.h: Likewise.
34445 * script/lua/ldebug.h: Likewise.
34446 * script/lua/ltablib.c: Likewise.
34447 * script/lua/liolib.c: Likewise.
34448 * script/lua/lstrlib.c: Likewise.
34449 * script/lua/lualib.h: Likewise.
34450 * script/lua/ldo.c: Likewise.
34451 * script/lua/ldump.c: Likewise.
34452 * script/lua/ldo.h: Likewise.
34453 * script/lua/loslib.c: Likewise.
34454 * script/lua/lundump.c: Likewise.
34455 * script/lua/grub_lib.c: Likewise.
34456 * script/lua/ldblib.c: Likewise.
34457 * script/lua/lundump.h: Likewise.
34458 * script/lua/lmem.c: Likewise.
34459 * script/lua/grub_lib.h: Likewise.
34460 * script/lua/lmathlib.c: Likewise.
34461 * script/lua/lstate.c: Likewise.
34462 * script/lua/ltm.c: Likewise.
34463 * script/lua/lvm.c: Likewise.
34464 * script/lua/lmem.h: Likewise.
34465 * script/lua/lstate.h: Likewise.
34466 * script/lua/ltm.h: Likewise.
34467 * script/lua/ltable.c: Likewise.
34468 * script/lua/lvm.h: Likewise.
34469 * script/lua/llex.c: Likewise.
34470 * script/lua/lgc.c: Likewise.
34471 * script/lua/grub_lua.h: Likewise.
34472 * script/lua/loadlib.c: Likewise.
34473 * script/lua/lfunc.c: Likewise.
34474 * script/lua/lopcodes.c: Likewise.
34475 * script/lua/lparser.c: Likewise.
34476 * script/lua/ltable.h: Likewise.
34477 * script/lua/llex.h: Likewise.
34478 * script/lua/lgc.h: Likewise.
34479 * script/lua/lfunc.h: Likewise.
34480 * script/lua/lbaselib.c: Likewise.
34481 * script/lua/lopcodes.h: Likewise.
34482 * script/lua/lparser.h: Likewise.
34483 * script/lua/lzio.c: Likewise.
34484 * script/lua/linit.c: Likewise.
34485 * script/lua/lobject.c: Likewise.
34486 * script/lua/llimits.h: Likewise.
34487 * script/lua/lstring.c: Likewise.
34488 * script/lua/lzio.h: Likewise.
34489 * script/lua/lapi.c: Likewise.
34490 * script/lua/lcode.c: Likewise.
34491 * script/lua/lua.h: Likewise.
34492 * script/lua/lobject.h: Likewise.
34493 * script/lua/lstring.h: Likewise.
34494 * script/lua/lapi.h: Likewise.
34495 * script/lua/lcode.h: Likewise.
34496 * script/lua/luaconf.h: Likewise.
34497
cb8a2c38 344982009-09-26 Colin Watson <cjwatson@ubuntu.com>
34499
34500 * docs/grub.texi (Command-line and menu entry commands): Document
34501 date and echo commands.
34502
6b9b6276 345032009-09-24 Pavel Roskin <proski@gnu.org>
34504
34505 * include/grub/kernel.h (struct grub_module_header): Remove
34506 `grub_module_header_types'. Make `type' unsigned. Make `size'
34507 32-bit on all platforms.
34508 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34509 8-bit field. Use grub_host_to_target32() for `size'.
34510 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34511 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34512 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34513
4e5a02a7 345142009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34515
34516 Fix "lost keypress" bug in at_keyboard.
34517
34518 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34519 Checks for readyness of input buffer (without flushing it).
34520 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34521 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34522
c6dcedf6 345232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34524
34525 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34526 size check within GRUB_MACHINE_PCBIOS section.
34527
74c958b1 345282009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34529
34530 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34531 return value.
34532 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34533 KEYBOARD_ISREADY check.
34534 (grub_at_keyboard_checkkey): Rename to ...
34535 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34536 Remove gratuitous cast.
34537
ff420223 345382009-09-23 Colin Watson <cjwatson@ubuntu.com>
34539
34540 * configure.ac: Call AC_PROG_MKDIR_P.
34541 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34542 version.texi in $(builddir) rather than $(srcdir).
34543 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34544 to makeinfo's @include search path.
34545
d96875df 345462009-09-23 Felix Zielcke <fzielcke@z-51.de>
34547
34548 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34549
9b3f8365 345502009-09-23 Felix Zielcke <fzielcke@z-51.de>
34551
34552 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34553 for `*.dpkg-new'.
34554
c44c90db 345552009-09-21 Colin Watson <cjwatson@ubuntu.com>
34556
34557 Build info documentation. Some code borrowed from Automake.
34558
34559 * configure.ac: Check for makeinfo.
34560 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34561 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34562 docs/version.texi.
34563 (MOSTLYCLEANFILES): Add vti.tmp.
34564 (docs/version.texi, docs/stamp-vti): Update automatically.
34565 (docs/grub.info): Build info documentation. Use --force and ignore
34566 errors for now.
34567 (all-local): Add $(INFOS).
34568 (install-local): Install info files.
34569 (uninstall): Uninstall info files.
34570 * docs/version.texi: Remove from revision control. This file is
34571 automatically generated on build now.
34572 * gendistlist.sh: Add `*.info'.
34573
e0b37bb5 345742009-09-21 Felix Zielcke <fzielcke@z-51.de>
34575
34576 * kern/term.c: Fix indentation.
34577
5a78865b 345782009-09-21 Felix Zielcke <fzielcke@z-51.de>
34579
34580 * util/hostdisk.c: Fix a comment.
34581
dace7e8a 345822009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34583
34584 Fix regression introduced in r2539.
34585
34586 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34587 to 0xA1.
34588
a83d079b 345892009-09-19 Colin Watson <cjwatson@ubuntu.com>
34590
34591 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34592 os-prober. Under normal operation, it does not print anything to
34593 stderr; if it does, we need to debug it, and throwing away stderr
34594 makes that excessively difficult.
a83d079b 34595
be94a509 345962009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34597
34598 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34599
63f745e8 346002009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34601
34602 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34603 AC_LANG_PROGRAM from autoconf.
34604 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34605 prototypes (fixes warning).
34606
34607 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34608 `--disable-werror' was used.
34609
bbb2a70f 346102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34611
34612 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34613 uninitialized `lastaddr'.
34614
77c24f1d 346152009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34616
0f0b8c87 34617 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34618
07197f23 346192009-09-14 Colin Watson <cjwatson@ubuntu.com>
34620
34621 * commands/test.c (get_fileinfo): Return immediately if
34622 grub_fs_probe fails.
34623
dabf1798 346242009-09-14 José Martínez <xosemp@gmail.com>
34625
34626 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34627
d52109a7 346282009-09-14 Colin Watson <cjwatson@ubuntu.com>
34629
34630 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34631 output.
34632
56532179 346332009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34634
34635 * configure.ac: Remove --enable-grub-pe2elf. Only build
34636 grub-pe2elf when needed by the build system itself.
34637 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34638
8ef070f5 346392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34640
34641 * configure.ac: Bump version to 1.97~beta3.
34642 * docs/version.texi: Likewise.
34643
61229557 346442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34645
34646 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34647 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34648 from here ...
34649 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34650 (grub_linux_setup_video): ... to here (with some adjustments).
34651
5c9f8d84 346522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34653
34654 Fix memory corruption issue (spotted by Colin Watson).
34655
34656 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34657 causing returned size to be stored in an incorrect memory location.
34658 Fix use of uninitialized value when storing the returned size.
34659
e8f5d6e9 346602009-09-12 Yves Blusseau <blusseau@zetam.org>
34661
34662 Change clean rules to properly remove files
34663
34664 * genmk.rb: add new clean rules
34665 * Makefile.in (clean): add the new targets
34666 (mostlyclean): likewise
34667
cda2a409 346682009-09-11 Colin Watson <cjwatson@ubuntu.com>
34669
34670 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34671 to grub_uint64_t.
34672 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34673 non-resident files.
34674
86695375 346752009-09-11 Colin Watson <cjwatson@ubuntu.com>
34676
34677 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34678 part of bug #27349.
34679
8aa1541a 346802009-09-10 Felix Zielcke <fzielcke@z-51.de>
34681
34682 * util/grub-mkconfig.in: Make the created config mode 400 and
34683 print a warning if it fails.
34684
48d9bb0a 346852009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34686
34687 * util/grub.d/40_custom.in: Ask user to type custom entries below
34688 comment, rather than below 'exec tail' line.
34689
3b0521be 346902009-09-10 Colin Watson <cjwatson@ubuntu.com>
34691
34692 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34693 visible in grub.cfg.
34694
50051d55 346952009-09-10 Colin Watson <cjwatson@ubuntu.com>
34696
34697 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34698 file.
34699
c0d34387 347002009-09-10 Felix Zielcke <fzielcke@z-51.de>
34701
34702 * docs/grub.cfg: Add an example menu entry for memtest86+.
34703
80a608f3 347042009-09-09 Felix Zielcke <fzielcke@z-51.de>
34705
a2094832 34706 * config.guess: Update to latest version from config git.
80a608f3 34707 * config.sub: Likewise.
34708
99423078 347092009-09-08 Colin Watson <cjwatson@ubuntu.com>
34710
34711 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34712 unknown-command case. Fixes bug #27320.
34713
44454e4c 347142009-09-08 Felix Zielcke <fzielcke@z-51.de>
34715
34716 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34717 `help' if the command exists.
34718
e30d87ad 347192009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34720
34721 * INSTALL: Require GCC 4.1.3 or later.
34722
9a86f1ec 347232009-09-06 Yves Blusseau <blusseau@zetam.org>
34724
34725 * Makefile.in (RMKFILES): add i386-qemu.rmk
34726 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34727 $(srcdir)/stamp-h.in
34728
7f26d466 347292009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34730
34731 * util/grub-probe.c (probe): Comment out buggy codepath, which
34732 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34733 should be re-enabled after 1.97.
34734
3a613259 347352009-09-05 Felix Zielcke <fzielcke@z-51.de>
34736
34737 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34738 find searches for.
34739
197f76c7 347402009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34741
34742 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34743 unnecessary calls to grub_error.
34744
70ba68ce 347452009-09-04 Colin Watson <cjwatson@ubuntu.com>
34746
34747 * NEWS: Mention `keystatus' and Unicode fonts.
34748
4ff0d7a4 347492009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34750
34751 * configure.ac: Bump version to 1.97~beta2.
34752 * docs/version.texi: Likewise.
34753
77c55a87 347542009-09-03 Colin Watson <cjwatson@ubuntu.com>
34755
34756 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34757 containing unwind information in some cases where it previously did
34758 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34759 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34760 discussion.
34761
f79572cd 347622009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34763
34764 Embedding loadenv module into grub-emu
34765
34766 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34767 commands/loadenv.c
34768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34769 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34772 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34774
93a81088 347752009-09-03 Magnus Granberg <zorry@ume.nu>
34776
34777 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34778 include -fPIE in the default specs.
34779 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34780 to TARGET_CFLAGS.
34781
160034b2 347822009-09-03 Felix Zielcke <fzielcke@z-51.de>
34783
34784 * INSTALL: Note that GNU Bison 2.3 or later is required.
34785
087c07c4 347862009-09-03 Colin Watson <cjwatson@ubuntu.com>
34787
34788 * kern/i386/pc/startup.S: Fix typo.
34789
cbf978c0 347902009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34791
34792 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34793 according to GCS.
34794
347952009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34796
34797 * docs/grub.texi (Naming convention): Describe one-based partition
34798 numbering.
34799 (Device syntax): Likewise.
34800 (File name syntax): Likewise.
34801 (Block list syntax): Likewise.
34802 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34803 menu.lst.
34804 (File name syntax): Likewise.
34805 (Command-line and menu entry commands): Document acpi, blocklist,
34806 crc, export, insmod, keystatus, ls, set, and unset commands.
34807
f3e8cdfd 348082009-09-02 Colin Watson <cjwatson@ubuntu.com>
34809
34810 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34811 to avoid implying that only one of --shift, --ctrl, or --alt may be
34812 used.
34813
c0bc232b 348142009-09-02 Colin Watson <cjwatson@ubuntu.com>
34815
34816 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34817 rather than comparing against S_IFREG, which will almost never work.
34818
aa0f752d 348192009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34820
34821 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34822 (write_blocklists): Likewise.
34823
ecb3166a 348242009-09-01 Colin Watson <cjwatson@ubuntu.com>
34825
34826 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34827 argument to grub_printf.
34828
c403a125 348292009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34830
34831 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34832 non GNU test.
31aba781 34833
b5e7312c 348342009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34835
34836 * kern/file.c (grub_file_read): Spelling fix
34837
fe00f472 348382009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34839
34840 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34841 loading of headers in some cases.
34842
cc55302e 348432009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34844
34845 * configure.ac: Bump version to 1.97~beta1.
34846 * docs/version.texi: Likewise.
34847
5c90cdd2 348482009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34849
34850 * include/grub/i386/xnu.h: Add license header.
34851 include grub/err.h explicitly.
34852
c90edae4 348532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34854
34855 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
34856 to `ufs' in the vfs.root.mountfrom kernel parameter.
34857
d8888b5c 348582009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34859
34860 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
34861
34862 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
34863 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
34864
34865 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
34866 `ARRAY_SIZE' macro.
34867
6f07b921 348682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34869
34870 * kern/file.c (grub_file_read): Check offset.
34871 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
34872 * fs/jfs.c (grub_jfs_read_file): Likewise.
34873 * fs/ntfs.c (grub_ntfs_read): Likewise.
34874 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
34875 * fs/minix.c (grub_minix_read_file): Correct offset check.
34876 * fs/ufs.c (grub_ufs_read_file): Likewise.
34877
b4f34077 348782009-08-28 Colin Watson <cjwatson@ubuntu.com>
34879
34880 * term/i386/pc/console.c (bios_data_area): Cast
34881 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
34882
e7c69859 348832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34884
34885 1-bit optimised blitters.
34886
34887 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
34888 prototype.
34889 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34890 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34891 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34892 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34893 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34894 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34895 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
34896 function.
34897 (grub_video_fbblit_replace_24bit_1bit): Likewise.
34898 (grub_video_fbblit_replace_16bit_1bit): Likewise.
34899 (grub_video_fbblit_replace_8bit_1bit): Likewise.
34900 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
34901 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
34902 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
34903 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
34904 when possible.
34905 * video/video.c (grub_video_get_blit_format): Return
34906 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
34907
a57da43f 349082009-08-28 Colin Watson <cjwatson@ubuntu.com>
34909
34910 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
34911 the first argument to grub_printf.
34912
4cbe67e5 349132009-08-28 Colin Watson <cjwatson@ubuntu.com>
349142009-08-28 Robert Millan <rmh.grub@aybabtu.com>
34915
34916 Add `getkeystatus' terminal method. Add a new `keystatus' command
34917 to query it.
34918
34919 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
34920 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
34921 modifier key bitmasks.
34922 (struct grub_term_input): Add `getkeystatus' member.
34923 (grub_getkeystatus): Add prototype.
34924 * kern/term.c (grub_getkeystatus): New function.
34925
34926 * include/grub/i386/pc/memory.h
34927 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
34928 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
34929 Data Area layout.
34930 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
34931 (grub_console_term_input): Set `getkeystatus' member.
34932 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
34933 constants.
34934 (grub_usb_keyboard_getreport): Likewise.
34935 (grub_usb_keyboard_checkkey): Likewise.
34936 (grub_usb_keyboard_getkeystatus): New function.
34937 (grub_usb_keyboard_term): Set `getkeystatus' member.
34938
34939 * commands/keystatus.c: New file.
34940 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
34941 (keystatus_mod_SOURCES): New variable.
34942 (keystatus_mod_CFLAGS): Likewise.
34943 (keystatus_mod_LDFLAGS): Likewise.
34944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
34945 commands/keystatus.c.
34946 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34948 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34950 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34951 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 34952
6e2a9085 349532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
34954
34955 Split befs.mod and afs.mod into *_be.mod and *.mod
34956
34957 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
34958 (grub_fstest_SOURCES): Likewise.
34959 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
34960 (afs_be_mod_SOURCES): New variable.
34961 (afs_be_mod_CFLAGS): Likewise.
34962 (afs_be_mod_LDFLAGS): Likewise.
34963 (befs_be_mod_SOURCES): Likewise.
34964 (befs_be_mod_CFLAGS): Likewise.
34965 (befs_be_mod_LDFLAGS): Likewise.
34966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
34967 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34968 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34969 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34970 (grub_emu_SOURCES): Likewise.
34971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34972 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34973 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34974 * fs/afs_be.c: New file.
34975 * fs/befs_be.c: New file.
34976 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
34977 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
34978 (U16): Replaced with ...
34979 (grub_afs_to_cpu16): ...this. All users updated.
34980 (U32): Replaced with ...
34981 (grub_afs_to_cpu32): ...this. All users updated.
34982 (U64): Replaced with ...
34983 (grub_afs_to_cpu64): ...this. All users updated.
34984 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
34985 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 34986 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 34987 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34988 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34989 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34990 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34991 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
34992 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
34993 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
34994 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
34995
32a71655 349962009-08-26 Bean <bean123ch@gmail.com>
34997
34998 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
34999 64-bit number.
35000 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35001 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35002 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35003
552bf6c5 350042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35005
35006 NetBSD memory map support.
35007
35008 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35009 (grub_netbsd_btinfo_mmap_header): New structure.
35010 (grub_netbsd_btinfo_mmap_entry): Likewise.
35011 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35012
1ae2078c 350132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35014
35015 Enable bsd.mod on coreboot.
35016
35017 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35018 (bsd_mod_SOURCES): New variable.
35019 (bsd_mod_CFLAGS): Likewise.
35020 (bsd_mod_LDFLAGS): Likewise.
35021 (bsd_mod_ASFLAGS): Likewise.
35022 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35023 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35024
beefc598 350252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35026
35027 Cleanup NetBSD root support.
35028
35029 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35030 grub_bsd_get_device.
35031 Fix typo.
35032
3b76e68b 350332009-08-25 Felix Zielcke <fzielcke@z-51.de>
35034
35035 * util/grub.d/00_header.in: Move check for the video backend of
35036 gfxterm from here ...
35037 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35038 a suitable video backend.
35039
aea664ea 350402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35041
35042 Fix breakage in grub-setup.
35043
35044 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35045 "msdos_partition_map".
35046
ff747d50 350472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35048
35049 Fix breakage in normal/auth.c.
35050
35051 * normal/auth.c (grub_iswordseparator): New function.
35052
e7e1f93f 350532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35054
35055 Authentication support.
35056
35057 * commands/password.c: New file.
35058 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35059 (password_mod_SOURCES): New variable.
35060 (password_mod_CFLAGS): Likewise.
35061 (password_mod_LDFLAGS): Likewise.
35062 (normal_mod_SOURCES): Add normal/auth.c.
35063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35064 normal/auth.c.
35065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35066 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35067 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35069 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35070 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35071 * include/grub/auth.h: New file.
35072 * include/grub/err.h (grub_err_t): New enum value
35073 GRUB_ERR_ACCESS_DENIED.
35074 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35075 'users'.
35076 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35077 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35078 users updated.
35079 * normal/auth.c: New file.
35080 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35081 (grub_cmdline_run): Don't allow to go to command line without
35082 authentication.
35083 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35084 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35085 menuentry without superuser rights.
35086 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35087 user isn't a superuser.
35088
70f1161d 350892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35090
35091 Save space by inlining misc.c functions.
35092
35093 * kern/misc.c (grub_iswordseparator): Made static.
35094 * kern/misc.c (grub_strcat): Moved from here ...
35095 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35096 * kern/misc.c (grub_strncat): Moved from here ...
35097 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35098 * kern/misc.c (grub_strcasecmp): Moved from here ...
35099 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35100 * kern/misc.c (grub_strncasecmp): Moved from here ...
35101 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35102 * kern/misc.c (grub_isalpha): Moved from here ...
35103 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35104 * kern/misc.c (grub_isdigit): Moved from here ...
35105 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35106 * kern/misc.c (grub_isgraph): Moved from here ...
35107 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35108 * kern/misc.c (grub_tolower): Moved from here ...
35109 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35110
48e40bff 351112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35112
35113 * script/sh/function.c (grub_script_function_find): Cut error message
35114 not to flood terminal.
35115 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35116 limit.
35117 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35118
c385bfc3 351192009-08-24 Colin Watson <cjwatson@ubuntu.com>
35120
35121 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35122 `report' grub_uint8_t *.
35123 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35124 Use a 50-millisecond timeout rather than just repeating
35125 grub_usb_keyboard_getreport 50 times.
35126 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35127
2d21e3e8 351282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35129
35130 Rename *_partition_map to part_*
35131
35132 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35133 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35134 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35135 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35136 All users updated.
35137 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35138 All users updated.
35139 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35140 * util/grub-probe.c (probe_partmap): Don't transform partition name
35141 to get module name.
35142
dd103c4e 351432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35144
35145 Fix OpenBSD and NetBSD support.
35146
35147 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35148 memory address conflict.
35149 (OPENBSD_MMAP_ACPI): New definition.
35150 (OPENBSD_MMAP_NVS): Likewise.
35151 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35152 and OPENBSD_MMAP_NVS.
35153 Add memory map terminator
35154 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35155 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35156
16c84d74 351572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35158
35159 Let user specify NetBSD root device.
35160
35161 * loader/i386/bsd.c (netbsd_root): New variable.
35162 (netbsd_opts): New option 'root'.
35163 (NETBSD_ROOT_ARG): New macro.
35164 (grub_netbsd_boot): Use 'netbsd_root'.
35165 (grub_bsd_unload): Free 'netbsd_root'.
35166 (grub_cmd_netbsd): Fill 'netbsd_root'.
35167
adb29902 351682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35169
35170 Support for 64-bit NetBSD.
35171
35172 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35173 point when booting non-FreeBSD.
35174
f5ae9f74 351752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35176
35177 Support --no-smp and --no-acpi for NetBSD.
35178
35179 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35180 (NETBSD_AB_NOACPI): Likewise.
35181 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35182 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35183
de74f136 351842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35185
35186 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35187 errors.
35188 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35189 errors. Call grub_error when needed.
35190
e9a925da 351912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35192
35193 * commands/search.c (search_fs): Try searching without autoload first.
35194 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35195 filesystem module explicitly for faster booting.
35196
5174302b 351972009-08-23 Colin Watson <cjwatson@ubuntu.com>
35198
35199 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35200
c8c80635 352012009-08-23 Colin Watson <cjwatson@ubuntu.com>
35202
35203 * util/grub.d/30_os-prober.in: Disable os-prober if
35204 `GRUB_DISABLE_OS_PROBER' was set to true.
35205
71acf5e5 352062009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35207
35208 * partmap/pc.c: Rename to ...
35209 * partmap/msdos.c: ... this. Update all users.
35210 (grub_pc_partition_map): Rename to ...
35211 (grub_msdos_partition_map): ... this. Update all users.
35212
35213 * parttool/pcpart.c: Rename to ...
35214 * parttool/msdospart.c: ... this. Update all users.
35215
35216 * include/grub/pc_partition.h: Rename to ...
35217 * include/grub/msdos_partition.h: ... this. Update all users.
35218 (grub_pc_partition_bsd_entry): Rename to ...
35219 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35220 (grub_pc_partition_disk_label): Rename to ...
35221 (grub_msdos_partition_disk_label): ... this. Update all users.
35222 (grub_pc_partition_entry): Rename to ...
35223 (grub_msdos_partition_entry): ... this. Update all users.
35224 (grub_pc_partition_mbr): Rename to ...
35225 (grub_msdos_partition_mbr): ... this. Update all users.
35226 (grub_pc_partition): Rename to ...
35227 (grub_msdos_partition): ... this. Update all users.
35228 (grub_pc_partition_is_empty): Rename to ...
35229 (grub_msdos_partition_is_empty): ... this. Update all users.
35230 (grub_pc_partition_is_extended): Rename to ...
35231 (grub_msdos_partition_is_extended): ... this. Update all users.
35232 (grub_pc_partition_is_bsd): Rename to ...
35233 (grub_msdos_partition_is_bsd): ... this. Update all users.
35234
35235 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35236 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35237 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35238 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35239 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35240 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35241 (gpt_mod_LDFLAGS): Rename to ...
35242 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35243 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35244 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35245 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35246 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35247 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35248 (part_gpt_mod_LDFLAGS): ... this.
35249 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35250 `pcpart.mod' to `msdospart.mod'.
35251 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35252 to ...
35253 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35254 (msdospart_mod_LDFLAGS): ... this.
35255
c11fded5 352562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35257
35258 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35259 (openbsd_opts): Likewise.
35260 (netbsd_opts): Likewise.
35261 (freebsd_flags): Added 0 terminator.
35262 (openbsd_flags): Likewise.
35263 (netbsd_flags): Likewise.
35264 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35265 (grub_cmd_freebsd): Transformed into extended command.
35266 (grub_cmd_openbsd): Likewise.
35267 (grub_cmd_netbsd): Likewise.
35268 (cmd_freebsd): Changed type to grub_extcmd_t.
35269 (cmd_openbsd): Likewise.
35270 (cmd_netbsd): Likewise.
35271 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35272 grub_cmd_openbsd as extended commands.
35273 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35274 cmd_netbsd and cmd_openbsd
35275
11d1c769 352762009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35277
35278 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35279
7a9094e5 352802009-08-21 Pavel Roskin <proski@gnu.org>
35281
5496c37e 35282 * Makefile.in (install-local): When checking if a file is in the
35283 build directory, use "test -e" to detect symlinks.
35284
7a9094e5 35285 * Makefile.in (install-local): Remove all files in
35286 $(DESTDIR)$(pkglibdir) before installing new files there.
35287
e53cea11 352882009-08-18 Felix Zielcke <fzielcke@z-51.de>
35289
35290 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35291 grub-mkelfimage.
35292
9aced544 352932009-08-18 Felix Zielcke <fzielcke@z-51.de>
35294
35295 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35296 explicitly specified by the user.
35297
b7da6bab 352982009-08-18 Pavel Roskin <proski@gnu.org>
35299
35300 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35301 grub_uint8_t pointer for data.
35302 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35303 Likewise.
35304 * video/fb/fbutil.c: Remove unnecessary casts.
35305
19f1b335 353062009-08-17 Michal Suchanek <hramrach@centrum.cz>
35307
35308 VBE cleanup.
35309
35310 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35311 (grub_vbe_set_video_mode): Save active mode info
35312 only after setting the mode.
35313 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35314 second argument.
35315
2f467aa9 353162009-08-17 Michal Suchanek <hramrach@centrum.cz>
35317
35318 Rename variables for clarity.
35319
35320 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35321 (active_vbe_mode_info): ... this. All users updated.
35322 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35323 All users updated.
35324 (initial_mode): Rename to ...
35325 (initial_vbe_mode): ... this. All users updated.
35326 (mode_in_use): Rename to ..
35327 (vbe_mode_in_use): ... this. All users updated.
35328 (mode_list): Rename to ..
35329 (vbe_mode_list): ... this. All users updated.
35330 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35331 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35332 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35333 'mode_list_size' to 'vbe_mode_list_size'.
35334 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35335 'best_mode_info' to 'best_vbe_mode_info' and
35336 'best_mode' to 'best_vbe_mode'
35337
6025fcd7 353382009-08-17 Michal Suchanek <hramrach@centrum.cz>
35339
35340 Remove duplicate grub_video_fb_get_video_ptr.
35341
35342 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35343 (grub_video_fb_get_video_ptr): ... this.
35344 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35345 * video/fb/fbutil.c: Add comment about addressing.
35346 (get_data_ptr): Rename to ...
35347 (grub_video_fb_get_video_ptr): ... this. All users updated.
35348 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35349
cc8c6faf 353502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35351
35352 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35353 grub_dprintf() that was just added.
35354
08aa61f0 353552009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35356
35357 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35358 (DEFAULT_VIDEO_MODE): Remove macros.
35359 (grub_linux_boot): Remove assumption that Linux has FB support,
35360 and use "text" as default video mode.
35361
7cef4f75 353622009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35363
35364 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35365 grub_dprintf.
35366 * fs/fat.c (grub_fat_read_data): Likewise.
35367
e1f39873 353682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35369
35370 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35371 payload.
35372 (grub_module): Likewise.
35373
c166d79e 353742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35375
35376 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35377 mbi->cmdline but free playground.
35378
c60cee8e 353792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35380
35381 Handle group offset on UFS1.
35382
35383 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35384 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35385
c0d8b5d4 353862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35387
35388 Split ufs.mod into ufs1.mod and ufs2.mod.
35389
35390 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35391 (grub_fstest_SOURCES): Likewise.
35392 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35393 (ufs_mod_SOURCES): Remove.
35394 (ufs_mod_CFLAGS): Likewise.
35395 (ufs_mod_LDFLAGS): Likewise.
35396 (ufs1_mod_SOURCES): New variable.
35397 (ufs1_mod_CFLAGS): Likewise.
35398 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35399 (ufs2_mod_SOURCES): New variable.
35400 (ufs2_mod_CFLAGS): Likewise.
35401 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35403 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35404 Likewise.
35405 (grub_emu_SOURCES): Likewise.
35406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35408 (grub_setup_SOURCES): Likewise.
35409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35410 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35411 (grub_setup_SOURCES): Likewise.
35412 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35413 Likewise.
35414 * fs/ufs2.c: New file.
35415 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35416
d3539132 354172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35418
35419 Framebuffer split.
35420
35421 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35422 subsystem at the end.
35423 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35424 (video_fb_mod_SOURCES): New variable.
35425 (video_fb_mod_CFLAGS): Likewise.
35426 (video_fb_mod_LDFLAGS): Likewise.
35427 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35428 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35429 * video/i386/pc/vbeblit.c: Moved from here ...
35430 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35431 * video/i386/pc/vbefill.c: Moved from here ...
35432 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35433 * video/i386/pc/vbeutil.c: Moved from here ...
35434 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35435 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35436 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35437 * include/grub/i386/pc/vbefill.h: Moved from here ...
35438 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35439 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35440 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35441 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35442 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35443 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35444 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35445 (grub_video_adapter): Added 'get_info_and_fini'.
35446 (grub_video_get_info_and_fini): New prototype.
35447 (grub_video_set_mode): make modestring const char *.
35448 * loader/i386/linux.c (grub_linux_setup_video): Use
35449 grub_video_get_info_and_fini.
35450 (grub_linux_boot): Move modesetting just before booting.
35451 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35452 grub_video_get_info_and_fini.
35453 * video/i386/pc/vbe.c: Moved framebuffer part ...
35454 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35455 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35456 grub_video_fbstd_colors and grub_video_fb_set_palette.
35457 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35458 grub_video_fb_init.
35459 (grub_video_vbe_fini): Use grub_video_fb_fini.
35460 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35461 render_target and use grub_video_fb_set_active_render_target and
35462 grub_video_fb_set_palette.
35463 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35464 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35465 (grub_video_vbe_adapter): Use framebuffer.
35466 * video/video.c (grub_video_get_info_and_fini): New function.
35467 (grub_video_set_mode): Make modestring const char *.
35468 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35469 values are already initialised.
35470
d404ee56 354712009-08-14 Pavel Roskin <proski@gnu.org>
35472
35473 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35474 ABS and APPLE_CC.
35475 * boot/i386/pc/diskboot.S: Likewise.
35476 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35477 sectors allow compilation on MacOSX.
35478 * conf/i386-pc.rmk: Enable unconditional compilation of
35479 lnxboot.img.
35480
9a10df16 354812009-08-13 Colin Watson <cjwatson@ubuntu.com>
35482
35483 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35484 * util/grub.d/00_header.in: Enter interruptible sleep if
35485 GRUB_HIDDEN_TIMEOUT is set.
35486
be3c9ca7 354872009-08-13 Yves Blusseau <blusseau@zetam.org>
35488
35489 * include/grub/symbol.h: Add the LOCAL macro.
35490 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35491 starting with "L_".
35492
1f9e557e 354932009-08-13 Pavel Roskin <proski@gnu.org>
35494
9ca62843 35495 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35496 any modern compilers we support.
35497
1f9e557e 35498 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35499 Use local labels starting with "L_" so that Apple assembler
35500 knows they are local.
35501
81623db6 355022009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35503
35504 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35505 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35506 (bsd_kernel_types): ... this enum.
35507
35508 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35509 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35510 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35511
35512 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35513 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35514 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35515 messages.
35516
f5d35e7a 355172009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35518
35519 * util/grub-dumpdevtree: Moved from here ...
35520 * util/i386/efi/grub-dumpdevtree: ... to here.
35521 (hexify): New function. Converts a string to its hex version.
35522 Generate hex versions of "efi" and "device-properties" by calling
35523 hexify() on the ASCII strings rather than by hardcoding numbers.
35524
d1e1d527 355252009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35526
35527 * fs/jfs.c: Update copyright year.
35528
1ebbe064 355292009-08-08 Felix Zielcke <fzielcke@z-51.de>
35530
35531 * util/grub.d/00_header.in: Fix a comment.
35532 * util/grub.d/10_linux.in: Likewise.
35533 * util/grub.d/10_windows.in: Likewise.
35534 * util/grub.d/10_hurd.in: Likewise.
35535
a78c8d24 355362009-08-08 Felix Zielcke <fzielcke@z-51.de>
35537
35538 * util/grub-mkconfig.in: Allow the user to specify the used font
35539 with GRUB_FONT.
35540
29a6b9e8 355412009-08-08 Pavel Roskin <proski@gnu.org>
35542
b5f16cc4 35543 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35544 available, xfs.mod needs it now.
35545
2f5cb827 35546 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35547 the "g" modifier in sed when the intention is to strip something
35548 once. This fixes comparison of kernels with multiple dashes.
35549
29a6b9e8 35550 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35551 on it. Add missing space before closing bracket. Fix
35552 misleading formatting.
35553
892a3d98 355542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35555
35556 * docs/grub.texi: Major overhaul. Remove all sections that are
35557 specific to GRUB Legacy, or mostly composed of Legacy-specific
35558 information.
35559
ed94253f 355602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35561
35562 * docs/version.texi: New file. Provides version information for
35563 grub.texi.
35564
126d6628 355652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35566
35567 * docs/grub.texi: Update CVS information to SVN.
35568 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35569
998b5aa9 355702009-08-07 Felix Zielcke <fzielcke@z-51.de>
35571
35572 * util/grub-mkconfig.in: Remove a wrong `fi'.
35573
818e094a 355742009-08-07 Felix Zielcke <fzielcke@z-51.de>
35575
35576 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35577 (grub_jfs_uuid): New function.
35578 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35579
b969c52f 355802009-08-07 Felix Zielcke <fzielcke@z-51.de>
35581
35582 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35583 of it to ...
35584 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35585 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35586
7a4894cc 355872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35588
35589 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35590 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35591 Update all users.
35592
35593 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35594 not just "vmlinu[zx]".
35595 Moved from here ...
35596 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35597 all users.
35598
35599 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35600 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35601 all users.
35602
4e2171f8 356032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35604
35605 * util/grub.d/10_freebsd.in: Use an absolute device path for
35606 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35607
6dcfcb32 356082009-08-06 Felix Zielcke <fzielcke@z-51.de>
35609
35610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35611 handling of multiple abstraction modules.
35612
f56a8756 356132009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35614
35615 Fix a bug resulting in black screen when loading Linux using a
35616 packed video mode.
35617
35618 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35619 function.
35620
35621 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35622 (grub_vbe_bios_getset_dac_palette_width): New function.
35623 (grub_vbe_bios_get_dac_palette_width)
35624 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35625 grub_vbe_bios_getset_dac_palette_width()).
35626
35627 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35628 check for return status.
35629 (grub_vbe_get_video_mode_info): When getting information for a packed
35630 mode (<= 8 bpp), obtain DAC palette width using
35631 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35632 {red,green,blue}_mark_size.
35633
222671b2 356342009-08-04 Felix Zielcke <fzielcke@z-51.de>
35635
ecb1a6d9 35636 * commands/search.c (options): Fix help output to match actual code.
222671b2 35637
f84114f5 356382009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35639
35640 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35641 of homegrown code.
35642
bd288a20 356432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35644
35645 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35646 on XFS or ReiserFS.
35647
8aab5e25 356482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35649
35650 Support Apple partition map with sector size different from 512 bytes.
35651
35652 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35653 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35654 and 'apart.partmap_size'.
35655
6ad6258a 356562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
356572009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35658
35659 Fix cpuid command.
35660
35661 * commands/i386/cpuid.c (options): New variable.
35662 (grub_cmd_cpuid): Return real error.
35663 (GRUB_MOD_INIT(cpuid)): Declare options.
35664
67459bc6 356652009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35666
35667 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35668 valid.
35669
fbc6ab54 356702009-07-31 Bean <bean123ch@gmail.com>
35671
35672 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35673 log2_inode.
35674 (grub_fshelp_node): Move inode field to the end.
35675 (grub_xfs_data): Remove inode field.
35676 (grub_xfs_inode_block): Calculate inode size using sblock.
35677 (grub_xfs_inode_offset): Likewise.
35678 (grub_xfs_read_inode): Calculate inode size using sblock.
35679 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35680 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35681 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35682 to match inode size.
35683 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35684 not accessible when data is null.
35685 (grub_xfs_open): Likewise.
35686
f45d6cfc 356872009-07-31 Bean <bean123ch@gmail.com>
35688
35689 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35690 Don't change pv->disk if it's already set.
35691
35692 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35693 (grub_raid_register): ... here.
35694 (grub_raid_rescan): Removed.
35695
35696 * include/grub/raid.h (grub_raid_rescan): Removed.
35697
35698 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35699 (fstest): Replace grub_raid_rescan with module fini function followed
35700 by init function.
35701
35702 * util/grub-probe.c: Add include file <grub/raid.h>.
35703 (probe_raid_level): New function.
35704 (probe): Detect abstraction by walking the disk device, support two
35705 level of abstraction (LVM on RAID) when detecting partition map.
35706
24443b5a 357072009-07-31 Pavel Roskin <proski@gnu.org>
35708
35709 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35710 to grub_zalloc(), it was erroneous.
35711 Reported by Bean <bean123ch@gmail.com>
35712
a275d9e7 357132009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35714
35715 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35716 embedding zone, not only the first one.
a275d9e7 35717
56c5a47f 357182009-07-29 Joe Auricchio <jauricchio@gmail.com>
35719
35720 * term/gfxterm.c (clear_char): New function.
35721 (grub_virtual_screen_setup): Use clear_char.
35722 (scroll_up): Likewise.
35723 (grub_virtual_screen_cls): Likewise.
35724
67bb323a 357252009-07-29 Felix Zielcke <fzielcke@z-51.de>
35726
35727 * util/deviceiter.c (get_acceleraid_disk_name): New static
35728 function.
35729 (grub_util_iterate_devices): Handle Accelraid devices.
35730 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35731
388a7c75 357322009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35733
35734 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35735 separator for the suggested gfxpayload string (';' collides with the
35736 parser and needs escaping).
35737
3bb7abcf 357382009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35739
35740 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35741 Clear direction flag before jumping to OS.
35742 (grub_multiboot2_real_boot): Likewise.
35743
2ddd36d7 357442009-07-28 Felix Zielcke <fzielcke@z-51.de>
35745
35746 * util/i386/pc/grub-install: Fix parsing of --disk-module
35747 option.
35748
c521b62b 357492009-07-28 Felix Zielcke <fzielcke@z-51.de>
35750
35751 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35752 when embedding.
35753
880e0a0c 357542009-07-26 Felix Zielcke <fzielcke@z-51.de>
35755
35756 * util/grub-mkconfig.in (package_version): New variable.
35757 Use it do display the version.
35758
2366e356 357592009-07-25 Felix Zielcke <fzielcke@z-51.de>
35760
35761 * kern/file.c (grub_file_open): Revert to previous check with
35762 grub_errno.
35763
7ad8c80e 357642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35765
35766 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35767 from help line. It's out of sync with code.
35768
72b9658b 357692009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35770
35771 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35772 entries on failed boot.
35773
77435277 357742009-07-25 Felix Zielcke <fzielcke@z-51.de>
35775
35776 * kern/file.c (grub_file_open): Fix an error check.
35777
fcaa8b21 357782009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35779
35d16c74 35780 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35781 partition map couldn't be identified.
fcaa8b21 35782
48904cd1 357832009-07-23 Pavel Roskin <proski@gnu.org>
35784
ef3c317f 35785 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35786 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35787 case of little endian words becomes just an optimization.
35788 Respect const modifier.
ad8ea1f4 35789 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35790
48904cd1 35791 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35792 to avoid loss of upper bits if align is unsigned and shorter
35793 than addr.
35794
260c9a89 357952009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35796
35797 UUID support for UFS
35798
35799 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35800 (grub_ufs_uuid): New function.
35801 (grub_ufs_fs): add .uuid
35802
f76ce889 358032009-07-21 Pavel Roskin <proski@gnu.org>
35804
35805 * kern/dl.c (grub_dl_check_header): Make static.
35806
6a6cbcaf 358072009-07-21 Felix Zielcke <fzielcke@z-51.de>
35808
35809 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35810 add drivemap for Vista. It breaks Windows 7.
35811
cffcddb2 358122009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35813
35814 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35815 128 bytes
35816
1ef44b80 358172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35818
35819 Add BFS support
35820
35821 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35822 (grub_fstest_SOURCES): Likewise.
35823 (pkglib_MODULES): Add befs.mod.
35824 (befs_mod_SOURCES): New variable.
35825 (befs_mod_CFLAGS): Likewise.
35826 (befs_mod_LDFLAGS): Likewise.
35827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35831 (grub_setup_SOURCES): Likewise.
35832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35834 (grub_setup_SOURCES): Likewise.
35835 * fs/befs.c: New file.
35836 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35837 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35838 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35839 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35840 (B_KEY_INDEX_ALIGN): New declaration.
35841 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35842 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35843 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35844 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35845 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35846 (grub_afs_mount) [MODE_BFS]: Likewise.
35847 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35848 (grub_afs_fs): Use GRUB_AFS_FSNAME
35849 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35850 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35851 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35852 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35853
4f253044 358542009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
35855
35856 * util/getroot.c (find_root_device): Add support for MacOSX.
35857 * util/hostdisk.c: Likewise.
35858
57a55913 358592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35860
35861 * font/font.c (find_glyph): Check whether a font is present to avoid
35862 segmentation fault.
75421ca9 35863
358642009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 35865
35866 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
35867
e98cd0c2 358682009-07-20 Pavel Roskin <proski@gnu.org>
35869
35870 * configure.ac: Trim excessively wordy excuses.
35871
1d2d169a 358722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35873
35874 Add symlink, mtime and label support to AtheFS.
35875
35876 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
35877 (grub_afs_iterate_dir): Handle symlinks.
35878 (grub_afs_open): Use grub_afs_read_symlink.
35879 (grub_afs_dir): Likewise.
35880 Pass mtime.
35881 (grub_afs_label): New function.
35882 (grub_afs_fs): Add grub_afs_label.
35883 (grub_afs_read_symlink): New function.
35884
186f3189 358852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35886
35887 Fix AtheFS support.
35888
35889 * fs/afs.c: Fix comments style.
35890 (grub_afs_blockrun): Declare as packed.
35891 (grub_afs_datastream): Likewise.
35892 (grub_afs_bnode): Likewise.
35893 (grub_afs_btree): Likewise.
35894 (grub_afs_sblock): Likewise.
35895 Declare `name' as char.
35896 (grub_afs_inode): Declare as packed.
35897 Change void *vnode to grub_uint32_t unused.
35898 (grub_afs_iterate_dir): Check that key_size is positive.
35899 (grub_afs_mount): Don't read superblock twice.
75421ca9 35900 (grub_afs_dir): Don't free node in case of error,
186f3189 35901 grub_fshelp_find_file already handles this.
35902 (grub_afs_open): Likewise.
35903
5680109e 359042009-07-19 Pavel Roskin <proski@gnu.org>
35905
35906 * Makefile.in: Remove LIBLZO and enable_lzo.
35907 * conf/i386-pc.rmk: Remove lzo support.
35908 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
35909 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
35910 support.
35911 * kern/i386/pc/lzo1x.S: Remove.
35912 * kern/i386/pc/startup.S: Remove lzo support.
35913 * util/i386/pc/grub-mkimage.c: Likewise.
35914
ac70fa32 359152009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
35916
35917 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
35918 * fs/xfs.c (grub_xfs_dir): Likewise.
35919 * fs/afs.c (grub_afs_dir): Likewise.
35920 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
35921 (grub_iso9660_open): Likewise.
35922 * fs/jfs.c (grub_jfs_open): Likewise.
35923 * fs/ext2.c (grub_ext2_dir): Likewise.
35924 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
35925 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 35926
eab58da2 359272009-07-16 Pavel Roskin <proski@gnu.org>
35928
d2838156 35929 * configure.ac: Never add "-c" to CFLAGS.
35930
55c70904 35931 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
35932
43e6200c 35933 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
35934 grub_cv_cc_efiemu should be used.
35935
ce7a733d 35936 * configure.ac: Typo fixes.
35937
eab58da2 35938 * kern/mm.c (grub_zalloc): New function.
35939 (grub_debug_zalloc): Likewise.
35940 * include/grub/mm.h: Declare grub_zalloc() and
35941 grub_debug_zalloc().
35942 * util/misc.c (grub_zalloc): New function.
35943 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
35944 instead of grub_malloc(), remove unneeded initializations.
35945 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
35946 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
35947 * commands/parttool.c (grub_cmd_parttool): Likewise.
35948 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
35949 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
35950 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
35951 * disk/usbms.c (grub_usbms_finddevs): Likewise.
35952 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
35953 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
35954 (grub_cmd_efiemu_pnvram): Likewise.
35955 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
35956 * fs/iso9660.c (grub_iso9660_mount): Likewise.
35957 (grub_iso9660_iterate_dir): Likewise.
35958 * fs/jfs.c (grub_jfs_opendir): Likewise.
35959 * fs/ntfs.c (list_file): Likewise.
35960 (grub_ntfs_mount): Likewise.
35961 * kern/disk.c (grub_disk_open): Likewise.
35962 * kern/dl.c (grub_dl_load_core): Likewise.
35963 * kern/elf.c (grub_elf_file): Likewise.
35964 * kern/env.c (grub_env_context_open): Likewise.
35965 (grub_env_set): Likewise.
35966 (grub_env_set_data_slot): Likewise.
35967 * kern/file.c (grub_file_open): Likewise.
35968 * kern/fs.c (grub_fs_blocklist_open): Likewise.
35969 * loader/i386/multiboot.c (grub_module): Likewise.
35970 * loader/xnu.c (grub_xnu_create_key): Likewise.
35971 (grub_xnu_create_value): Likewise.
35972 * normal/main.c (grub_normal_add_menu_entry): Likewise.
35973 (read_config_file): Likewise.
35974 * normal/menu_entry.c (make_screen): Likewise.
35975 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35976 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
35977 * script/sh/script.c (grub_script_parse): Likewise.
35978 * video/bitmap.c (grub_video_bitmap_create): Likewise.
35979 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
35980 * video/readers/png.c (grub_png_output_byte): Likewise.
35981 (grub_video_reader_png): Likewise.
35982
830afef7 359832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 35984
35985 Enable all targets that can be built by default
35986
830afef7 35987 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 35988 grub-mkfont and grub-fstest if they can be built
35989
ee293aee 359902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
35991
35992 Fix hang and segmentation fault in grub-emu-usb
35993
35994 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
35995 * util/usb.c (grub_libusb_devices): likewise
35996 (grub_libusb_init): rename to ...
35997 (GRUB_MOD_INIT (libusb)):...this
35998 (grub_libusb_fini): rename to ..
35999 (GRUB_MOD_FINI (libusb)):...this
36000 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36001 * include/grub/disk.h (grub_raid_init): removed, it's useless
36002 (grub_raid_fini): likewise
36003 (grub_lvm_init): likewise
36004 (grub_lvm_fini): likewise
36005 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36006 by grub_init_all
36007
94414221 360082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36009
36010 Fix libusb
36011
36012 * Makefile.in (LIBUSB): new macro
36013 * genmk.rb (Utility/print_tail): new method
36014 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36015 (top level): call util.print_tail at the end.
36016
59ade63d 360172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36018
36019 Make FreeBSD accept zpool.cache
36020
36021 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36022 type is /boot/zfs/zpool.cache
36023
a58da8c7 360242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36025
36026 Fix 64-bit efiemu
36027
36028 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36029 correct wrong typedef
36030 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36031
20591577 360322009-07-15 Pavel Roskin <proski@gnu.org>
36033
560ca572 36034 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36035 * kern/disk.c (struct grub_disk_cache): Likewise.
36036
e8e8e4fd 36037 * commands/probe.c (options): Typo fix.
36038
fde24e10 36039 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36040 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36041 accordingly.
36042 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36043
379c54c1 36044 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36045 the end of "Error" to make the message more readable.
36046
7bd8f5bf 36047 * boot/i386/pc/boot.S (kernel_segment): Remove.
36048 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36049 for destination.
36050
40b132c5 36051 * boot/i386/pc/boot.S (boot_version): Remove.
36052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36053 Remove.
36054
20591577 36055 * include/grub/i386/pc/boot.h: Sort all offsets.
36056 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36057 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36058 * boot/i386/pc/boot.S: Assert location of every offset listed in
36059 include/grub/i386/pc/boot.h.
36060
2df32b2c 360612009-07-13 Pavel Roskin <proski@gnu.org>
36062
44b5d879 36063 * include/grub/i386/coreboot/machine.h: Rename
36064 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36065 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36066 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36067
17dc3751 36068 * kern/dl.c: Force native word size to suppress warnings when
36069 compiling grub-emu.
36070
2df32b2c 36071 * kern/device.c (grub_device_iterate): Change struct part_ent to
36072 hold the name, not a pointer to it. Use one grub_malloc() per
36073 partition, not two. Free partition_name if grub_malloc() fails.
36074 Set ents to NULL only before grub_partition_iterate() is called.
36075
75c59f59 360762009-07-11 Bean <bean123ch@gmail.com>
36077
36078 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36079 childname.
36080
0ae1bf88 360812009-07-10 Bean <bean123ch@gmail.com>
360822009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36083
36084 * kern/ieee1275/openfw.c (grub_children_iterate)
36085 (grub_devalias_iterate): Fix size evaluation for property or path
36086 strings, which was broken since r2132.
36087
8279cade 360882009-07-07 Pavel Roskin <proski@gnu.org>
36089
7d8a52d3 36090 * commands/search.c (search_file): Merge into ...
36091 (search_fs): ... this. Accept search type as argument.
36092 (grub_cmd_search): Pass search type to search_fs().
36093
25f9a05a 36094 * include/grub/util/console.h: New file.
36095 * util/console.c: Use it instead of grub/machine/console.h.
36096 * util/grub-emu.c: Likewise.
36097
8279cade 36098 * lib/arg.c (find_long_option): Remove.
36099 (find_long): Add `len' argument, make `s' const char *.
36100 (grub_arg_parse): Parse long options in place, not in a
36101 temporary buffer.
36102
4a11b60f 361032009-07-06 Pavel Roskin <proski@gnu.org>
36104
99f68041 36105 * commands/search.c (search_fs): Fix potential NULL pointer
36106 dereference.
36107
4a11b60f 36108 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36109 function pointer.
36110
e110f4de 361112009-07-06 Daniel Mierswa <impulze@impulze.org>
36112
36113 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36114 comparison.
36115
46eeb6a2 361162009-07-05 Pavel Roskin <proski@gnu.org>
36117
bab74958 36118 * include/grub/i386/linux.h (struct linux_kernel_params):
36119 Restore padding3, it's still needed.
36120
46eeb6a2 36121 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36122 FreeBSD.
36123 * util/osdetect.lua: Likewise.
36124
b4a1dc79 361252009-07-05 Bean <bean123ch@gmail.com>
36126
36127 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36128
36129 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36130 (grub_lua_getenv): Likewise.
36131 (grub_lua_setenv): Likewise.
36132 (save_errno): New function.
36133 (push_result): Likewise.
36134 (grub_lua_enum_device): Likewise.
36135 (grub_lua_enum_file): Likewise.
36136 (grub_lua_file_open): Likewise.
36137 (grub_lua_file_close): Likewise.
36138 (grub_lua_file_seek): Likewise.
36139 (grub_lua_file_read): Likewise.
36140 (grub_lua_file_getline): Likewise.
36141 (grub_lua_file_getsize): Likewise.
36142 (grub_lua_file_getpos): Likewise.
36143 (grub_lua_file_eof): Likewise.
36144 (grub_lua_file_exist): Likewise.
36145 (grub_lua_add_menu): Likewise.
36146
36147 * script/lua/grub_lua.h (isupper): New inline function.
36148 (islower): Likewise.
36149 (ispunct): Likewise.
36150 (isxdigit): Likewise.
36151 (strcspn): Change to normal function.
36152 (strpbkr): New function declaration.
36153 (memchr): Likewise.
36154
36155 * script/lua/grub_main.c (scan_str): New function.
36156 (strcspn): Likewise.
36157 (strpbrk): Likewise.
36158 (memchr): Likewise.
36159
36160 * script/lua/linit.c (lualibs): Enable the string library.
36161
36162 * util/osdetect.lua: New file.
36163
2da92295 361642009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36165
36166 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36167 `capabilities' member.
36168
b2582ec9 361692009-07-02 Pavel Roskin <proski@gnu.org>
36170
36171 * genparttoollist.sh: Add missing newline at the end.
36172
32622956 361732009-07-01 Pavel Roskin <proski@gnu.org>
36174
87a7339e 36175 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36176
d23af54e 36177 * util/hostdisk.c (open_device): Remove `const' from
36178 `sysctl_size', as sysctlbyname() can change it (in this case it
36179 doesn't actually happen).
36180
c94b18a9 36181 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36182 using signed long int constants.
36183
c6cd3ef0 36184 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36185 constant to avoid a warning on FreeBSD.
36186
0df63420 36187 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36188 where it's needed.
36189
999577f1 36190 * Makefile.in: Install include/grub/machine symlink.
36191
6f41557f 36192 * Makefile.in: When installing symlinks, use "cp -fR", which
36193 works on FreeBSD and MacOSX.
36194 From Yves Blusseau <cl7m42e02@sneakemail.com>
36195
c8d22988 36196 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36197 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36198
1b96e952 36199 * util/misc.c: Move grub_reboot() and grub_halt() ...
36200 * util/grub-emu.c: ... here. Make main_env static.
36201 * include/grub/util/misc.h: Remove main_env.
36202
2ef0084d 36203 * kern/mm.c: Use correct format to print size_t.
36204
32622956 36205 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36206 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36207 * kern/powerpc/dl.c: Likewise.
36208 * kern/sparc64/dl.c: Likewise.
36209 * kern/x86_64/dl.c: Likewise.
36210
3f7f0cd0 362112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36212
36213 Fix grub-emu build on sparc64-ieee1275.
36214
75421ca9 36215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36217
211d06b5 362182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36219
36220 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36221 (grub_reboot, grub_halt): New functions.
36222
36223 * util/i386/pc/misc.c: Delete. Update all users.
36224 * util/sparc64/ieee1275/misc.c: Likewise.
36225 * util/powerpc/ieee1275/misc.c: Likewise.
36226
aaf53e3c 362272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36228
36229 * conf/i386.rmk (setjmp_mod_SOURCES)
36230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36231 * conf/common.rmk (setjmp_mod_SOURCES)
36232 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36233 to use $(target_cpu).
36234 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36235 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36236 * conf/powerpc-ieee1275.rmk: Likewise.
36237 * conf/sparc64-ieee1275.rmk: Likewise.
36238
36239 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36240 $(target_cpu) for kern/$(target_cpu)/dl.c.
36241 * conf/i386-efi.rmk: Likewise.
36242 * conf/i386-ieee1275.rmk: Likewise.
36243 * conf/x86_64-efi.rmk: Likewise.
36244 * conf/i386-coreboot.rmk: Likewise.
36245 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36246 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36247 kern/$(target_cpu)/cache.S.
36248 * conf/sparc64-ieee1275.rmk: Likewise.
36249
a337130b 362502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36251
36252 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36253 type to `grub_uint8_t', and adjust `padding9' accordingly.
36254
c6fe4d53 362552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36256
b09db61d 36257 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36258
c6fe4d53 36259 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36260 assembly in final jump, using register constraints.
36261
b09db61d 36262 (grub_linux_boot): For text mode, initialize `have_vga' using
36263 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36264
36265 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36266 right before the final jump.
36267
36268 Set `video_mode' to 0x3.
36269
36270 Document initialization of `video_page', `video_mode' and
36271 `video_ega_bx'.
36272
28333ad0 362732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36274
36275 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36276 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36277 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36278
02164e1b 362792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36280
36281 Fix build on Debian / sparc.
36282
36283 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36284
18b6c557 362852009-06-28 Pavel Roskin <proski@gnu.org>
36286
85f2aab6 36287 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36288 fix a warning.
36289
18b6c557 36290 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36291
ad760f81 362922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36293
36294 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36295 `err'.
36296
87a4623b 362972009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36298
36299 Revert r2338.
36300
36301 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36302 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36303 grub_errno / grub_errmsg appropriately.
87a4623b 36304 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36305
8231fb77 363062009-06-27 Pavel Roskin <proski@gnu.org>
363072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36308
36309 * include/grub/dl.h: Include grub/elf.h.
36310 (struct grub_dl): Add symtab field.
36311 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36312 GRUB_MODULES_MACHINE_READONLY.
36313 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36314 of the header for read-only modules.
36315 (grub_dl_unload): Free mod->symtab for read-only modules.
36316 * kern/i386/dl.c: Use mod->symtab.
36317 * kern/powerpc/dl.c: Likewise.
36318 * kern/sparc64/dl.c: Likewise.
36319 * kern/x86_64/dl.c: Likewise.
36320
36321 * conf/i386-qemu.rmk: New file.
36322 * kern/i386/qemu/startup.S: Likewise.
36323 * kern/i386/qemu/mmap.c: Likewise.
36324 * boot/i386/qemu/boot.S: Likewise.
36325 * include/grub/i386/qemu/time.h: Likewise.
36326 * include/grub/i386/qemu/serial.h: Likewise.
36327 * include/grub/i386/qemu/kernel.h: Likewise.
36328 * include/grub/i386/qemu/console.h: Likewise.
36329 * include/grub/i386/qemu/boot.h: Likewise.
36330 * include/grub/i386/qemu/init.h: Likewise.
36331 * include/grub/i386/qemu/machine.h: Likewise.
36332 * include/grub/i386/qemu/loader.h: Likewise.
36333 * include/grub/i386/qemu/memory.h: Likewise.
36334
36335 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36336 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36337 [qemu] (pkglib_IMAGES): Add `boot.img'.
36338 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36339 [qemu] (boot_img_FORMAT): New variables.
36340 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36341 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36342 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36343 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36344 [qemu] (kernel_img_FORMAT): New variables.
36345
36346 * configure.ac: Recognise `i386-qemu'.
36347
36348 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36349 (for no compression).
36350 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36351 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36352 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36353 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36354 ifdefs).
36355
97fe384e 363562009-06-27 Pavel Roskin <proski@gnu.org>
36357
36358 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36359 read.
36360 * efiemu/prepare32.c: Likewise.
36361 * efiemu/prepare64.c: Likewise.
36362
c402ab17 363632009-06-26 Pavel Roskin <proski@gnu.org>
36364
36365 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36366 * include/grub/elf.h: Define symbols without "32" or "64" based
36367 on GRUB_TARGET_WORDSIZE.
36368 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36369 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36370 ELF definitions.
36371 * efiemu/loadcore64.c: Likewise.
36372 * loader/i386/bsd32.c: Likewise.
36373 * loader/i386/bsd64.c: Likewise.
36374 * kern/dl.c: Remove own ELF definitions.
36375 * util/i386/efi/grub-mkimage.c: Likewise.
36376
9bbdfd4d 363772009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36378
36379 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36380 segment 0x0 unconditionally, because the reference generated by
36381 GAS is an absolute address.
36382
a42ce6e9 363832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36384
36385 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36386 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36387
c952cf92 363882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36389
36390 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36391 indexes. Check for -f explicitly.
cc3752ad 36392 (search_file): Improve error message.
36393 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36394
132a0a59 363952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36396
36397 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36398 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36399
387a140c 364002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36401
36402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36403 * conf/i386-ieee1275.rmk: Likewise.
36404 * conf/i386-coreboot.rmk: Likewise.
36405
36406 * kern/i386/pc/startup.S (grub_stop): Remove function.
36407 * kern/i386/ieee1275/startup.S: Likewise.
36408 * kern/i386/coreboot/startup.S: Likewise.
36409 * kern/i386/misc.S (grub_stop): New function.
36410
41da9665 364112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36412
36413 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36414 * kern/i386/realmode.S (real_to_prot): ... to here.
36415
bf337234 364162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36417
36418 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36419 with `kernel.img'.
36420 (kernel_elf_SOURCES): Rename to ...
36421 (kernel_img_SOURCES): ... this.
36422 (kernel_elf_HEADERS): Rename to ...
36423 (kernel_img_HEADERS): ... this. Update all users.
36424 (kernel_elf_ASFLAGS): Rename to ...
36425 (kernel_img_ASFLAGS): ... this.
36426 (kernel_elf_CFLAGS): Rename to ...
36427 (kernel_img_CFLAGS): ... this.
36428 (kernel_elf_LDFLAGS): Rename to ...
36429 (kernel_img_LDFLAGS): ... this.
36430 * conf/i386-coreboot.rmk: Likewise.
36431 * conf/powerpc-ieee1275.rmk: Likewise.
36432
36433 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36434 with "kernel.img".
36435
f52196ff 364362009-06-21 Pavel Roskin <proski@gnu.org>
36437
c3cee413 36438 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36439 to match nested functions.
36440 * loader/sparc64/ieee1275/linux.c: Likewise.
36441
f52196ff 36442 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36443
58750afc 364442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36445
36446 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36447 all i386 platforms.
36448
15355c7d 364492009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36450
36451 Fix asm file handling on ELF, and remove workarounds.
36452
36453 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36454 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36455 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36456 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36457
3f3ec72b 364582009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36459
36460 Load BSD ELF modules
36461
36462 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36463 and loader/i386/bsd64.c
36464 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36465 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36466 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36467 (grub_freebsd_load_elfmodule32): New declaration
36468 (grub_freebsd_load_elfmoduleobj64): Likewise
36469 (grub_freebsd_load_elf_meta32): Likewise
36470 (grub_freebsd_load_elf_meta64): Likewise
36471 (grub_freebsd_add_meta): Likewise
36472 (grub_freebsd_add_meta_module): Likewise
36473 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36474 (grub_freebsd_add_meta_module): Likewise and move module-specific
36475 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36476 (grub_cmd_freebsd): Add elf-kernel specific parts
36477 based on grub_freebsd_add_meta_module
36478 (grub_cmd_freebsd_module): Add type parsing moved from
36479 grub_freebsd_add_meta_module
36480 (grub_cmd_freebsd_module_elf): New function
36481 (cmd_freebsd_module_elf): New variable
36482 (GRUB_MOD_INIT): Register freebsd_module_elf
36483 * loader/i386/bsd32.c: New file
36484 * loader/i386/bsd64.c: Likewise
36485 * loader/i386/bsdXX.c: Likewise
36486 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36487 (grub_elf64_load): Likewise
36488 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36489 All users updated
36490 (grub_elf64_load_hook_t): Likewise
36491
0db15301 364922009-06-21 Colin Watson <cjwatson@ubuntu.com>
36493
36494 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36495 variable.
36496 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36497 don't write a menu entry for recovery mode.
36498
546796c1 364992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36500
36501 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36502 after it's no longer needed.
36503
cd7310d5 365042009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36505
36506 * include/grub/i386/loader.h (grub_linux_prot_size)
36507 (grub_linux_tmp_addr, grub_linux_real_addr)
36508 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36509 GRUB_MACHINE_PCBIOS.
36510 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36511 common grub_util_info() call to ...
36512 (generate_image): ... here.
36513 Fix use of uninitialized memory, comparison of signed with
36514 unsigned integers and memory leak.
36515 Remove bogus module address message.
36516
ab32d3b5 365172009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36518
36519 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36520 grub_raid_register
36521 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36522
024ef597 365232009-06-19 Pavel Roskin <proski@gnu.org>
36524
36525 * configure.ac: Remove stray AC_MSG_CHECKING.
36526
3ac72b51 365272009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36528
36529 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36530
e14cd814 365312009-06-18 Pavel Roskin <proski@gnu.org>
36532
36533 * conf/common.rmk: Add fs_file.mod.
36534 * disk/fs_file.c: New file.
36535 * include/grub/disk.h (enum grub_disk_dev_id): Add
36536 GRUB_DISK_DEVICE_FILE_ID.
36537
26586d98 365382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36539
36540 Fix build with Apple's toolchain. Part 2
36541
36542 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36543 a fake start
36544
26de2bcd 365452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36546
36547 Fix build with Apple's toolchain. Part 1
36548
36549 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36550 for long calls
36551 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36552 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36553 Apple's toolchain
36554
09b3490b 365552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36556
36557 Fix warnings
36558
36559 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36560 (decomp_block): initialize ch
36561 use grub_memcpy instead of memcpy
36562
c22a006a 365632009-06-17 Pavel Roskin <proski@gnu.org>
36564
d3638678 36565 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36566 version, use declarations needed to use vga_text as the startup
36567 console.
36568
c22a006a 36569 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36570 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36571 the kernel.
36572 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36573 and grub_at_keyboard_fini(), it's done on module load and
36574 unload.
36575
05b129e0 365762009-06-17 Felix Zielcke <fzielcke@z-51.de>
36577
36578 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36579 file can't be found.
36580 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36581
cf24ed9e 365822009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36583
36584 Fix newline handling
36585
36586 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36587 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36588 (grub_script_yylex): don't segfault on unterminated script
36589 newline terminates command and variable
36590
74aa8e4b 365912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36592
36593 avoid double grub_adjust_range call. Bug reported by David Simner
36594
36595 * kern/disk.c (grub_disk_write): change to raw disk access before
36596 calling disk_read
36597
1bd265f3 365982009-06-17 Colin Watson <cjwatson@ubuntu.com>
36599
36600 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36601 spaces, for the benefit of help2man.
36602 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36603
a2d08c06 366042009-06-16 Pavel Roskin <proski@gnu.org>
36605
36606 * kern/i386/halt.c: Include grub/machine/init.h.
36607 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36608
b97bcb19 366092009-06-16 Felix Zielcke <fzielcke@z-51.de>
36610
36611 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36612 drivemap menuentry.
36613
0644f96c 366142009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36615
36616 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36617 `echo' command.
36618
3ef17a2e 366192009-06-16 Pavel Roskin <proski@gnu.org>
36620
36621 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36622 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36623 save %dx, we only need %dl and we never change it.
36624 * boot/i386/pc/cdboot.S: Don't set the root drive.
36625 * boot/i386/pc/pxeboot.S: Likewise.
36626 * include/grub/i386/pc/boot.h: Remove
36627 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36628 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36629 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36630 * kern/i386/pc/init.c (make_install_device): Remove references
36631 to grub_root_drive.
36632 * kern/i386/pc/startup.S: Likewise.
36633 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36634
693fe637 366352009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36636
36637 xnu_uuid command
36638
36639 * commands/xnu_uuid.c: new file
36640 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36641 (xnu_uuid_mod_SOURCES): new variable
36642 (xnu_uuid_mod_CFLAGS): likewise
36643 (xnu_uuid_mod_LDFLAGS): likewise
36644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36645 * conf/i386-ieee1275.rmk: likewise
36646 * conf/i386-pc.rmk: likewise
36647 * conf/powerpc-ieee1275.rmk: likewise
36648 * conf/sparc64-ieee1275.rmk: likewise
36649 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36650
c9da87d0 366512009-06-16 Pavel Roskin <proski@gnu.org>
36652
36653 * configure.ac: Avoid '==' in test command, it's not portable.
36654
9c6f4596 366552009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36656
36657 Probe command
36658
36659 * commands/probe.c: new file
36660 * conf/common.rmk (pkglib_MODULES): add probe.mod
36661 (probe_mod_SOURCES): new variable
36662 (probe_mod_CFLAGS): likewise
36663 (probe_mod_LDFLAGS): likewise
36664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36665 * conf/i386-ieee1275.rmk: likewise
36666 * conf/i386-pc.rmk: likewise
36667 * conf/powerpc-ieee1275.rmk: likewise
36668 * conf/sparc64-ieee1275.rmk: likewise
36669
70b7f9fd 366702009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36671
36672 Fix handling of string like \"hello\" and "a
36673 b"
36674
36675 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36676 (grub_script_yylex): fix parsing of quoting, escaping and newline
36677
71c79a6b 366782009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36679
dd74360c 36680 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36681 handling
dd74360c 36682
0644f96c 366832009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36684
36685 * util/grub-mkconfig.in: Fix parsing of --output option.
36686
e40893c3 366872009-06-12 Pavel Roskin <proski@gnu.org>
36688
36689 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36690 genmk.rb don't need to be generated or installed.
36691
3a1acfe2 366922009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36693
36694 * commands/i386/pc/drivemap_int13h.S: add more comments
36695
3a4575d4 366962009-06-11 Pavel Roskin <proski@gnu.org>
36697
0658e928 36698 * Makefile.in (uninstall): Uninstall manuals.
36699
ca0388f0 36700 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36701 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36702 and update-grub_lib in two places.
36703 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36704
e3b27c39 36705 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36706 a compiler warning.
36707
3a4575d4 36708 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36709 `entry_lo' to fix variable shadowing.
36710
af1f4f55 367112009-06-11 Christian Franke <franke@computer.org>
36712
36713 * kern/misc.c (__enable_execute_stack): Add missing return type
36714 to prevent gcc warning.
36715
5225e649 367162009-06-11 Felix Zielcke <fzielcke@z-51.de>
36717
36718 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36719
7d83bd47 367202009-06-11 Pavel Roskin <proski@gnu.org>
36721
c1cb63ba 36722 * Makefile.in: Don't rely on any scripts being executable.
36723 Always use $(SHELL) to run shell scripts.
36724
7d83bd47 36725 * configure.ac: Always define ___main if using -nostdlib. This
36726 fixes tests on Cygwin.
36727
948f48e7 367282009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36729
36730 UDF fix
36731
7d83bd47 36732 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36733 is in bytes and not in blocks
7d83bd47 36734
8ada9bc1 367352009-06-11 Pavel Roskin <proski@gnu.org>
36736
36737 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36738 warning.
36739
25ad2323 367402009-06-11 Felix Zielcke <fzielcke@z-51.de>
36741
36742 * util/grub.d/30_os-prober.in: Fix a comment. Source
36743 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36744 to set the root device. Place drivemap command in the generated
36745 chain entry.
36746
e65acb0c 367472009-06-11 Pavel Roskin <proski@gnu.org>
36748
36749 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36750 have long been resolved.
36751
f285fe2d 367522009-06-11 Colin Watson <cjwatson@ubuntu.com>
36753
bd47b0b5 36754 * util/grub.d/10_linux.in: Capitalise "Linux".
36755
f285fe2d 36756 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36757
a0c62e4e 367582009-06-11 Pavel Roskin <proski@gnu.org>
36759
b6783cb2 36760 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36761 fix a gcc warning and ensure that the function won't ever exit.
36762
dde032e8 36763 * kern/i386/ieee1275/init.c: Add missing prototype for
36764 grub_stop_floppy().
36765
22cd079d 36766 * loader/ieee1275/multiboot2.c [__i386__]: Include
36767 grub/cpu/multiboot.h.
36768
a0c62e4e 36769 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36770 casts to short - they are not portable and cause warnings. Fix
36771 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36772
63963d17 367732009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36774
36775 Drivemap fixes
36776
36777 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36778 new function
36779 (grub_get_root_biosnumber_saved): new variable
36780 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36781 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36782 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36783 %dx after the call if necessary
36784 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36785 (boot_mod_SOURCES): remove
36786 (boot_mod_CFLAGS): remove
36787 (boot_mod_LDFLAGS): remove
36788 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36789 (boot_mod_SOURCES): new variable
36790 (boot_mod_CFLAGS): likewise
36791 (boot_mod_LDFLAGS): likewise
36792 * conf/i386-efi.rmk: likewise
36793 * conf/i386-ieee1275.rmk: likewise
36794 * conf/i386-pc.rmk: likewise
36795 * conf/powerpc-ieee1275.rmk: likewise
36796 * conf/sparc64-ieee1275.rmk: likewise
36797 * conf/x86_64-efi.rmk: likewise
36798 * include/grub/i386/pc/biosnum.h: new file
36799 * lib/i386/pc/biosnum.c: likewise
36800 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36801 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36802 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36803
33abf7ae 368042009-06-10 Pavel Roskin <proski@gnu.org>
36805
5ac35b35 36806 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36807 Use separate variables. Read only the file size at the end, but
36808 not the checksum that we don't use.
36809
5c5215d5 36810 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36811 Adjust all callers.
36812
27d5fef7 36813 * kern/ieee1275/openfw.c: Remove libc includes.
36814 * kern/ieee1275/cmain.c: Likewise.
36815 * include/grub/ieee1275/ieee1275.h: Likewise.
36816
33abf7ae 36817 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36818 compiler warnings.
36819
19d50c2b 368202009-06-10 Felix Zielcke <fzielcke@z-51.de>
36821
36822 * Makefile.in: Remove all trailing whitespace.
36823 * conf/i386-pc.rmk: Likewise.
36824 * conf/powerpc-ieee1275.rmk: Likewise.
36825 * conf/sparc64-ieee1275.rmk: Likewise.
36826 * docs/grub.texi: Likewise.
36827 * docs/texinfo.tex: Likewise.
36828 * disk/fs_uuid.c: Likewise.
36829 * disk/lvm.c: Likewise.
36830 * disk/scsi.c: Likewise.
36831 * disk/ata.c: Likewise.
36832 * disk/ieee1275/ofdisk.c: Likewise.
36833 * disk/i386/pc/biosdisk.c: Likewise.
36834 * disk/host.c: Likewise.
36835 * disk/raid.c: Likewise.
36836 * disk/efi/efidisk.c: Likewise.
36837 * disk/usbms.c: Likewise.
36838 * disk/memdisk.c: Likewise.
36839 * disk/loopback.c: Likewise.
36840 * kern/powerpc/dl.c: Likewise.
36841 * kern/device.c: Likewise.
36842 * kern/dl.c: Likewise.
36843 * kern/sparc64/dl.c: Likewise.
36844 * kern/ieee1275/ieee1275.c: Likewise.
36845 * kern/term.c: Likewise.
36846 * kern/fs.c: Likewise.
36847 * kern/i386/dl.c: Likewise.
36848 * kern/i386/pc/startup.S: Likewise.
36849 * kern/i386/pc/init.c: Likewise.
36850 * kern/i386/pc/mmap.c: Likewise.
36851 * kern/i386/pc/lzo1x.S: Likewise.
36852 * kern/i386/ieee1275/init.c: Likewise.
36853 * kern/i386/realmode.S: Likewise.
36854 * kern/i386/tsc.c: Likewise.
36855 * kern/partition.c: Likewise.
36856 * kern/corecmd.c: Likewise.
36857 * kern/file.c: Likewise.
36858 * kern/efi/efi.c: Likewise.
36859 * kern/efi/init.c: Likewise.
36860 * kern/efi/mm.c: Likewise.
36861 * kern/main.c: Likewise.
36862 * kern/err.c: Likewise.
36863 * kern/env.c: Likewise.
36864 * kern/disk.c: Likewise.
36865 * kern/generic/millisleep.c: Likewise.
36866 * kern/generic/rtc_get_time_ms.c: Likewise.
36867 * kern/misc.c: Likewise.
36868 * kern/parser.c: Likewise.
36869 * genmk.rb: Likewise.
36870 * configure.ac: Likewise.
36871 * boot/i386/pc/diskboot.S: Likewise.
36872 * boot/i386/pc/pxeboot.S: Likewise.
36873 * boot/i386/pc/boot.S: Likewise.
36874 * boot/i386/pc/lnxboot.S: Likewise.
36875 * boot/i386/pc/cdboot.S: Likewise.
36876 * parttool/pcpart.c: Likewise.
36877 * video/readers/tga.c: Likewise.
36878 * video/video.c: Likewise.
36879 * video/bitmap.c: Likewise.
36880 * lib/envblk.c: Likewise.
36881 * lib/i386/setjmp.S: Likewise.
36882 * fs/xfs.c: Likewise.
36883 * fs/afs.c: Likewise.
36884 * fs/fat.c: Likewise.
36885 * fs/ntfs.c: Likewise.
36886 * fs/udf.c: Likewise.
36887 * fs/affs.c: Likewise.
36888 * fs/iso9660.c: Likewise.
36889 * fs/hfs.c: Likewise.
36890 * fs/fshelp.c: Likewise.
36891 * fs/ext2.c: Likewise.
36892 * fs/jfs.c: Likewise.
36893 * fs/reiserfs.c: Likewise.
36894 * fs/hfsplus.c: Likewise.
36895 * fs/minix.c: Likewise.
36896 * fs/cpio.c: Likewise.
36897 * fs/sfs.c: Likewise.
36898 * fs/ufs.c: Likewise.
36899 * efiemu/prepare.c: Likewise.
36900 * efiemu/loadcore_common.c: Likewise.
36901 * efiemu/runtime/efiemu.sh: Likewise.
36902 * efiemu/runtime/efiemu.S: Likewise.
36903 * efiemu/runtime/efiemu.c: Likewise.
36904 * efiemu/pnvram.c: Likewise.
36905 * efiemu/main.c: Likewise.
36906 * efiemu/i386/pc/cfgtables.c: Likewise.
36907 * efiemu/i386/loadcore64.c: Likewise.
36908 * efiemu/i386/loadcore32.c: Likewise.
36909 * efiemu/loadcore.c: Likewise.
36910 * efiemu/symbols.c: Likewise.
36911 * efiemu/mm.c: Likewise.
36912 * include/grub/autoefi.h: Likewise.
36913 * include/grub/datetime.h: Likewise.
36914 * include/grub/term.h: Likewise.
36915 * include/grub/hfs.h: Likewise.
36916 * include/grub/lvm.h: Likewise.
36917 * include/grub/i386/tsc.h: Likewise.
36918 * include/grub/i386/linux.h: Likewise.
36919 * include/grub/i386/xnu.h: Likewise.
36920 * include/grub/i386/efiemu.h: Likewise.
36921 * include/grub/i386/pc/biosdisk.h: Likewise.
36922 * include/grub/i386/pc/memory.h: Likewise.
36923 * include/grub/i386/pc/vbe.h: Likewise.
36924 * include/grub/parttool.h: Likewise.
36925 * include/grub/video.h: Likewise.
36926 * include/grub/memory.h: Likewise.
36927 * include/grub/fs.h: Likewise.
36928 * include/grub/partition.h: Likewise.
36929 * include/grub/xnu.h: Likewise.
36930 * include/grub/efi/api.h: Likewise.
36931 * include/grub/efi/pe32.h: Likewise.
36932 * include/grub/efi/memory.h: Likewise.
36933 * include/grub/multiboot.h: Likewise.
36934 * include/grub/usbdesc.h: Likewise.
36935 * include/grub/multiboot2.h: Likewise.
36936 * include/grub/acpi.h: Likewise.
36937 * include/grub/efiemu/efiemu.h: Likewise.
36938 * include/grub/disk.h: Likewise.
36939 * include/grub/ieee1275/ieee1275.h: Likewise.
36940 * include/grub/net.h: Likewise.
36941 * include/grub/machoload.h: Likewise.
36942 * include/grub/macho.h: Likewise.
36943 * include/multiboot.h: Likewise.
36944 * genmoddep.awk: Likewise.
36945 * normal/main.c: Likewise.
36946 * normal/menu_entry.c: Likewise.
36947 * normal/menu_viewer.c: Likewise.
36948 * normal/completion.c: Likewise.
36949 * normal/cmdline.c: Likewise.
36950 * normal/misc.c: Likewise.
36951 * normal/datetime.c: Likewise.
36952 * bus/usb/usbtrans.c: Likewise.
36953 * bus/usb/ohci.c: Likewise.
36954 * bus/usb/uhci.c: Likewise.
36955 * bus/usb/usb.c: Likewise.
36956 * mmap/efi/mmap.c: Likewise.
36957 * mmap/i386/pc/mmap_helper.S: Likewise.
36958 * mmap/i386/pc/mmap.c: Likewise.
36959 * mmap/i386/mmap.c: Likewise.
36960 * mmap/i386/uppermem.c: Likewise.
36961 * mmap/mmap.c: Likewise.
36962 * commands/acpi.c: Likewise.
36963 * commands/echo.c: Likewise.
36964 * commands/blocklist.c: Likewise.
36965 * commands/loadenv.c: Likewise.
36966 * commands/usbtest.c: Likewise.
36967 * commands/boot.c: Likewise.
36968 * commands/parttool.c: Likewise.
36969 * commands/search.c: Likewise.
36970 * commands/cat.c: Likewise.
36971 * commands/i386/pc/play.c: Likewise.
36972 * commands/i386/pc/drivemap.c: Likewise.
36973 * commands/i386/pc/vbeinfo.c: Likewise.
36974 * commands/i386/pc/acpi.c: Likewise.
36975 * commands/i386/pc/vbetest.c: Likewise.
36976 * commands/ls.c: Likewise.
36977 * commands/cmp.c: Likewise.
36978 * commands/test.c: Likewise.
36979 * commands/efi/acpi.c: Likewise.
36980 * commands/gptsync.c: Likewise.
36981 * commands/help.c: Likewise.
36982 * partmap/amiga.c: Likewise.
36983 * partmap/apple.c: Likewise.
36984 * partmap/acorn.c: Likewise.
36985 * partmap/pc.c: Likewise.
36986 * partmap/sun.c: Likewise.
36987 * partmap/gpt.c: Likewise.
36988 * script/sh/lexer.c: Likewise.
36989 * script/sh/function.c: Likewise.
36990 * font/font.c: Likewise.
36991 * font/font_cmd.c: Likewise.
36992 * loader/powerpc/ieee1275/linux.c: Likewise.
36993 * loader/efi/chainloader.c: Likewise.
36994 * loader/multiboot_loader.c: Likewise.
36995 * loader/macho.c: Likewise.
36996 * loader/i386/multiboot.c: Likewise.
36997 * loader/i386/linux.c: Likewise.
36998 * loader/i386/pc/linux.c: Likewise.
36999 * loader/i386/pc/multiboot2.c: Likewise.
37000 * loader/i386/pc/chainloader.c: Likewise.
37001 * loader/i386/pc/xnu.c: Likewise.
37002 * loader/i386/bsd_trampoline.S: Likewise.
37003 * loader/i386/efi/linux.c: Likewise.
37004 * loader/i386/multiboot_elfxx.c: Likewise.
37005 * loader/i386/bsd_helper.S: Likewise.
37006 * loader/i386/bsd.c: Likewise.
37007 * loader/i386/linux_trampoline.S: Likewise.
37008 * loader/i386/xnu_helper.S: Likewise.
37009 * loader/i386/xnu.c: Likewise.
37010 * loader/i386/bsd_pagetable.c: Likewise.
37011 * loader/i386/multiboot_helper.S: Likewise.
37012 * loader/xnu.c: Likewise.
37013 * loader/xnu_resume.c: Likewise.
37014 * io/gzio.c: Likewise.
37015 * term/efi/console.c: Likewise.
37016 * term/terminfo.c: Likewise.
37017 * term/ieee1275/ofconsole.c: Likewise.
37018 * term/i386/pc/serial.c: Likewise.
37019 * term/i386/pc/vesafb.c: Likewise.
37020 * term/i386/pc/vga.c: Likewise.
37021 * term/usb_keyboard.c: Likewise.
37022 * term/gfxterm.c: Likewise.
37023 * aclocal.m4: Likewise.
37024 * util/lvm.c: Likewise.
37025 * util/grub.d/30_os-prober.in: Likewise.
37026 * util/grub.d/10_hurd.in: Likewise.
37027 * util/console.c: Likewise.
37028 * util/grub-macho2img.c: Likewise.
37029 * util/grub-probe.c: Likewise.
37030 * util/hostfs.c: Likewise.
37031 * util/i386/pc/grub-mkimage.c: Likewise.
37032 * util/i386/pc/grub-setup.c: Likewise.
37033 * util/i386/efi/grub-mkimage.c: Likewise.
37034 * util/grub-mkconfig.in: Likewise.
37035 * util/raid.c: Likewise.
37036 * util/resolve.c: Likewise.
37037 * util/grub-mkdevicemap.c: Likewise.
37038 * util/grub-emu.c: Likewise.
37039 * util/getroot.c: Likewise.
37040 * util/hostdisk.c: Likewise.
37041 * util/usb.c: Likewise.
37042 * util/grub-editenv.c: Likewise.
37043 * util/misc.c: Likewise.
37044
d2d49665 370452009-06-10 Felix Zielcke <fzielcke@z-51.de>
37046
37047 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37048 `genparttoollist.sh'.
37049 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37050 Add `*.sh' to the list find searches for and change `mdate.sh'
37051 to `mdate-sh'.
37052
fe052e37 370532009-06-10 Pavel Roskin <proski@gnu.org>
37054
2763ac18 37055 * include/grub/multiboot2.h: Provide compatibility defines for
37056 multiboot2.h.
37057 * include/multiboot2.h: Include stdint.h only if needed, using
37058 angle brackets.
37059 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37060 grub/multiboot2.h.
37061 * loader/ieee1275/multiboot2.c: Likewise.
37062 * loader/multiboot2.c: Likewise.
37063 * loader/multiboot_loader.c: Likewise.
37064
437e6adc 37065 * configure.ac: Use -nostdlib when probing for the target. It
37066 should not be required to have libc for the target.
37067
06a6836c 37068 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37069 they fail without libc headers for the target.
37070 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37071 exports.
37072 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37073 preprocessor conditionals.
37074
fe052e37 37075 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37076 build system doesn't need to be aware of the tar.c internals.
37077
afd22553 370782009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37079
afd22553 37080 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37081
6b787c4f 370822009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37083
37084 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37085 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37086
370872009-06-09 Felix Zielcke <fzielcke@z-51.de>
37088
37089 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37090 aren't available if ata.mod gets used.
6b787c4f 37091
473d1e45 370922009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37093
473d1e45 37094 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37095 initialising controller.
473d1e45 37096 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37097
255a27d4 370982009-06-08 Felix Zielcke <fzielcke@z-51.de>
37099
37100 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37101 to choose between ata and biosdisk module on i386-pc.
37102
473d1e45 371032009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 37104
d55842d8 37105 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37106 Subclass and Programming Interface fields in terms of the 3 byte
37107 Class Code register.
37108 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37109
fa5db0b1 37110 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37111 interface is OHCI. Add grub_dprintf for symmetry with
37112 bus/usb/uhci.c.
37113 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37114 interface is UHCI. Add interf variable for programming
37115 interface. Print interface with class/subclass.
37116
c0947beb 37117 * bus/usb/ohci.c: Set interf with correct field.
37118
69da8877 37119 * bus/usb/uhci.c: Remove unneeded doubled lines.
37120 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37121 Remove whitespace inside comment.
37122
9e172e30 371232009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37124
37125 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37126 as fallback an equivalent option without depth.
37127
de65ee2b 371282009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37129
37130 Not fail if unable to retrieve C/H/S on LBA disks
37131
473d1e45 37132 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37133 if unable to retrieve C/H/S on LBA disks
37134
b57ea2c9 371352009-06-08 Pavel Roskin <proski@gnu.org>
37136
37137 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37138 about aliasing.
37139
af361263 371402009-06-08 Felix Zielcke <fzielcke@z-51.de>
37141
37142 * Makefile.in (uninstall): Remove all $lib_DATA files.
37143
4c9ec6b3 371442009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37145
37146 Bugfix: install on partitionless device
37147
37148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37149 is a whole disk
37150
e76fc924 371512009-06-08 Felix Zielcke <fzielcke@z-51.de>
37152
37153 * Makefile.in (uninstall): Remove all $include_DATA files.
37154
ba5a0d05 371552009-06-08 Felix Zielcke <fzielcke@z-51.de>
37156
37157 * commands/true.c: New file. Implement the true and false commands.
37158 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37159 (true_mod_SOURCES): New variable.
37160 (true_mod_CFLAGS): Likewise.
37161 (true_mod_LDFLAGS): Likewise.
37162
c8048e32 371632009-06-05 Colin D Bennett <colin@gibibit.com>
37164
37165 Optimized font character lookup using binary search instead of linear
37166 search. Fonts now are required to have the character index ordered by
37167 code point.
37168
37169 * font/font.c (load_font_index): Verify that fonts have ordered
37170 character indices.
37171 (find_glyph): Use binary search instead of linear search to find a
37172 character in a font.
37173
408305be 371742009-06-05 Michael Scherer <misc@mandriva.org>
37175
37176 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37177 uses case sensitive btree.
37178 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37179 only for case insensitive filesystems.
37180
8ee1e0d9 371812009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37182
37183 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37184 * conf/common.rmk (search_mod_CFLAGS): likewise
37185
a9966eb1 371862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37187
473d1e45 37188 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37189 compensate a compiler bug
37190
9e7100fb 371912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37192
473d1e45 37193 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37194 instead of '\b'
473d1e45 37195
ede21d71 371962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37197
37198 Definitions for creating asm symbols with Apple's CC
37199
37200 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37201 [APPLE_CC] (VARIABLE): likewise
37202
9dbf7653 372032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37204
37205 Disable lnxboot.img when compiled
37206 with Apple's CC
37207
37208 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37209 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37210 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37211 [! APPLE_CC] (CODE_LENG): skip
37212 [! APPLE_CC] (setup_sects): likewise
37213 [! APPLE_CC]: skip filling
473d1e45 37214
e93cdc3d 372152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37216
37217 Address in trampolines based on 32-bit registers when compiled
37218 with Apple's CC
37219
473d1e45 37220 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37221 for addresses
37222 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37223
6c688477 372242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37225
37226 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37227
37228 * kern/misc.c [APPLE_CC] (memcpy): new function
37229 [APPLE_CC] (memmove): likewise
37230 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37231 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37232 (memset): likewise
37233 (abort): likewise
37234 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37235 APPLE_CC are defined
37236 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37237 (grub_assert_fail): make prototype conditional
37238
e37ffc5c 372392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37240
37241 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37242
473d1e45 37243 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37244 grub-macho2img
e37ffc5c 37245 (CLEANFILES): add grub-macho2img
37246 (grub_macho2img_SOURCES): new variable
37247 * kern/i386/pc/startup.S (bss_start): new variable
37248 (bss_end): likewise
37249 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37250 * util/grub-macho2img.c: new file
37251
cf00df31 372522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37253
37254 Use objconv when compiling with Apple's CC
37255
37256 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37257 (efiemu64.o): likewise
37258 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37259 when compiling with Apple's CC
37260 (efiemu64_s.o): likewise
37261 * configure.ac: check for objconv when compiling with Apple's CC
37262 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37263
d119a20c 372642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37265
37266 Define segment as well as section when compiling with
37267 Apple's CC
37268
37269 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37270 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37271 (efiemu_convert_pointer): likewise
37272 (efiemu_set_virtual_address_map): likewise
37273 (efiemu_convert_pointer): likewise
37274 (efiemu_getcrc32): likewise
37275 (init_crc32_table): likewise
37276 (reflect): likewise
37277 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37278 (GRUB_MOD_DEP): likewise
473d1e45 37279
c8600122 372802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37281
37282 Allow a compilation without -mcmodel=large
37283
37284 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37285 when compiled without -mcmodel=large
473d1e45 37286 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37287 without -mcmodel=large
473d1e45 37288 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37289 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37290
e8df1d4e 372912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37292
37293 Remove nested functions in efiemu core
37294
37295 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37296
cc6c3ac1 372972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37298
37299 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37300
37301 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37302 temporary storage
473d1e45 37303 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37304 using Apple's CC
cc6c3ac1 37305 (grub_cpu_is_tsc_supported): likewise
37306 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37307
3e325901 373082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37309
37310 Absolute addressing through constant with Apple's cc
37311
37312 * kern/i386/pc/startup.S: Define necessary constants
37313 and address through it when using ABS with Apple's CC
37314 * boot/i386/pc/diskboot.S: likewise
37315 * boot/i386/pc/boot.S: likewise
37316 * boot/i386/pc/lnxboot.S: likewise
37317 * boot/i386/pc/cdboot.S: likewise
37318 * mmap/i386/pc/mmap_helper.S: likewise
37319 * commands/i386/pc/drivemap_int13h.S: likewise
37320
2b167a72 373212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37322
37323 Check if compiler is apple cc
37324
37325 * Makefile.in (ASFLAGS): new variable
37326 (TARGET_ASFLAGS): likewise
37327 (TARGET_MODULE_FORMAT): likewise
37328 (TARGET_APPLE_CC): likewise
37329 (OBJCONV): likewise
37330 (TARGET_IMG_CFLAGS): likewise
37331 (TARGET_CPPFLAGS): add includedir
37332 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37333 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37334 Check for linker script only if compiler isn't Apple's CC
37335 (TARGET_MODULE_FORMAT): set
37336 (TARGET_APPLE_CC): likewise
37337 (TARGET_ASFLAGS): likewise
37338 (ASFLAGS): likewise
37339 Check for objcopy only if compiler isn't Apple's CC
37340 Check for BSS symbol only if compiler isn't Apple's CC
37341 * genmk.rb: adapt nm options if we use Apple's utils
37342 * aclocal.m4 (grub_apple_cc): new test
37343 (grub_apple_target_cc): likewise
473d1e45 37344
fb14123e 373452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37346
37347 Simplify sed expressions and improve awk
37348
37349 * Makefile.in (install-local): simplify sed expression
37350 * gencmdlist.sh: likewise
37351 * genmoddep.awk: avoid adding module as a dependency of itself
37352
5b889789 373532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37354
37355 Add missing start symbols
37356
37357 * boot/i386/pc/boot.S: add start
fb14123e 37358 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37359
fd2bf2e3 373602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37361
37362 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37363
37364 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37365 (relocate_addresses): consider both r_addend and value at offset
37366 (make_mods_section): zerofill modinfo and header
37367 (convert_elf): write prefix here
473d1e45 37368
5389763d 373692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37370
37371 Use .asciz instead of .string
37372
37373 * i386/pc/diskboot.S: use .asciz instead of .string
37374 * i386/pc/boot.S: likewise
37375 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37376 (GRUB_MOD_NAME): likewise
473d1e45 37377
3eb5ed4e 373782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37379
37380 gfxpayload support
37381
37382 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37383 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37384 (grub_video_setup): remove
37385 (grub_video_set_mode): new prototype
37386 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37387 (vid_mode): remove
37388 (linux_vesafb_res): compile only on PCBIOS
37389 (grub_linux_boot): support gfxpayload
37390 * loader/i386/pc/xnu.c (video_hook): new function
37391 (grub_xnu_set_video): support gfxpayload
37392 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37393 (DEFAULT_VIDEO_HEIGHT): likewise
37394 (DEFAULT_VIDEO_FLAGS): likewise
37395 (DEFAULT_VIDEO_MODE): new definition
37396 (video_hook): new function
37397 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37398 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37399 loading xnu
37400 * video/video.c (grub_video_setup): removed
473d1e45 37401 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37402 grub_video_setup
37403
4b0e1143 374042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37405
37406 Avoid calling biosdisk in drivemap
37407
37408 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37409 (revparse_biosdisk): likewise
37410 (list_mappings): derive name from id directly
37411 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37412
fda6cb98 374132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37414
37415 Script fixes
37416
37417 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37418 (grub_lexer_param): add tokenonhold
37419 (grub_script_create_cmdline): remove cmdline. All callers updated
37420 (grub_script_function_create): make functionname
37421 grub_script_arg. All callers updated
37422 (grub_script_execute_argument_to_string): new prototype
37423 * kern/parser.c (state_transitions): reorder
37424 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37425 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37426 make global
37427 (grub_script_execute_cmdline): use new format
37428 * script/sh/function.c (grub_script_function_create): make functionname
37429 grub_script_arg. All callers updated
473d1e45 37430 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37431 (grub_script_yylex): remove
37432 (grub_script_yylex2): renamed to ...
37433 (grub_script_yylex): ...renamed
37434 parse the expressions like a${b}c
37435 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37436 (GRUB_PARSER_TOKEN_VAR): remove
37437 (GRUB_PARSER_TOKEN_NAME): likewise
37438 ("if"): declare as typeless
37439 ("while"): likewise
37440 ("function"): likewise
37441 ("else"): likewise
37442 ("then"): likewise
37443 ("fi"): likewise
37444 (text): remove
37445 (argument): likewise
37446 (script): accept empty scripts and make exit on error
37447 (arguments): use GRUB_PARSER_TOKEN_ARG
37448 (function): likewise
37449 (command): move error handling to script
37450 (menuentry): move grub_script_lexer_ref before
473d1e45 37451 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37452 argument. All callers updated
37453
f4448a07 374542009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37455
37456 Prevent GRUB from probing floppies during boot.
37457
37458 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37459 * commands/search.c (options): Add --no-floppy.
37460 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37461 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37462 --no-floppy when searching for UUIDs.
37463
2bf5885a 374642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37465
37466 Simplify the code duplication in commands/search.c.
37467
37468 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37469 (search_fs): ... this. Update all users.
37470
f6fd460a 374712009-06-03 Felix Zielcke <fzielcke@z-51.de>
37472
37473 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37474
cbb3c83e 374752009-05-28 Pavel Roskin <proski@gnu.org>
37476
57788cfd 37477 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37478 Remove the original symlink explicitly.
37479
cbb3c83e 37480 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37481 just one slash. That's how grub_fshelp_find_file() does it.
37482
cd0d5e30 374832009-05-26 Pavel Roskin <proski@gnu.org>
37484
f0f8bbe2 37485 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37486 to `str'.
37487
cd0d5e30 37488 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37489 possibly unused.
37490
8c2cab51 374912009-05-25 Christian Franke <franke@computer.org>
37492
37493 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37494 register.
37495 (grub_atapi_identify): Add wait after drive select.
37496 (grub_ata_identify): Do more strict status register check before
37497 calling grub_atapi_identify (). Suppress error message if status
37498 register is 0x00 after command failure. Add status register
37499 check after PIO read to avoid bogus identify due to stuck DRQ.
37500 Thanks to Pavel Roskin for testing.
37501 (grub_device_initialize): Remove unsafe status register check.
37502 Thanks to 'phcoder' for problem report and patch.
37503 Prevent sign extension in debug message.
37504
230c0ad6 375052009-05-23 Colin D Bennett <colin@gibibit.com>
37506
37507 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37508 definition file, and functions defined in `normal/menu.c' have had
37509 their prototypes moved to `include/grub/menu.h' for consistency.
37510
37511 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37512 from normal.h.
37513 (grub_menu_get_entry): Likewise.
37514 (grub_menu_get_timeout): Likewise.
37515 (grub_menu_set_timeout): Likewise.
37516 (grub_menu_execute_entry): Likewise.
37517 (grub_menu_execute_with_fallback): Likewise.
37518 (grub_menu_entry_run): Likewise.
37519
37520 * include/grub/normal.h: Re-ordered and grouped function
37521 prototypes by file that the function is defined in.
37522 (grub_menu_execute_callback): Removed; moved to menu.h.
37523 (grub_menu_get_entry): Likewise.
37524 (grub_menu_get_timeout): Likewise.
37525 (grub_menu_set_timeout): Likewise.
37526 (grub_menu_execute_entry): Likewise.
37527 (grub_menu_execute_with_fallback): Likewise.
37528 (grub_menu_entry_run): Likewise.
37529 (grub_menu_addentry): Renamed from this ...
37530 (grub_normal_add_menu_entry): ... to this.
37531
37532 * normal/main.c (grub_menu_addentry): Renamed from this ...
37533 (grub_normal_add_menu_entry): ... to this.
37534
37535 * script/sh/execute.c (grub_script_execute_menuentry): Update
37536 reference to renamed grub_menu_addentry function.
37537
861f03a5 375382009-05-23 Felix Zielcke <fzielcke@z-51.de>
37539
37540 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37541
96b1619a 375422009-05-22 Pavel Roskin <proski@gnu.org>
37543
bf6a5fb2 37544 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37545 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37546 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37547 compiling for the i386 targets, but not for the utilities.
37548
96b1619a 37549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37550 to grub_uint8_t.
37551 (grub_root_drive): Likewise.
37552 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37553 remove alignment.
37554 (grub_root_drive): Change size to byte.
37555 (grub_start_addr): Remove.
37556 (grub_end_addr): Likewise.
37557 (grub_apm_bios_info): Likewise.
37558
b729776b 375592009-05-21 Felix Zielcke <fzielcke@z-51.de>
37560
37561 * normal/i386: Remove.
37562 * normal/powerpc: Likewise.
37563 * normal/sparc64: Likewise.
37564 * normal/x86_64: Likewise.
37565
0a15ce80 375662009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37567
37568 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37569 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37570 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37571
33db9015 375722009-05-18 Colin D Bennett <colin@gibibit.com>
37573
d6da58e6 37574 Display error messages when parsing a Lua statement fails.
37575 Previously, executing a syntactically invalid statement like
37576 ")foo" or "bar;" would silently fail.
33db9015 37577
37578 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37579 (grub_lua_parse_line): Improved reporting of Lua parser and
37580 execution errors.
33db9015 37581
46422c89 375822009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37583
37584 Remove -Werror which causes build to fail on some systems
37585
37586 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37587 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37588 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37589
22f53a96 375902009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37591
37592 trampoline for linux on 64-bit platform
37593
18f547ad 37594 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37595 loader/i386/efi/linux_trampoline.S
37596 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37597 declaration
d6da58e6 37598 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37599 here
22f53a96 37600 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37601 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37602 trampoline
22f53a96 37603 (jumpvector): removed
37604 (grub_linux_trampoline_start): new declaration
37605 (grub_linux_trampoline_end): likewise
37606 (grub_linux_boot): use trampoline when on 64-bit platform
37607 * loader/i386/linux.c: likewise
37608
cb5a0f40 376092009-05-16 Pavel Roskin <proski@gnu.org>
37610
37611 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37612 const to avoid a warning.
37613 (grub_lua_setenv): Likewise.
37614 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37615 lmsg to fix a warning.
37616
334f2c28 376172009-05-16 Felix Zielcke <fzielcke@z-51.de>
37618
37619 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37620 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37621 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37622 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37623 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37624 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37625 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37626 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37627
59e5d3ec 376282009-05-16 Felix Zielcke <fzielcke@z-51.de>
37629
37630 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37631
9d87a1ba 376322009-05-16 Bean <bean123ch@gmail.com>
37633
37634 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37635 (lua_mod_SOURCES): New variable.
37636 (lua_mod_CFLAGS): Likewise.
37637 (lua_mod_LDFLAGS): Likewise.
37638
37639 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37640 (setjmp_mod_SOURCES): New variable.
37641 (setjmp_mod_CFLAGS): Likewise.
37642 (setjmp_LDFLAGS): Likewise.
37643
37644 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37645 (setjmp_mod_SOURCES): New variable.
37646 (setjmp_mod_CFLAGS): Likewise.
37647 (setjmp_LDFLAGS): Likewise.
37648
37649 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37650 (setjmp_mod_SOURCES): New variable.
37651 (setjmp_mod_CFLAGS): Likewise.
37652 (setjmp_LDFLAGS): Likewise.
37653
37654 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37655 (setjmp_mod_SOURCES): New variable.
37656 (setjmp_mod_CFLAGS): Likewise.
37657 (setjmp_LDFLAGS): Likewise.
37658
37659 * normal/i386/setjmp.S: Moved from here ...
37660 * lib/i386/setjmp.S: ... Moved here
37661 * normal/x86_64/setjmp.S: Moved from here ...
37662 * lib/x86_64/setjmp.S: ... Moved here
37663 * normal/powerpc/setjmp.S: Moved from here ...
37664 * lib/powerpc/setjmp.S: ... Moved here
37665 * normal/sparc64/setjmp.S: Moved from here ...
37666 * lib/sparc64/setjmp.S: ... Moved here
37667
37668 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37669 returns_twice in mingw.
37670
37671 * script/lua/grub_lib.c: New file.
37672 * script/lua/grub_lib.h: Likewise.
37673 * script/lua/grub_lua.h: Likewise.
37674 * script/lua/grub_main.c: Likewise.
37675 * script/lua/lapi.c: Likewise.
37676 * script/lua/lapi.h: Likewise.
37677 * script/lua/lauxlib.c: Likewise.
37678 * script/lua/lauxlib.h: Likewise.
37679 * script/lua/lbaselib.c: Likewise.
37680 * script/lua/lcode.c: Likewise.
37681 * script/lua/lcode.h: Likewise.
37682 * script/lua/ldblib.c: Likewise.
37683 * script/lua/ldebug.c: Likewise.
37684 * script/lua/ldebug.h: Likewise.
37685 * script/lua/ldo.c: Likewise.
37686 * script/lua/ldo.h: Likewise.
37687 * script/lua/ldump.c: Likewise.
37688 * script/lua/lfunc.c: Likewise.
37689 * script/lua/lfunc.h: Likewise.
37690 * script/lua/lgc.c: Likewise.
37691 * script/lua/lgc.h: Likewise.
37692 * script/lua/linit.c: Likewise.
37693 * script/lua/liolib.c: Likewise.
37694 * script/lua/llex.c: Likewise.
37695 * script/lua/llex.h: Likewise.
37696 * script/lua/llimits.h: Likewise.
37697 * script/lua/lmathlib.c: Likewise.
37698 * script/lua/lmem.c: Likewise.
37699 * script/lua/lmem.h: Likewise.
37700 * script/lua/loadlib.c: Likewise.
37701 * script/lua/lobject.c: Likewise.
37702 * script/lua/lobject.h: Likewise.
37703 * script/lua/lopcodes.c: Likewise.
37704 * script/lua/lopcodes.h: Likewise.
37705 * script/lua/loslib.c: Likewise.
37706 * script/lua/lparser.c: Likewise.
37707 * script/lua/lparser.h: Likewise.
37708 * script/lua/lstate.c: Likewise.
37709 * script/lua/lstate.h: Likewise.
37710 * script/lua/lstring.c: Likewise.
37711 * script/lua/lstring.h: Likewise.
37712 * script/lua/lstrlib.c: Likewise.
37713 * script/lua/ltable.c: Likewise.
37714 * script/lua/ltable.h: Likewise.
37715 * script/lua/ltablib.c: Likewise.
37716 * script/lua/ltm.c: Likewise.
37717 * script/lua/ltm.h: Likewise.
37718 * script/lua/lua.h: Likewise.
37719 * script/lua/luaconf.h: Likewise.
37720 * script/lua/lualib.h: Likewise.
37721 * script/lua/lundump.c: Likewise.
37722 * script/lua/lundump.h: Likewise.
37723 * script/lua/lvm.c: Likewise.
37724 * script/lua/lvm.h: Likewise.
37725 * script/lua/lzio.c: Likewise.
37726 * script/lua/lzio.h: Likewise.
37727
5e898c9d 377282009-05-16 Bean <bean123ch@gmail.com>
37729
37730 * include/grub/kernel.h (grub_module_header_types): Add type
37731 OBJ_TYPE_CONFIG.
37732
37733 * kern/main.c (grub_load_config): New function.
37734 (grub_main): Call grub_load_config to read boot config.
37735
37736 * grub-mkimage (generate_image): New parameter config_path.
37737 (options): New option --config.
37738 (main): Parse --config option, and pass it to generate_image.
37739
cf353a47 377402009-05-14 Christian Franke <franke@computer.org>
37741
37742 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37743 This fixes build on Cygwin.
37744
3834887f 377452009-05-14 Pavel Roskin <proski@gnu.org>
37746
37747 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37748 jump. This saves two bytes, so the typical case of 2 swapped
37749 drives would fit 32 bytes.
37750
8090fc01 377512009-05-13 Pavel Roskin <proski@gnu.org>
37752
ac963883 37753 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37754 grub_uint32_t to avoid a warning.
37755
8090fc01 37756 * loader/i386/linux.c (allocate_pages): When assigning
37757 real_mode_mem, cast through grub_size_t to fix a warning. The
37758 code already makes sure that the value would fit a pointer.
37759 (grub_linux_setup_video): Cast render_target->data to
37760 grub_size_t to fix a warning.
37761
18f547ad 377622009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37763
37764 * commands/i386/pc/drivemap.c: New file - implement drivemap
37765 command.
37766 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37767 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37768
6f6a8b28 377692009-05-13 Pavel Roskin <proski@gnu.org>
37770
37771 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37772 embedding_area_exists.
37773
15fbf4c4 377742009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37775
37776 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37777 it easier to understand / work with.
59978c8a 37778 Improve warning messages for cases where there's no embedding area,
37779 or when it is too small (or core.img too large).
15fbf4c4 37780
238e871f 377812009-05-13 Pavel Roskin <proski@gnu.org>
37782
0ab3a9a4 37783 * loader/i386/pc/multiboot2.c: Add necessary includes for
37784 grub_multiboot2_real_boot().
37785
a2c8c5f8 37786 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37787 PX record is always little-endian. We only need the lower 2
37788 bytes of the mode.
37789
faec96af 37790 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37791 facilitate code reuse.
37792 (grub_cpio_mount): Use "struct head", not a char buffer. This
37793 fixes a warning reported by gcc 4.4.
37794
238e871f 37795 * kernel/disk.c (grub_disk_read): Use void pointer for the
37796 buffer.
37797 (grub_disk_write): Use const void pointer for the buffer.
37798 Adjust all callers. Remove unnecessary casts.
37799
901d2f0c 378002009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37801
37802 * util/i386/pc/grub-install.in: Update copyright year.
37803
18f547ad 378042009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37805
37806 gptsync
37807
37808 * commands/gptsync.c: new file
37809 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37810 (gptsync_mod_SOURCES): new variable
37811 (gptsync_mod_CFLAGS): likewise
37812 (gptsync_mod_LDFLAGS): likewise
18f547ad 37813 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37814 new definition
37815 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37817 * conf/i386-ieee1275.rmk: likewise
37818 * conf/i386-pc.rmk: likewise
37819 * conf/powerpc-ieee1275.rmk: likewise
37820
b4ba690a 378212009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37822
37823 Fixed grub-emu
37824
37825 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37826 (grub_dl_ref): likewise
37827
317e1a44 378282009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37829
37830 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37831 split in two functions (one for msdos and one for gpt).
37832
041b8094 378332009-05-08 Pavel Roskin <proski@gnu.org>
37834
752473c2 37835 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37836 not modified.
37837
041b8094 37838 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37839 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37840 Initialize them with -1. Add sanity check for bad1. Eliminate
37841 nerr variable.
37842
172800ce 378432009-05-08 David S. Miller <davem@davemloft.net>
37844
37845 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37846
29aa5e81 378472009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37848
37849 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37850 existence.
29aa5e81 37851
96613b62 378522009-05-05 Felix Zielcke <fzielcke@z-51.de>
37853
37854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 37855 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 37856
eef73c8a 378572009-05-05 David S. Miller <davem@davemloft.net>
37858
37859 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
37860
119494b5 378612009-05-05 Pavel Roskin <proski@gnu.org>
37862
37863 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
37864 of grub_dl_ref() and grub_dl_unref().
37865 * commands/parttool.c: Remove preprocessor conditionals around
37866 grub_dl_ref() and grub_dl_unref().
37867 * fs/affs.c: Likewise.
37868 * fs/afs.c: Likewise.
37869 * fs/cpio.c: Likewise.
37870 * fs/ext2.c: Likewise.
37871 * fs/fat.c: Likewise.
37872 * fs/hfs.c: Likewise.
37873 * fs/hfsplus.c: Likewise.
37874 * fs/iso9660.c: Likewise.
37875 * fs/jfs.c: Likewise.
37876 * fs/minix.c: Likewise.
37877 * fs/ntfs.c: Likewise.
37878 * fs/reiserfs.c: Likewise.
37879 * fs/sfs.c: Likewise.
37880 * fs/udf.c: Likewise.
37881 * fs/ufs.c: Likewise.
37882 * fs/xfs.c: Likewise.
37883 * include/grub/dl.h: Likewise.
37884 * loader/xnu.c: Likewise.
37885
de5fd76e 378862009-05-04 Pavel Roskin <proski@gnu.org>
37887
37888 * commands/acpi.c: Remove unused variable my_mod.
37889 * partmap/amiga.c: Likewise.
37890 * partmap/apple.c: Likewise.
37891 * partmap/gpt.c: Likewise.
37892 * partmap/pc.c: Likewise.
37893 * partmap/sun.c: Likewise.
37894 * term/gfxterm.c: Likewise.
37895 * term/i386/pc/vesafb.c: Likewise.
37896 * term/i386/pc/vga.c: Likewise.
37897
983598ad 378982009-05-04 David S. Miller <davem@davemloft.net>
37899
37900 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
37901 pointer args to grub_ieee1275_get_property().
37902
8aadec43 37903 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
37904
9554b15e 37905 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
37906 devices, and do not traverse down under controller nodes.
37907
67e23c90 37908 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
37909 (grub_ofdisk_open): Use it to un-escape "," characters.
37910 * kern/disk.c (find_part_sep): New.
37911 (grub_disk_open): Use it to find the first non-escaped ','
37912 character in the disk name.
37913 * util/ieee1275/devicemap.c (escape_of_path): New.
37914 (grub_util_emit_devicemap_entry): Use it.
37915 * util/sparc64/ieee1275/grub-install.in: Update script to
37916 strip partition specifiers properly by not triggering on
37917 '\' escaped ',' characters.
37918
74bfdd2f 379192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37920
37921 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
37922 to 0x300.
37923 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
37924 resolutions.
37925 (linux_vesafb_modes): Add a lot of additional modes to the list (based
37926 on documentation from Wikipedia).
37927
4241d2b1 379282009-05-04 Pavel Roskin <proski@gnu.org>
37929
37930 * disk/ata.c: Spelling fixes.
37931 * disk/raid.c: Likewise.
37932 * disk/usbms.c: Likewise.
37933 * disk/dmraid_nvidia.c: Likewise.
37934 * kern/ieee1275/openfw.c: Likewise.
37935 * kern/ieee1275/init.c: Likewise.
37936 * kern/ieee1275/cmain.c: Likewise.
37937 * boot/i386/pc/cdboot.S: Likewise.
37938 * video/readers/png.c: Likewise.
37939 * video/i386/pc/vbe.c: Likewise.
37940 * fs/udf.c: Likewise.
37941 * fs/hfs.c: Likewise.
37942 * fs/reiserfs.c: Likewise.
37943 * efiemu/runtime/efiemu.c: Likewise.
37944 * efiemu/main.c: Likewise.
37945 * efiemu/mm.c: Likewise.
37946 * include/grub/elf.h: Likewise.
37947 * include/grub/xnu.h: Likewise.
37948 * include/grub/usbdesc.h: Likewise.
37949 * include/grub/usb.h: Likewise.
37950 * include/grub/script_sh.h: Likewise.
37951 * include/grub/lib/LzmaEnc.h: Likewise.
37952 * include/grub/efiemu/efiemu.h: Likewise.
37953 * include/grub/command.h: Likewise.
37954 * normal/menu.c: Likewise.
37955 * normal/main.c: Likewise.
37956 * normal/datetime.c: Likewise.
37957 * bus/usb/uhci.c: Likewise.
37958 * mmap/i386/uppermem.c: Likewise.
37959 * mmap/mmap.c: Likewise.
37960 * commands/acpi.c: Likewise.
37961 * commands/test.c: Likewise.
37962 * partmap/apple.c: Likewise.
37963 * font/font.c: Likewise.
37964 * loader/sparc64/ieee1275/linux.c: Likewise.
37965 * loader/macho.c: Likewise.
37966 * loader/i386/bsd_trampoline.S: Likewise.
37967 * loader/i386/bsd.c: Likewise.
37968 * loader/xnu.c: Likewise.
37969 * term/i386/pc/vesafb.c: Likewise.
37970 * term/usb_keyboard.c: Likewise.
37971 * util/resolve.c: Likewise.
37972 * util/getroot.c: Likewise.
37973
0cfc0083 379742009-05-04 Felix Zielcke <fzielcke@z-51.de>
37975
37976 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
37977
7c1d00cd 379782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37979
37980 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
37981 build error.
37982
b01f0548 379832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37984
37985 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
37986 parameter only available on BIOS.
37987
ecc3eb22 379882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
37989
37990 Removed wrong semicolon in declaration
37991
37992 * grub/misc.h (grub_dprintf): remove semicolon
37993
112972a9 379942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
37995
37996 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
37997 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
37998 is done by grub_cmd_linux() now).
37999 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38000 restore video to text mode.
38001 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38002 indicates lack of "vga=" parameter. "vga=0" is mapped to
38003 `GRUB_LINUX_VID_MODE_NORMAL'.
38004
afd5c115 380052009-05-04 Felix Zielcke <fzielcke@z-51.de>
38006
38007 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38008 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38009 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38010 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38011 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38012 `grub_script.tab.c'.
38013
38014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38015 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38017 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38018 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38019
faa517ce 38020 * Makefile.in: Remove duplicated 2008 in Copyright line.
38021
ae0c0bdc 380222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38023
473d1e45 38024 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 38025 unconditionally.
38026 * include/grub/util/misc.h (grub_util_warn): New declaration.
38027
38028 * util/i386/pc/grub-install.in: Understand --force and pass it down
38029 to grub-setup.
38030
38031 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38032 down to setup().
38033 (setup): Improve error messages and add warnings when requested to
38034 install in odd layouts. Refuse to install using blocklists unless
38035 --force was set.
38036
18f547ad 380372009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38038
38039 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38040
6d260daa 380412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38042
38043 Updated copyright year
38044
38045 * fs/hfsplus.c: updated copyright year
18f547ad 38046
69f853f8 380472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38048
38049 HFS+ UUID
38050
18f547ad 38051 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38052 in the space previously used by unused3
38053 (grub_hfsplus_uuid): new function
38054 (grub_hfsplus_fs): added uuid field
38055
4c402e73 380562009-05-03 Pavel Roskin <proski@gnu.org>
38057
38058 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38059 suppress warnings. It's no longer needed.
38060 * disk/host.c: Likewise.
38061 * disk/ata_pthru.c: Likewise.
38062 * disk/loopback.c: Likewise.
38063 * hook/datehook.c: Likewise.
38064 * parttool/pcpart.c: Likewise.
38065 * fs/i386/pc/pxe.c: Likewise.
38066 * fs/ntfscomp.c: Likewise.
38067 * efiemu/main.c: Likewise.
38068 * mmap/mmap.c: Likewise.
38069 * commands/crc.c: Likewise.
38070 * commands/hexdump.c: Likewise.
38071 * commands/hdparm.c: Likewise.
38072 * commands/acpi.c: Likewise.
38073 * commands/echo.c: Likewise.
38074 * commands/minicmd.c: Likewise.
38075 * commands/blocklist.c: Likewise.
38076 * commands/memrw.c: Likewise.
38077 * commands/loadenv.c: Likewise.
38078 * commands/usbtest.c: Likewise.
38079 * commands/lsmmap.c: Likewise.
38080 * commands/boot.c: Likewise.
38081 * commands/parttool.c: Likewise.
38082 * commands/configfile.c: Likewise.
38083 * commands/search.c: Likewise.
38084 * commands/ieee1275/suspend.c: Likewise.
38085 * commands/cat.c: Likewise.
38086 * commands/i386/pc/pxecmd.c: Likewise.
38087 * commands/i386/pc/play.c: Likewise.
38088 * commands/i386/pc/halt.c: Likewise.
38089 * commands/i386/pc/vbeinfo.c: Likewise.
38090 * commands/i386/pc/vbetest.c: Likewise.
38091 * commands/lspci.c: Likewise.
38092 * commands/date.c: Likewise.
38093 * commands/handler.c: Likewise.
38094 * commands/ls.c: Likewise.
38095 * commands/test.c: Likewise.
38096 * commands/cmp.c: Likewise.
38097 * commands/efi/loadbios.c: Likewise.
38098 * commands/efi/fixvideo.c: Likewise.
38099 * commands/halt.c: Likewise.
38100 * commands/help.c: Likewise.
38101 * commands/reboot.c: Likewise.
38102 * hello/hello.c: Likewise.
38103 * script/sh/main.c: Likewise.
38104 * loader/xnu.c: Likewise.
38105 * term/terminfo.c: Likewise.
38106 * term/i386/pc/serial.c: Likewise.
38107 * term/usb_keyboard.c: Likewise.
38108
515b5079 381092009-05-03 David S. Miller <davem@davemloft.net>
38110
38111 * normal/menu.c: Include grub/parser.h
38112
dfc31a22 381132009-05-03 Pavel Roskin <proski@gnu.org>
38114
2fee74f1 38115 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38116 not char*.
38117 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38118 Suggested by Javier Martín <lordhabbit@gmail.com>
38119
dfc31a22 38120 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38121 efiemu??.o doesn't exist.
38122 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38123 copying.
38124
18f547ad 381252009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 38126
38127 FreeBSD 64-bit support
38128
18f547ad 38129 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 38130 and loader/i386/bsd_trampoline.S
38131 (bsd_mod_ASFLAGS): new variable
38132 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38133 (FREEBSD_MODTYPE_KERNEL64): likewise
38134 (grub_bsd64_trampoline_start): likewise
38135 (grub_bsd64_trampoline_end): likewise
38136 (grub_bsd64_trampoline_selfjump): likewise
38137 (grub_bsd64_trampoline_gdt): likewise
38138 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38139 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38140 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38141 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38142 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38143 of "attrib" member
38144 * loader/i386/bsd_pagetable.c: new file
38145 * loader/i386/bsd_trampoline.S: likewise
38146 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38147 (ALIGN_VAR): likewise
38148 (entry_hi): new variable
38149 (kern_end_mdofs): likewise
38150 (is_64bit): likewise
38151 (grub_freebsd_add_meta): use ALIGN_VAR
38152 (grub_e820_mmap): new declaration
38153 (grub_freebsd_add_mmap): new function
38154 (grub_freebsd_add_meta_module): support 64 bit kernels
38155 (grub_freebsd_list_modules): use ALIGN_VAR
38156 (gdt_descriptor): new declaration
38157 (grub_freebsd_boot): support 64 bit kernels
38158 (grub_bsd_elf64_hook): new function
38159 (grub_bsd_load_elf): support elf64
38160
038c5720 381612009-05-03 Bean <bean123ch@gmail.com>
38162
38163 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38164 after we get the result of if statement.
38165
fc45fb58 381662009-05-03 Bean <bean123ch@gmail.com>
38167
38168 * Makefile.in (enable_efiemu): New variable.
38169
38170 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38171 set.
38172 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38173 path.
38174 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38175 path, add -mno-red-zone option.
38176 (efiemu64_s.o): Likewise.
38177 (efiemu64.o): Use macro $^ for source file.
38178
38179 * configure.ac (--enable-efiemu): New option.
38180
bbee0f2b 381812009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38182
38183 xnu support
38184
38185 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38186 (pkglib_MODULES): add xnu.mod
38187 (xnu_mod_SOURCES): new variable
38188 (xnu_mod_CFLAGS): likewise
38189 (xnu_mod_LDFLAGS): likewise
38190 (xnu_mod_ASFLAGS): likewise
38191 * conf/i386-pc.rmk: likewise
38192 * conf/x86_64-efi.rmk: likewise
7dd4a573 38193 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38194 new declaration
38195 * include/grub/i386/macho.h: new file
38196 * include/grub/i386/xnu.h: likewise
38197 * include/grub/macho.h: likewise
38198 * include/grub/machoload.h: likewise
38199 * include/grub/x86_64/macho.h: likewise
38200 * include/grub/x86_64/xnu.h: likewise
38201 * include/grub/xnu.h: likewise
38202 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38203 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38204 * loader/i386/efi/xnu.c: new file
38205 * loader/i386/pc/xnu.c: likewise
38206 * loader/i386/xnu.c: likewise
38207 * loader/i386/xnu_helper.S: likewise
38208 * loader/macho.c: likewise
38209 * loader/xnu.c: likewise
38210 * loader/xnu_resume.c: likewise
38211 * util/grub-dumpdevtree: likewise
38212 * include/grub/i386/pit.h: include grub/err.h
38213 (grub_pit_wait): export
38214 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38215
5caf964d 382162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38217
38218 Efiemu
7dd4a573 38219
5caf964d 38220 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38221 _linux_efi, linux_efi.
38222 new files in grub-emu
5caf964d 38223 new targets efiemu32.o and efiemu64.o
38224 * loader/linux_normal_efiemu.c: likewise
38225 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38226 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38227 files to copy
38228 * include/grub/autoefi.h: new file
7dd4a573 38229 * include/grub/i386/efiemu.h: likewise
5caf964d 38230 * include/grub/i386/pc/efiemu.h: likewise
38231 * include/grub/efi/api.h: add LL suffix when necessary
38232 new definitions relating to tables
38233 * include/grub/efiemu/efiemu.h: new file
38234 * include/grub/efiemu/runtime.h: likewise
38235 * efiemu/prepare.c: likewise
38236 * efiemu/loadcore_common.c: likewise
38237 * efiemu/loadcore64.c: likewise
38238 * efiemu/runtime/efiemu.sh: likewise
38239 * efiemu/runtime/efiemu.S: likewise
38240 * efiemu/runtime/efiemu.c: likewise
38241 * efiemu/runtime/config.h: likewise
38242 * efiemu/prepare32.c: likewise
38243 * efiemu/main.c: likewise
38244 * efiemu/modules/pnvram.c: likewise
38245 * efiemu/modules/i386: likewise
38246 * efiemu/modules/i386/pc: likewise
38247 * efiemu/modules/acpi.c: likewise
38248 * efiemu/i386/pc/cfgtables.c: likewise
38249 * efiemu/i386/loadcore64.c: likewise
38250 * efiemu/i386/loadcore32.c: likewise
38251 * efiemu/prepare64.c: likewise
38252 * efiemu/loadcore.c: likewise
38253 * efiemu/symbols.c: likewise
38254 * efiemu/mm.c: likewise
38255 * efiemu/loadcore32.c: likewise
7dd4a573 38256
382572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38258
38259 ACPI spoofing
38260
38261 * commands/acpi.c: new file
38262 * commands/i386/pc/acpi.c: likewise
38263 * commands/efi/acpi.c: likewise
38264 * include/grub/acpi.h: likewise
38265 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38266 (acpi_mod_SOURCES): new variable
38267 (acpi_mod_CFLAGS): likewise
38268 (acpi_mod_LDFLAGS): likewise
38269 * conf/i386-efi.rmk: likewise
38270 * conf/x86_64-efi.rmk: likewise
38271
7dd4a573 382722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38273
38274 Missing part from mmap patch
38275
38276 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38277 (grub_mmap_unregister)
38278 (grub_mmap_free_and_unregister): use grub_mmap_register
38279
7dd4a573 382802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38281
38282 Mmap services
38283
38284 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38285 * loader/i386/linux.c (find_mmap_size): likewise
38286 (allocate_pages): likewise
38287 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38288 (grub_fill_multiboot_mmap): likewise
38289 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38290 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38291 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38292 (OPENBSD_MMAP_RESERVED): likewise
38293 * include/grub/i386/pc/memory.h: include grub/memory.h
38294 (grub_lower_mem): removed
38295 (grub_upper_mem): likewise
38296 (GRUB_MACHINE_MEMORY_ACPI): new definition
38297 (GRUB_MACHINE_MEMORY_NVS): likewise
38298 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38299 (GRUB_MACHINE_MEMORY_HOLE): likewise
38300 (grub_machine_mmap_register): likewise
38301 (grub_machine_mmap_unregister): likewise
38302 (grub_machine_get_upper): likewise
38303 (grub_machine_get_lower): likewise
38304 (grub_machine_get_post64): likewise
38305 * include/grub/i386/efi/memory.h: new file
38306 * include/grub/x86_64/efi/memory.h: likewise
38307 * include/grub/efi/memory.h: likewise
38308 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38309 (mmap_mod_SOURCES): new variable
38310 (mmap_mod_LDFLAGS): likewise
38311 (mmap_mod_ASFLAGS): likewise
38312 * conf/i386-coreboot.rmk: likewise
38313 * conf/i386-ieee1275.rmk: likewise
38314 * conf/i386-efi.rmk: likewise
38315 * conf/x86_64-efi.rmk: likewise
38316 * include/grub/types.h (UINT_TO_PTR): new macro
38317 (PTR_TO_UINT32): likewise
38318 (PTR_TO_UINT64): likewise
38319 * include/grub/memory.h: new file
38320 * mmap/i386/pc/mmap.c: likewise
38321 * mmap/i386/pc/mmap_helper.S: likewise
38322 * mmap/i386/uppermem.c: likewise
38323 * mmap/mmap.c: likewise
38324 * mmap/efi/mmap.c: likewise
7dd4a573 38325 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38326 grub_upper_mem
38327 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38328 (grub_upper_mem): likewise
38329 (grub_machine_init): don't use grub_upper_mem,
38330 make grub_lower_mem local
38331 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38332 grub_mmap_iterate and grub_mmap_get_upper
38333 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38334
d558e6b5 383352009-05-02 Bean <bean123ch@gmail.com>
38336
38337 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38338 script/sh/parser.y.
38339 (pkglib_MODULES): Add normal.mod and sh.mod.
38340 (normal_SOURCES): New variable.
38341 (normal_mod_CFLAGS): Likewise.
38342 (normal_mod_LDFLAGS): Likewise.
38343 (sh_mod_SOURCES): Likewise.
38344 (sh_mod_CFLAGS): Likewise.
38345 (sh_mod_LDFLAGS): Likewise.
38346
38347 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38348 script/sh/lexer.c_DEPENDENCIES.
38349 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38350 kern/rescue_reader.c and kern/rescue_parser.c.
38351 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38352 (grub_emu_SOURCES): Change source files.
38353 (pkglib_MODULES): Remove normal.mod.
38354 (normal_SOURCES): Removed.
38355 (normal_mod_CFLAGS): Likewise.
38356 (normal_mod_LDFLAGS): Likewise.
38357 * conf/i386-coreboot.rmk: Likewise.
38358 * conf/i386-efi.rmk: Likewise.
38359 * conf/i386-ieee1276.rmk: Likewise.
38360 * conf/powerpc-ieee1275.rmk: Likewise.
38361 * conf/sparc64-ieee1275.rmk: Likewise.
38362 * conf/x86_64-efi.rmk: Likewise.
38363
38364 * include/grub/command.h (grub_command_execute): New inline function.
38365
38366 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38367
38368 * include/grub/normal.h: Remove <grub/setjmp.h>.
38369 (grub_fs_module_list): Moved to normal/autofs.c.
38370 (grub_exit_env): Removed.
38371 (grub_command_execute): Likewise.
38372 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38373 parameter script.
38374 (read_command_list): New function declaration.
38375 (read_fs_list): Likewise.
38376
38377 * include/parser.h: Include <grub/reader.h>.
38378 (grub_parser_split_cmdline): Change type of getline parameter.
38379 (grub_parser): New structure.
38380 (grub_parser_class): New variable.
38381 (grub_parser_execute): New function declaration.
38382 (grub_register_rescue_parser): Likewise.
38383 (grub_parser_register): New inline function.
38384 (grub_parser_unregister): Likewise.
38385 (grub_parser_get_current): Likewise.
38386 (grub_parser_set_current): Likewise.
38387
38388 * include/grub/reader.h: New file.
38389 * kern/reader.c: Likewise.
38390 * kern/rescue_parser.c: Likewise.
38391 * kern/rescue_reader.c: Likewise.
38392 * normal/autofs.c: Likewise.
38393 * normal/dyncmd.c: Likewise.
38394
38395 * include/grub/rescue.h: Removed.
38396 * normal/command.h: Likewise.
38397
38398 * include/grub/script.h: Moved to ...
38399 * include/grub/script_sh.h: ... Moved here.
38400 * normal/execute.c: Moved to ...
38401 * script/sh/execute.c: ... Moved here.
38402 * normal/function.c: Moved to ...
38403 * script/sh/function.c: ... Moved here.
38404 * normal/lexer.c: Moved to ...
38405 * script/sh/lexer.c: ... Moved here.
38406 * normal/parser.y: Moved to ...
38407 * script/sh/parser.y: ... Moved here.
38408 * normal/script.c: Moved to ...
38409 * script/sh/script.c: ... Moved here.
38410
38411 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38412 <grub/reader.h>.
38413 (grub_exit_env): Removed.
38414 (fs_module_list): Moved to normal/autofs.c.
38415 (grub_file_getline): Don't handle comment here.
38416 (free_menu): Skip removed field entry->commands.
38417 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38418 script parameter.
38419 (read_config_file): Removed nested parameter, change getline function.
38420 (grub_enter_normal_mode): Removed.
38421 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38422 (read_command_list): Likewise.
38423 (autoload_fs_module): Moved to normal/autofs.c.
38424 (read_fs_list): Likewise.
38425 (reader_nested): New variable.
38426 (grub_normal_execute): Run parser.sh to switch to sh parser.
38427 (grub_cmd_rescue): Removed.
38428 (cmd_normal): Removed.
38429 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38430 rescue command.
38431 (grub_cmdline_run): New function.
38432 (grub_normal_reader_init): Likewise.
38433 (grub_normal_read_line): Likewise.
38434 (grub_env_write_pager): Likewise.
38435 (cmdline): New variable.
38436 (grub_normal_reader): Likewise.
38437 (GRUB_MOD_INIT): Register normal reader and set as current, register
38438 pager hook, register normal command with grub_register_command_prio,
38439 so that it won't show up in command.lst.
38440 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38441 grub_fs_autoload_hook.
38442
38443 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38444 (grub_menu_execute_entry): Replace grub_script_execute with
38445 grub_parser_execute, change parameter to grub_command_execute.
38446
38447 * normal/menu_text.c: Remove <grub/script.h>.
38448
38449 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38450 and <grub/parser.h>.
38451 (run): Change editor_getline to use new parser interface. Change
38452 parameter to grub_command_execute.
38453
38454 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38455 <grub/reader.h> and <grub/parser.h>.
38456 (grub_load_normal_mode): Execute normal command.
38457 (grub_main): Call grub_register_core_commands,
38458 grub_register_rescue_parser and grub_register_rescue_reader, use
38459 grub_reader_loop to enter input loop.
38460
7dd4a573 38461 * kern/parser.c (grub_parser_split_cmdline): Change type of
38462 getline parameter.
d558e6b5 38463 (grub_parser_class): New variable.
38464 (grub_parser_execute): New function.
38465
38466 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38467 * loader/multiboot2.c: Likewise.
38468 * loader/sparc64/ieee1275/linux.c: Likewise.
38469
38470 * util/grub-emu.c (read_command_list): New dummy function.
38471
18db813d 384722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38473
38474 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38475 count to 16 for CCISS and IDA.
38476
6c67de15 384772009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38478
38479 * normal/menu_text.c (grub_wait_after_message): Print a newline
38480 after waiting for user input.
38481
38482 * loader/i386/linux.c: Include `<grub/normal.h>'.
38483 (grub_cmd_linux): Improve the error message about `ask' mode, by
38484 waiting for user input so it's not missed (we can do this, since
38485 user requested interaction).
38486
d9dc87b0 384872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38488
38489 Added missing lst to grub-mkrescue
38490
38491 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38492 and ${input_dir}/parttool.lst
38493
ac8a2baa 384942009-04-30 David S. Miller <davem@davemloft.net>
38495
ad22a610 38496 * util/hostdisk.c (device_is_wholedisk): New function.
38497 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38498 zero only if device_is_wholedisk() returns true.
38499
6966215d 38500 * util/hostdisk.c (convert_system_partition_to_system_disk):
38501 Handle virtual disk devices named /dev/vdiskX as found on sparc
38502 and powerpc.
38503
ac8a2baa 38504 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38505 lettered partition specifier is found, convert to numbered.
38506
979b4fb4 385072009-04-29 David S. Miller <davem@davemloft.net>
38508
e2bf39b2 38509 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38510 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38511
3c64e104 38512 * normal/command.c: Add missing newline at end of file.
38513
979b4fb4 38514 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38515 warnings.
38516 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38517 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38518 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38519 ihandles have a 32-bit type but need to be stored in a "void *".
38520
136d9f82 385212009-04-28 Pavel Roskin <proski@gnu.org>
38522
9459c306 38523 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38524 not disk. Adjust all dependencies.
2e08a26a 38525 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38526 grub_disk_close().
38527
136d9f82 38528 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38529 parent's partition, don't copy it by reference, as it gets freed
38530 on close.
38531
7dd4a573 385322009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38533
38534 Preboot hooks support
38535
38536 * commands/boot.c (struct grub_preboot_t): new declaration
38537 (preboots_head): new variable
38538 (preboots_tail): likewise
38539 (grub_loader_register_preboot_hook): new function
38540 (grub_loader_unregister_preboot_hook): likewise
38541 (grub_loader_set): launch preboot hooks
38542 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38543 (grub_loader_register_preboot_hook): new declaration
38544 (grub_loader_unregister_preboot_hook): likewise
38545
5af922b5 385462009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38547
38548 Warning fix
38549
7dd4a573 38550 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38551 calling grub_dprintf
38552
a5562c30 385532009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38554
38555 Bug and warning fixes
38556
7dd4a573 38557 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38558 declaration
38559 * commands/test.c (test_parse): fixed bug with file tests and corrected
38560 declaration of find_file
38561
4006f85c 385622009-04-26 Pavel Roskin <proski@gnu.org>
38563
38564 * Makefile.in: Don't install empty manual pages if help2man is
38565 missing. Use help2man option for output, not shell redirection.
38566
5c77c3de 385672009-04-26 David S. Miller <davem@davemloft.net>
38568
38569 * util/grub-mkdevicemap.c (make_device_map): Add missing
38570 NESTED_FUNC_ATTR to process_device().
38571
033b10a8 385722009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38573
38574 Test command
38575
38576 * commands/test.c: rewritten to use bash-like test
38577
e4343593 385782009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38579
38580 Parttool autoloading and improvements
38581
7dd4a573 38582 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38583 (parttool.lst): new target
38584 * genmk.rb: generate parttool-*
38585 (CLEANFILES): add #{parttool}
38586 (PARTTOOLFILES): new variable
38587 * genparttoollist.sh: new file
7dd4a573 38588 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38589 (grub_pcpart_type): likewise
38590 * commands/parttool.c (helpmsg): new variable
38591 (grub_cmd_parttool): output help if not enough arguments are supplied
38592 autoload modules
38593 (GRUB_MOD_INIT(parttool)): use helpmsg
38594
0d312500 385952009-04-24 David S. Miller <davem@davemloft.net>
38596
7dd4a573 38597 Avoiding opening same device multiple times in device iterator.
0d312500 38598
38599 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38600 and use it to build a list of partitions in iterate_disk() and
0d312500 38601 iterate_partition().
38602
ac20caff 38603 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38604 on disk->data.
38605
0dcf7495 38606 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38607 grub_devalias_iterate() result instead of unconditional 0.
38608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38609 Also, capture hook return value, either directly or via
38610 grub_children_iterate(), and propagate to caller.
38611 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38612 grub_children_iterate): Return value is now 'int' instead of
38613 'grub_err_t'.
38614 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38615 like a proper iterator, stopping when hooks return non-zero.
38616 (grub_devalias_iterate): Likewise.
38617
c8c08833 386182009-04-23 David S. Miller <davem@davemloft.net>
38619
38620 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38621
f01005a8 386222009-04-22 David S. Miller <davem@davemloft.net>
38623
38624 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38625 is larger than address_cells, use that value for address_cells too.
38626
4e8269da 38627 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38628 IEEE1275_MAX_PATH_LEN): Define.
38629 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38630 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38631 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38632 'devtype'. Explicitly NULL terminate devalias expansion.
38633
a1447506 38634 * util/sparc64/ieee1275/misc.c: New file.
38635 * util/sparc64/ieee1275/grub-setup.c: New file.
38636 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38637 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38638 * util/sparc64/ieee1275/grub-install.in: New file.
38639 * util/ieee1275/ofpath.c: New file.
38640 * util/ieee1275/devicemap.c: New file.
38641 * util/devicemap.c: New file.
38642 * util/deviceiter.c: New file.
38643 * kern/sparc64/ieee1275/init.c: New file.
38644 * include/grub/util/ofpath.h: New file.
38645 * include/grub/util/deviceiter.h: New file.
38646 * util/grub-mkdevicemap.c: Include deviceiter.h.
38647 Implement using grub_util_emit_devicemap_entry and
38648 grub_util_iterate_devices.
38649 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38650 util/devicemap.c into grub-mkdevicemap
38651 * conf/i386-efi.rmk: Likewise.
38652 * conf/i386-ieee1275.rmk: Likewise.
38653 * conf/i386-pc.rmk: Likewise.
38654 * conf/powerpc-ieee1275.rmk: Likewise.
38655 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38656 images and installation utilities. Build kernel as image
38657 instead of as elf binary. Use common rules as much as possible.
38658
7dd4a573 386592009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38660
38661 Correct GPT definition
38662
7dd4a573 38663 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38664 of "attrib" member
38665
c6c5219f 386662009-04-19 Felix Zielcke <fzielcke@z-51.de>
38667
38668 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38669
0552ff9f 386702009-04-19 David S. Miller <davem@davemloft.net>
38671
38672 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38673 (grub_rescue_cmd_linux): Rename to...
38674 (grub_cmd_linux): and fix prototype.
38675 (grub_rescue_cmd_initrd): Rename to...
38676 (grub_cmd_initrd): and fix prototype.
38677 (cmd_linux, cmd_initrd): New.
38678 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38679 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38680
d1a282fc 386812009-04-17 Pavel Roskin <proski@gnu.org>
38682
07c5039f 38683 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38684 format.
38685 (grub_ohci_transfer): Likewise.
38686
b012002d 38687 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38688
1bc09c35 38689 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38690 return without a value. Fix inconsistent indentation.
38691
e0ff9126 38692 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38693 match struct grub_fs.
38694
d1a282fc 38695 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38696 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38697 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38698 * commands/lspci.c (grub_lspci_iter): Likewise.
38699
a96df3f2 387002009-04-16 Bean <bean123ch@gmail.com>
38701
38702 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38703 value.
38704
41bb0fe9 387052009-04-15 Pavel Roskin <proski@gnu.org>
38706
38707 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38708 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38709 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38710 definitions.
38711
596c6970 387122009-04-15 Felix Zielcke <fzielcke@z-51.de>
38713
38714 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38715 that no multiple data or metadata areas are supported and `Unknown
596c6970 38716 metadata header'.
38717
7dd4a573 387182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38719
38720 Move loader out of the kernel
38721
38722 * kern/loader.c: moved to ...
38723 * commands/boot.c: ... moved here
38724 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38725 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38726 * include/grub/kernel.h (grub_machine_fini): export
38727 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38728 (grub_loader_set): likewise
38729 (grub_loader_unset): likewise
38730 (grub_loader_boot): likewise
38731 * conf/common.rmk: new module boot.mod
38732 (pkglib_MODULES): add boot.mod
38733 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38734 (grub_emu_SOURCES): likewise
38735 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38736 (grub_emu_SOURCES): likewise
38737 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38738 (grub_emu_SOURCES): likewise
38739 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38740 (grub_emu_SOURCES): likewise
38741 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38742 (grub_emu_SOURCES): likewise
7dd4a573 38743 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38744 (grub_emu_SOURCES): likewise
0d5d5653 38745 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38746 (grub_emu_SOURCES): likewise
0d5d5653 38747
7dd4a573 387482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38749
38750 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38751
5999d619 38752 * kern/misc.c (grub_itoa): Removed function
38753 (grub_ltoa): likewise
38754 (grub_vsprintf): use grub_lltoa
38755
7dd4a573 387562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38757
38758 Restore grub-emu
38759
38760 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38761 * conf/i386-coreboot.rmk: likewise
38762 * conf/i386-ieee1275.rmk: likewise
38763 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38764
20318222 387652009-04-15 Felix Zielcke <fzielcke@z-51.de>
38766
38767 * INSTALL: Add that `./autogen.sh' needs to be run before
38768 `./configure.'.
38769
d05f0df3 387702009-04-14 Bean <bean123ch@gmail.com>
38771
38772 * Makefile.in (pkglib_DATA): Add handler.lst.
38773 (handler.lst): New rule.
38774
38775 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38776 * conf/i386-coreboot.rmk: Likewise.
38777 * conf/i386-ieee1275.rmk: Likewise.
38778 * conf/i386-efi.rmk: Likewise.
38779 * conf/x86_64-efi.rmk: Likewise.
38780 * conf/powerpc-ieee1275.rmk: Likewise.
38781 * conf/sparc64-ieee1275.rmk: Likewise.
38782
38783 * genhandlerlist.sh: New file.
38784
38785 * genmk.rb: Add rules to generate handler.lst.
38786
38787 * include/grub/normal.h (grub_file_getline): New function definition.
38788 (read_handler_list): Likewise.
38789 (free_handler_list): Likewise.
38790
38791 * include/grub/term.h (grub_term_register_input): Add name parameter
38792 for auto generation of handler.lst.
38793 (grub_term_register_output): Likewise.
38794
38795 * normal/handler.c: New file.
38796
38797 * normal/main.c (get_line): Renamed to grub_file_getline.
38798 (read_config_file): Use the newly renamed grub_file_getline.
38799 (read_command_list): Likewise.
38800 (read_fs_list): Likewise.
38801 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38802 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38803
38804 * term/efi/console.c (grub_console_init): Add name parameter for auto
38805 generation of handler.lst.
38806 * term/gfxterm.c: Likewise.
38807 * term/i386/pc/at_keyboard.c: Likewise.
38808 * term/i386/pc/console.c: Likewise.
38809 * term/i386/pc/serial.c: Likewise.
38810 * term/i386/pc/vesafb.c: Likewise.
38811 * term/i386/pc/vga.c: Likewise.
38812 * term/i386/pc/vga_text.c: Likewise.
38813 * term/ieee1275/ofconsole.c: Likewise.
38814 * term/usb_keyboard.c: Likewise.
38815
33c846be 388162009-04-14 Bean <bean123ch@gmail.com>
38817
38818 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38819 properly with null character.
38820
4484e01e 388212009-04-14 Felix Zielcke <fzielcke@z-51.de>
38822
38823 * configure: Remove.
38824 * config.h.in: Likewise.
f93d668e 38825 * stamp-h.in: Likewise.
4484e01e 38826 * DISTLIST: Likewise.
38827 * conf/common.mk: Likewise.
38828 * conf/i386-coreboot.mk: Likewise.
38829 * conf/i386-efi.mk: Likewise.
38830 * conf/i386-ieee1275.mk: Likewise.
38831 * conf/i386.mk: Likewise.
38832 * conf/i386-pc.mk: Likewise.
38833 * conf/powerpc-ieee1275.mk: Likewise.
38834 * conf/sparc64-ieee1275.mk: Likewise.
38835 * conf/x86_64-efi.mk: Likewise.
38836
38837 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38838 develop on GRUB.
38839
7dd4a573 388402009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38841 David S. Miller <davem@davemloft.net>
38842
38843 * util/hostdisk.c (make_device_name): Fix buffer length
38844 calculations.
38845
e25b5a8c 388462009-04-14 Felix Zielcke <fzielcke@z-51.de>
38847
38848 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38849 <sys/param.h> and <sys/sysctl.h>.
38850 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38851 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38852 opening the device and reset them afterwards.
38853
1f1f580c 388542009-04-13 Pavel Roskin <proski@gnu.org>
38855
38856 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
38857 Reported by John Stanley <jpsinthemix@verizon.net>
38858
7ebc2d6b 388592009-04-13 Robert Millan <rmh@aybabtu.com>
38860
38861 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 38862 that name for menuentries when appropriate.
7ebc2d6b 38863
d8ba3667 388642009-04-13 Felix Zielcke <fzielcke@z-51.de>
38865
38866 * util/grub.d/10_freebsd.in: Add a missing `fi'.
38867
cba416eb 388682009-04-13 Robert Millan <rmh@aybabtu.com>
38869
38870 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
38871 to Linux, simply abort telling the user it's no longer supported.
38872
a547a745 388732009-04-13 Felix Zielcke <fzielcke@z-51.de>
38874
38875 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 38876 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 38877 `freebsd_loadenv' only when devices.hints exist.
38878
232a769c 388792009-04-13 Pavel Roskin <proski@gnu.org>
38880
38881 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
38882
c3012039 388832009-04-13 Felix Zielcke <fzielcke@z-51.de>
38884
38885 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
38886 partition number.
38887 (grub_drive): Likewise.
38888
234022fe 388892009-04-13 David S. Miller <davem@davemloft.net>
38890
38891 * kern/sparc64/ieee1275/ieee1275.c: New file.
38892 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
38893 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
38894 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
38895 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
38896 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
38897 grub_ieee1275_alloc_physmem): Declare new exported functions.
38898
d8e1836c 38899 * include/grub/sparc64/ieee1275/loader.h: New file.
38900 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38901 * include/grub/sparc64/kernel.h: Likewise.
38902 * loader/sparc64/ieee1275/linux.c: Likewise.
38903
96bd81ec 38904 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
38905 (grub_fstest_SOURCES): Likewise.
38906
6a4737e5 38907 * util/hostdisk.c (make_device_name): Do not make any assumptions
38908 about the length of drive names.
38909
1d7a72fd 38910 * kern/dl.c (grub_dl_load_file): Close file immediately when
38911 we are done using it.
38912
56bc2471 389132009-04-12 David S. Miller <davem@davemloft.net>
38914
38915 * kern/misc.c (grub_ltoa): Fix cast when handling negative
38916 values. Noticed by Pavel Roskin.
38917
df38d0bb 38918 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
38919 target compiler.
7dd4a573 38920
e382e93a 38921 * genmk.rb: Add more flexible image type specification, also
38922 pass --strip-unneeded to objcopy.
38923 * conf/i386-pc.rmk: Use *_FORMAT.
38924 * conf/i386-pc.mk: Rebuilt.
38925
f5dbbca9 38926 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
38927 (OFDISK_HASH_SZ): Define.
38928 (ofdisk_hash): New hash table.
38929 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
38930 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
38931 instead of device phandle which is not unique.
38932
91c88b12 38933 * kern/sparc64/ieee1275/init.c: Delete, replace with...
38934 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
38935 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
38936 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
38937 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
38938 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
38939 GRUB_KERNEL_MACHINE_DATA_END): Define.
38940 (grub_kernel_image_size, grub_total_module_size): Declare.
38941
5b5d4aa5 389422009-04-12 Pavel Roskin <proski@gnu.org>
38943
7dd4a573 38944 * configure.ac: Change the logic when we check for target tools.
38945 Do it when the target is specified and it's different from the
38946 specified value of the host.
5b5d4aa5 38947
c91e1793 389482009-04-11 Felix Zielcke <fzielcke@z-51.de>
38949
38950 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
38951 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
38952 GNU/kFreeBSD. Check if a device is a character device. Use
38953 DIOCGMEDIASIZE to get the size.
38954 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
38955 support for GNU/kFreeBSD.
38956 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
38957 is a character device instead of a block device. Add support for
38958 FreeBSD device names.
38959
38960 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
38961 is a character device instead of a block device.
38962
38963 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
38964 is a character device instead of a block device.
38965
b1ac8644 389662009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
38967
38968 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
38969 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
38970 FreeBSD. Check if a device is a character device. Use
38971 DIOCGMEDIASIZE to get the size.
38972 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
38973 support for FreeBSD.
38974 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
38975 is a character device instead of a block device. Add support for
38976 FreeBSD device names.
38977
38978 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
38979 a character device instead of a block device.
38980 (grub_util_check_char_device): New function.
38981
38982 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
38983 a character device instead of a block device.
38984
38985 * include/grub/util/getroot.h (grub_util_check_char_device): New
38986 prototype.
38987
a3f7515a 389882009-04-11 David S. Miller <davem@davemloft.net>
38989
38990 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
38991 static libgcc.
38992 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
38993 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
38994 function, if present.
38995 (__bswapdi2): Likewise.
38996
0d44993d 38997 * include/grub/sparc64/ieee1275/boot.h: New file.
38998 * boot/sparc64/ieee1275/boot.S: Likewise.
38999 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39000
ed3d2bc2 39001 * kern/misc.c (grub_ltoa): New function.
39002 (grub_vsprintf): Use it to format 'long' integers.
39003
d3bfb59c 390042009-04-10 David S. Miller <davem@davemloft.net>
39005
39006 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39007 slots are of type grub_ieee1275_cell_t.
39008 (grub_nand_read): Likewise.
39009 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39010 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39011 macros are used to compare values in arg/ret block of the call.
39012 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39013 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39014 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39015 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39016 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39017 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39018 grub_ieee1275_close, grub_ieee1275_set_property,
39019 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39020 grub_ieee1275_cell_t.
39021 * kern/ieee1275/openfw.c (grub_map): Likewise.
39022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39023 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39024
450e2238 39025 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39026 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39027 (grub_devalias_iterate): Likewise.
39028
7dd4a573 390292009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 39030
39031 UFS improvements
39032
39033 * fs/ufs.c (INODE_NBLOCKS): new definition
39034 (struct grub_ufs_dirent): added fields for non-BSD dirents
39035 (grub_ufs_get_file_block): fixed double indirect handling
39036 (grub_ufs_lookup_symlink): use more robust way to determine whether
39037 symlink is inline
39038 (grub_ufs_find_file): support for non-BSD dirents
39039 (grub_ufs_dir): support for non-BSD dirents
39040
e7e6862a 390412009-04-10 Bean <bean123ch@gnail.com>
39042
39043 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39044 attribute, otherwise the size would be wrong for i386 platform.
39045
39046 * include/grub/pci.h (grub_pci_read_word): New inline function.
39047 (grub_pci_read_byte): Likewise.
39048 (grub_pci_write): Likewise.
39049 (grub_pci_write_word): Likewise.
39050 (grub_pci_write_byte): Likewise.
39051
39052 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39053
39054 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39055 (find_framebuf): Scan pci to locate the frame buffer address.
39056
39057 * commands/efi/fixvideo.c: New file.
39058
39059 * commands/efi/loadbios.c: Likewise.
39060
39061 * commands/memrw.c: Likewise.
39062
39063 * util/grub-dumpbios.in: Likewise.
39064
39065 * conf/common.rmk (grub-dumpbios): New utility.
39066 (pkglib_MODULES): New module memrw.mod.
39067 (memrw_mod_SOURCE): New macro.
39068 (memrw_mod_CFLAGS): Likewise.
39069 (memrw_mod_LDFLAGS): Likewise.
39070
7dd4a573 39071 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39072 fixvideo.mod.
39073 (loadbios_mod_SOURCE): New macro.
39074 (loadbios_mod_CFLAGS): Likewise.
39075 (loadbios_mod_LDFLAGS): Likewise.
39076 (fixvideo_mod_SOURCE): Likewise.
39077 (fixvideo_mod_CFLAGS): Likewise.
39078 (fixvideo_mod_LDFLAGS): Likewise.
39079
7dd4a573 39080 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39081 fixvideo.mod.
39082 (loadbios_mod_SOURCE): New macro.
39083 (loadbios_mod_CFLAGS): Likewise.
39084 (loadbios_mod_LDFLAGS): Likewise.
39085 (fixvideo_mod_SOURCE): Likewise.
39086 (fixvideo_mod_CFLAGS): Likewise.
39087 (fixvideo_mod_LDFLAGS): Likewise.
39088
af63ada2 390892009-04-08 Felix Zielcke <fzielcke@z-51.de>
39090
39091 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39092
c2cdde70 390932009-04-07 David S. Miller <davem@davemloft.net>
39094
39095 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39096 support for R_SPARC_OLO10 relocations. Fix compile warning for
39097 R_SPARC_WDISP30 case.
ea3f72cf 39098 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39099
761319cf 391002009-04-06 Pavel Roskin <proski@gnu.org>
39101
1007d1f5 39102 * include/grub/misc.h (ARRAY_SIZE): New macro.
39103 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39104 New macro.
39105 * loader/i386/linux.c (allocate_pages): Use free_pages().
39106 (grub_linux_unload): Don't use free_pages().
39107 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39108 wrong index. Treat all other modes as text modes.
39109 (grub_cmd_linux): Initialize vid_mode unconditionally to
39110 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39111
761319cf 39112 * commands/help.c (print_command_help): Use cmd->prio, not
39113 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39114
ea761d40 391152009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 39116
ea761d40 39117 Parttool
39118
39119 * parttool/pcpart.c: new file
39120 * commands/parttool.c: likewise
39121 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39122 (parttool_mod_SOURCES): new variable
39123 (parttool_mod_CFLAGS): likewise
39124 (parttool_mod_LDFLAGS): likewise
39125 (pcpart_mod_SOURCES): likewise
39126 (pcpart_mod_CFLAGS): likewise
39127 (pcpart_mod_LDFLAGS): likewise
7dd4a573 39128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 39129 and parttool/pcpart.c
39130 * conf/i386-efi.rmk: likewise
39131 * conf/i386-ieee1275.rmk: likewise
39132 * conf/i386-pc.rmk: likewise
39133 * conf/powerpc-ieee1275.rmk: likewise
39134 * conf/sparc64-ieee1275.rmk: likewise
39135 * conf/x86_64-ieee1275.rmk: likewise
39136
05aaebfb 391372009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39138
39139 Support for mtime and further expandability of dir command
39140
39141 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39142 * include/grub/datetime.h: ... moved here and added
05aaebfb 39143 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39144 * include/grub/fs.h: new syntax for dir and mtime functions in
39145 struct grub_fs
05aaebfb 39146 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39147 and GRUB_FSHELP_FLAGS_MASK
39148 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39149 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39150 (grub_ext2_mtime): new function
39151 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39152 (grub_hfsplus_mtime): new function
39153 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39154 (GRUB_UFS_ATTR_FILE): likewise
39155 (GRUB_UFS_ATTR_LNK): likewise
39156 (struct grub_ufs_sblock): new fields mtime
39157 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39158 all users updated
39159 (grub_ufs_dir): mtime support
39160 (grub_ufs_mtime): new function
39161 * fs/affs.c (grub_affs_dir): use new dir syntax
39162 * fs/afs.c (grub_afs_dir): likewise
39163 * fs/cpio.c (grub_cpio_dir): likewise
39164 * fs/fat.c (grub_fat_find_dir): likewise
39165 * fs/hfs.c (grub_hfs_dir): likewise
39166 * fs/iso9660.c (grub_iso9660_dir): likewise
39167 * fs/jfs.c (grub_jfs_dir): likewise
39168 * fs/minix.c (grub_minix_dir): likewise
39169 * fs/ntfs.c (grub_ntfs_dir): likewise
39170 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39171 * fs/sfs.c (grub_sfs_dir): likewise
39172 * fs/xfs.c (grub_xfs_dir): likewise
39173 * util/hostfs.c (grub_hostfs_dir): likewise
39174 * lib/datetime.c: moved to ...
39175 * normal/datetime.c: ... moved here
39176 (grub_unixtime2datetime): new function
39177 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39178 * normal/completion.c (iterate_dir): use new dir syntax
39179 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39180 last modification time of a volume
7dd4a573 39181 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39182 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39183 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39184 (normal_mod_SOURCES): likewise
39185 (datetime_mod_SOURCES): Removed lib/datetime.c
39186 * conf/i386-efi.rmk: likewise
7dd4a573 39187 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39188 * conf/i386-pc.rmk: likewise
39189 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39190 * conf/sparc64-ieee1275.rmk: likewise
39191 * conf/x86_64-efi.rmk: likewise
05aaebfb 39192
8a7e1a14 391932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39194
39195 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39196
39197 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39198 on grub_fat_find_dir
39199 (grub_fat_find_dir): use grub_fat_iterate_dir
39200 (grub_fat_label): likewise
39201
04186a9c 392022009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39203
7dd4a573 39204 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39205 and command.h
39206 remove extraneous kernel_elf_HEADERS
39207
da4c0bb6 392082009-04-04 Bean <bean123ch@gnail.com>
39209
39210 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39211
39212 * util/misc.c: Likewise.
39213
54ad9555 392142009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39215
39216 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39217 instead of grub_printf.
39218
7a6bf9f2 392192009-04-03 Robert Millan <rmh@aybabtu.com>
39220
39221 * loader/i386/linux.c (grub_linux_setup_video): Fill
39222 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39223 values from `mode info' structure instead of hardcoded
39224 values.
39225
3fcc2083 392262009-04-01 Pavel Roskin <proski@gnu.org>
39227
39228 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39229 unused now.
39230 * genmk.rb: Likewise.
39231 * configure.ac: Likewise.
39232
5ec9740b 392332009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39234
39235 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39236 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39237
5270cec8 392382009-04-01 David S. Miller <davem@davemloft.net>
39239
39240 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39241 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39242 (grub_setjmp): Mark with 'returns_twice' attribute.
39243 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39244 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39245 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39246
9c3dd854 392472009-04-01 Robert Millan <rmh@aybabtu.com>
39248
39249 Reapply fix from 2008-07-28 which was accidentally reverted; also
39250 perform the same fix to a similar check in same function.
39251
39252 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39253 with the same number are found, just use issue a warning with
39254 grub_dprintf(), as this error has been reported to be non-fatal.
39255
0d818b7e 392562009-03-31 Pavel Roskin <proski@gnu.org>
39257
39258 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39259 for cross-compilation.
39260
95646d92 392612009-03-30 Robert Millan <rmh@aybabtu.com>
39262
39263 Fix i386-ieee1275 build.
39264
39265 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39266 Remove declaration.
39267
6a003ed1 392682009-03-30 Pavel Roskin <proski@gnu.org>
39269
39270 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39271 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39272 zero-terminated, rely only on the strlen value. Fix comparison
39273 of strings differing in length.
39274
92f33540 392752009-03-30 Robert Millan <rmh@aybabtu.com>
39276
39277 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39278 checking for abi version. Improve error messages on BIOS to notify
39279 user about `linux16' command.
39280
a8c48fd5 392812009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39282
f968172e 39283 Leak fixes
a8c48fd5 39284
f968172e 39285 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39286 in case of collision
39287 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39288
9c323f09 392892009-03-29 Robert Millan <rmh@aybabtu.com>
39290
39291 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39292 set `vid_mode' accordingly.
39293 (grub_linux_boot): Process `vid_mode' and set video mode.
39294
ae68f423 392952009-03-29 Robert Millan <rmh@aybabtu.com>
39296
39297 * util/grub.d/10_linux.in (linux_entry): New function.
39298 Factorize generation of Linux boot entries.
39299
5709cfc4 393002009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39301
39302 Make the format of Environment Block plain text. The boot loader
39303 part is not tested well yet.
7dd4a573 39304
5709cfc4 39305 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39306 (buffer): Removed.
39307 (envblk): Likewise.
39308 (usage): Remove "info" and "clear". Add "unset". Update the
39309 description of "set", as this does not delete variables any
39310 longer.
39311 (create_envblk_file): Complete rewrite.
39312 (open_envblk_file): Likewise.
39313 (cmd_info): Removed.
39314 (cmd_list): Likewise.
39315 (cmd_set): Likewise.
39316 (cmd_clear): Likewise.
39317 (list_variables): New function.
39318 (write_envblk): Likewise.
39319 (set_variables): Likewise.
39320 (unset_variables): Likewise.
39321 (main): Complete rewrite.
39322
39323 * commands/loadenv.c (buffer): Removed.
39324 (envblk): Likewise.
39325 (open_envblk_file): New function.
39326 (read_envblk_file): Complete rewrite.
39327 (grub_cmd_load_env): Likewise.
39328 (grub_cmd_list_env): Likewise.
39329 (struct blocklist): New struct.
39330 (free_blocklists): New function.
39331 (check_blocklists): Likewise.
39332 (write_blocklists): Likewise.
39333 (grub_cmd_save_env): Complete rewrite.
39334
39335 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39336 a plain text signature.
39337 (GRUB_ENVBLK_MAXLEN): Removed.
39338 (struct grub_envblk): Complete rewrite.
39339 (grub_envblk_find): Removed.
39340 (grub_envblk_insert): Likewise.
39341 (grub_envblk_open): New prototype.
39342 (grub_envblk_set): Likewise.
39343 (grub_envblk_delete): Put const to VALUE.
39344 (grub_envblk_iterate): Put const to NAME and VALUE.
39345 (grub_envblk_close): New prototype.
39346 (grub_envblk_buffer): New inline function.
39347 (grub_envblk_size): Likewise.
39348
39349 * lib/envblk.c: Include grub/mm.h.
39350 (grub_env_find): Removed.
39351 (grub_envblk_open): New function.
39352 (grub_envblk_close): Likewise.
39353 (escaped_value_len): Likewise.
39354 (find_next_line): Likewise.
39355 (grub_envblk_insert): Removed.
39356 (grub_envblk_set): New function.
39357 (grub_envblk_delete): Complete rewrite.
39358 (grub_envblk_iterate): Likewise.
39359
a9368fd3 393602009-03-28 Robert Millan <rmh@aybabtu.com>
39361
39362 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39363 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39364 variables. Use 16-bit loader.
39365 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39366 loader.
39367 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39368 (grub_linux16_boot): ... this. Update all users.
39369 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39370 (grub_linux_boot): ... this. Update all users.
39371
39372 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39373 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39374 commands to `linux16' and `initrd16'.
39375 (GRUB_MOD_FINI(linux)): Rename to ...
39376 (GRUB_MOD_FINI(linux16)): ... this.
39377
e4dd5a7e 393782009-03-24 Pavel Roskin <proski@gnu.org>
39379
39380 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39381 not just for compilation.
39382
c04d6e05 393832009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39384
39385 Move multiboot helper out of kernel
39386
39387 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39388 `loader/i386/multiboot_helper.S'.
39389 * conf/i386-coreboot.rmk: Likewise
39390 * conf/i386-ieee1275.rmk: Likewise
39391
39392 * kern/i386/loader.S: Move multiboot helpers from here...
39393 * loader/i386/multiboot_helper.S: ...moved here
39394 * include/grub/i386/loader.h: Move declarations of multiboot
39395 helpers from here...
39396 * include/grub/i386/multiboot.h: ...moved here
39397 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39398
42a5b3fc 393992009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39400
39401 * kern/env.c (grub_env_context_open): Added an argument to specify
39402 whether a new context inherits exported variables from current
39403 one. This is useful when making a sandbox to interpret a config
39404 file.
39405 All callers updated.
39406
39407 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39408
b28bbc4e 394092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39410
39411 * kern/env.c (grub_env_context_close): Fix memory leaks.
39412
f04f02e4 394132009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39414
39415 * normal/main.c (grub_normal_execute): Added an argument
39416 BATCH to specify if an interactive interface should be provided
39417 after reading a config file.
39418 All callers updated.
39419 (read_command_list): Prevent being executed twice.
39420 (read_fs_list): Likewise.
39421
42a5b3fc 39422 * include/grub/normal.h (grub_normal_execute): Updated the
39423 prototype.
f04f02e4 39424
41473ac2 394252009-03-22 Pavel Roskin <proski@gno.org>
39426
fbc00b0c 39427 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39428 _start.
39429 * kern/i386/pc/startup.S: Likewise.
39430 * kern/i386/efi/startup.S: Likewise.
39431 * kern/i386/ieee1275/startup.S: Likewise.
39432 * kern/i386/coreboot/startup.S: Likewise.
39433 * kern/x86_64/efi/startup.S: Likewise.
39434
41473ac2 39435 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39436 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39437 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39438
2274cc8f 394392009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39440
39441 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39442
39443 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39444 limit detection.
39445 Use vaddr of correct segment for entry_point.
39446
b1b797cb 394472009-03-21 Bean <bean123ch@gmail.com>
39448
39449 * commands/blocklist.c: Add include file <grub/command.h>, remove
39450 <grub/normal.h> and <grub/arg.h>.
39451 (grub_cmd_blocklist): Use the new command interface.
39452 (GRUB_MOD_INIT): Likewise.
39453 (GRUB_MOD_FINI): Likewise.
39454 * commands/boot.c: Likewise.
39455 * commands/cat.c: Likewise.
39456 * commands/cmp.c: Likewise.
39457 * commands/configfile.c: Likewise.
39458 * commands/crc.c: Likewise.
39459 * commands/echo.c: Likewise.
39460 * commands/halt.c: Likewise.
39461 * commands/handler.c: Likewise.
39462 * commands/hdparm.c: Likewise.
39463 * commands/help.c: Likewise.
39464 * commands/hexdump.c: Likewise.
39465 * commands/loadenv.c: Likewise.
39466 * commands/ls.c: Likewise.
39467 * commands/lsmmap.c: Likewise.
39468 * commands/lspci.c: Likewise.
39469 * commands/loadenv.c: Likewise.
39470 * commands/read.c: Likewise.
39471 * commands/reboot.c: Likewise.
39472 * commands/search.c: Likewise.
39473 * commands/sleep.c: Likewise.
39474 * commands/test.c: Likewise.
39475 * commands/usbtest.c: Likewise.
39476 * commands/videotest.c: Likewise.
39477 * commands/i386/cpuid.c: Likewise.
39478 * commands/i386/pc/halt.c: Likewise.
39479 * commands/i386/pc/play.c: Likewise.
39480 * commands/i386/pc/pxecmd.c: Likewise.
39481 * commands/i386/pc/vbeinfo.c: Likewise.
39482 * commands/i386/pc/vbetest.c: Likewise.
39483 * commands/ieee1275/suspend.c: Likewise.
39484 * disk/loopback.c: Likewise.
39485 * font/font_cmd.c: Likewise.
39486 * hello/hello.c: Likewise.
39487 * loader/efi/appleloader.c: Likewise.
39488 * loader/efi/chainloader.c: Likewise.
39489 * loader/i386/bsd.c: Likewise.
39490 * loader/i386/efi/linux.c: Likewise.
39491 * loader/i386/ieee1275/linux.c: Likewise.
39492 * loader/i386/linux.c: Likewise.
39493 * loader/i386/pc/chainloader.c: Likewise.
39494 * loader/i386/pc/linux.c: Likewise.
39495 * loader/powerpc/ieee1275/linux.c: Likewise.
39496 * loader/multiboot_loader.c: Likewise.
39497 * term/gfxterm.c: Likewise.
39498 * term/i386/pc/serial.c: Likewise.
39499 * term/terminfo.c: Likewise.
39500
39501 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39502 * term/i386/pc/vga.c: Likewise.
39503 * video/readers/jpeg.c: Likewise.
39504 * video/readers/png.c: Likewise.
39505 * video/readers/tga.c: Likewise.
39506
39507 * util/grub-fstest (cmd_loopback): Removed.
39508 (cmd_blocklist): Likewise.
39509 (cmd_ls): Likewise.
39510 (grub_register_command): Likewise.
39511 (grub_unregister_command): Likewise.
39512 (execute_command): Use grub_command_find to locate command and execute
39513 it.
39514
39515 * include/grub/efi/chainloader.h: Removed.
39516 * loader/efi/chainloader_normal.c: Likewise.
39517 * loader/i386/bsd_normal.c: Likewise.
39518 * loader/i386/pc/chainloader_normal.c: Likewise.
39519 * loader/i386/pc/multiboot_normal.c: Likewise.
39520 * loader/linux_normal.c: Likewise.
39521 * loader/multiboot_loader_normal.c: Likewise.
39522 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39523
39524 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39525 and grub_register_command_p1.
39526
39527 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39528 kern/command.c, lib/arg.c and commands/extcmd.c.
39529 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39530 (minicmd_mod_SOURCES): New variable.
39531 (minicmd_mod_CFLAGS): Likewise.
39532 (minicmd_mod_LDFLAGS): Likewise.
39533 (extcmd_mod_SOURCES): Likewise.
39534 (extcmd_mod_CFLAGS): Likewise.
39535 (extcmd_mod_LDFLAGS): Likewise.
39536 (boot_mod_SOURCES): Removed.
39537 (boot_mod_CFLAGS): Likewise.
39538 (boot_mod_LDFLAGS): Likewise.
39539
39540 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39541 kern/corecmd.c.
39542 (kernel_img_HEADERS): Add command.h.
39543 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39544 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39545 and lib/arg.c.
39546 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39547 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39548 remove the corresponding normal mode command.
39549 (normal_mod_SOURCES): Remove normal/arg.c.
39550 * conf/i386-coreboot.rmk: Likewise.
39551 * conf/i386-efi.rmk: Likewise.
39552 * conf/i386-ieee1275.rmk: Likewise.
39553 * conf/powerpc-ieee1275.rmk: Likewise.
39554 * conf/x86_64-efi.rmk: Likewise.
39555
39556 * include/grub/arg.h: Move from here ...
39557 * include/grub/lib/arg.h: ... to here.
39558
39559 * normal/arg.c: Move from here ...
39560 * lib/arg.c: ... to here.
39561
39562 * commands/extcmd.c: New file.
39563 * commands/minicmd.c: Likewise.
39564 * include/grub/command.h: Likewise.
39565 * include/grub/extcmd.h: Likewise.
39566 * kern/command.c: Likewise.
39567 * kern/corecmd.c: Likewise.
39568
39569 * kern/list.c (grub_list_iterate): Return int instead of void.
39570 (grub_list_insert): New function.
39571 (grub_prio_list_insert): Likewise.
39572
39573 * kern/rescue.c (grub_rescue_command): Removed.
39574 (grub_rescue_command_list): Likewise.
39575 (grub_rescue_register_command): Likewise.
39576 (grub_rescue_unregister_command): Likewise.
39577 (grub_rescue_cmd_boot): Move to minicmd.c
39578 (grub_rescue_cmd_help): Likewise.
39579 (grub_rescue_cmd_info): Likewise.
39580 (grub_rescue_cmd_boot): Likewise.
39581 (grub_rescue_cmd_testload): Likewise.
39582 (grub_rescue_cmd_dump): Likewise.
39583 (grub_rescue_cmd_rmmod): Likewise.
39584 (grub_rescue_cmd_lsmod): Likewise.
39585 (grub_rescue_cmd_exit): Likewise.
39586 (grub_rescue_print_devices): Moved to corecmd.c.
39587 (grub_rescue_print_files): Likewise.
39588 (grub_rescue_cmd_ls): Likewise.
39589 (grub_rescue_cmd_insmod): Likewise.
39590 (grub_rescue_cmd_set): Likewise.
39591 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39592 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39593 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39594 commands, remove grub_rescue_register_command calls.
b1b797cb 39595
7d074e3c 39596 * normal/command.c (grub_register_command): Removed.
b1b797cb 39597 (grub_unregister_command): Likewise.
39598 (grub_command_find): Likewise.
39599 (grub_iterate_commands): Likewise.
39600 (rescue_command): Likewise.
39601 (export_command): Moved to corecmd.c.
39602 (set_command): Removed.
39603 (unset_command): Likewise.
39604 (insmod_command): Likewise.
39605 (rmmod_command): Likewise.
39606 (lsmod_command): Likewise.
39607 (grub_command_init): Likewise.
39608
39609 * normal/completion.c (iterate_command): Use cmd->prio to check for
39610 active command.
39611 (complete_arguments): Use grub_extcmd_t structure to find options.
39612 (grub_normal_do_completion): Change function grub_iterate_commands to
39613 grub_command_iterate.
39614
39615 * normal/execute.c (grub_script_execute_cmd): No need to parse
39616 argument here.
39617
39618 * normal/main.c (grub_dyncmd_dispatcher): New function.
39619 (read_command_list): Register unload commands as dyncmd.
39620 (grub_cmd_normal): Use new command interface, register rescue,
39621 unregister normal at entry, register normal, unregister rescue at exit.
39622
39623 * include/grub/list.h (grub_list_test_t): New type.
39624 (grub_list_iterate): Return int instead of void.
39625 (grub_list_insert): New function.
39626 (GRUB_AS_NAMED_LIST_P): New macro.
39627 (GRUB_AS_PRIO_LIST): Likewise.
39628 (GRUB_AS_PRIO_LIST_P): Likewise.
39629 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39630 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39631 (grub_prio_list): New structure.
39632 (grub_prio_list_insert): New function.
39633 (grub_prio_list_remove): New inline function.
39634
39635 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39636 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39637 (GRUB_COMMAND_FLAG_MENU): Likewise.
39638 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39639 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39640 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39641 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39642 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39643 (grub_command): Likewise.
39644 (grub_register_command): Likewise.
39645 (grub_command_find): Likewise.
39646 (grub_iterate_commands): Likewise.
39647 (grub_command_init): Likewise.
39648 (grub_arg_parse): Likewise.
39649 (grub_arg_show_help): Likewise.
39650
39651 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39652 (grub_rescue_unregister_command): Likewise.
39653
39654 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39655 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39656 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39657
39658 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39659 grub_rescue_cmd_initrd.
39660 * include/grub/i386/loader.h: Likewise.
39661 * include/grub/x86_64/loader.h: Likewise.
39662
39663 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39664
1f4147aa 396652009-03-21 Bean <bean123ch@gmail.com>
39666
39667 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39668 instead of stat in mingw environment.
39669
39670 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39671
39672 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39673
39674 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39675 AC_CONFIG_LINKS.
39676
2156d5ba 396772009-03-21 Bean <bean123ch@gmail.com>
39678
39679 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39680 out of range error.
39681
177b82ca 396822009-03-18 Michel Dänzer <michel@daenzer.net>
39683
39684 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39685 checking inode flags for EXT4_EXTENTS_FLAG.
39686
14aad807 396872009-03-18 Robert Millan <rmh@aybabtu.com>
39688
39689 * loader/i386/linux.c: Include `<grub/video.h>' and
39690 `<grub/i386/pc/vbe.h>'..
39691 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39692 (grub_linux32_boot): Attempt to configure video settings with
39693 grub_linux_setup_video().
39694 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39695 to avoid grub_console_fini() which would step out of graphical mode
39696 unconditionally.
39697
8cf83a27 396982009-03-14 Robert Millan <rmh@aybabtu.com>
39699
39700 Fix build on powerpc.
39701 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39702
40164e75 397032009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39704
39705 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39706 background image command.
39707
c58bc32a 397082009-03-12 Colin D Bennett <colin@gibibit.com>
39709
39710 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39711 (grub_gfxterm_putchar): Extract pairs of identical calls to
39712 draw_cursor out of conditional blocks.
39713
5415144a 397142009-03-11 Pavel Roskin <proski@gnu.org>
39715
39716 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39717 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39718
6394042e 397192009-03-11 Robert Millan <rmh@aybabtu.com>
39720
39721 * loader/i386/multiboot_elfxx.c
39722 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39723
b7b50e5f 397242009-03-11 Felix Zielcke <fzielcke@z-51.de>
39725
39726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39727 `kern/handler.c'.
39728
1ca7fc96 397292009-03-11 Robert Millan <rmh@aybabtu.com>
39730
39731 * loader/i386/multiboot.c (code_size): New variable.
39732 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39733 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39734 4-byte alignment to MBI and others by increasing
7d074e3c 39735 `boot_loader_name_length' appropriately.
1ca7fc96 39736
39737 * loader/i386/multiboot_elfxx.c
39738 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39739
a83ea1d2 397402009-03-09 Felix Zielcke <fzielcke@z-51.de>
39741
39742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39743 `fs/ext2.c'.
39744
aa9f3bff 397452009-03-08 Robert Millan <rmh@aybabtu.com>
39746
39747 Make loader/i386/linux.c usable on i386-pc again.
39748
39749 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39750 memory to heap.
39751 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39752 `#error' stanza.
39753
d8b3b60e 397542009-03-07 Bean <bean123ch@gmail.com>
39755
39756 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39757 allocation.
39758
b362c9e9 397592009-03-06 Robert Millan <rmh@aybabtu.com>
39760
39761 Fix display issue on terminals with screen size other than 80x25
39762 (e.g. gfxterm with resolution higher than 640x480).
39763
39764 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39765 position relative to the center of the terminal instead of relying
b362c9e9 39766 on a hardcoded offset.
39767
9304eef1 397682009-03-04 Robert Millan <rmh@aybabtu.com>
39769
39770 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39771 installed.
39772
39773 * Makefile.in (host_kernel): New variable.
39774 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39775 scripts instead of just the windows one.
39776 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39777
eabc95fb 397782009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39779
39780 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39781 `kern/handler.c'.
39782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39788
ceb1223c 397892009-03-04 Felix Zielcke <fzielcke@z-51.de>
39790
39791 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39792 or if there's no space for the disk label and print the partition number on a
39793 invalid magic.
39794
4910684a 397952009-03-04 Felix Zielcke <fzielcke@z-51.de>
39796
39797 * util/misc.c: Include <time.h>.
39798 (grub_millisleep): New function.
39799
7e9ca17a 398002009-03-04 Bean <bean123ch@gmail.com>
39801
39802 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39803 another option -mno-red-zone.
39804
39805 * commands/handler.c: Change module description.
39806
39807 * kern/handler.c: Add missing space at the end of description line.
39808
39809 * kern/list.c: Likewise.
39810
f501677c 398112009-03-03 Robert Millan <rmh@aybabtu.com>
39812
39813 Move more components to the relocation area, and fix mbi pointer
39814 handling to use the destination rather than the origin (thanks to
39815 Vladimir Serbinenko for spotting).
39816
39817 * loader/i386/multiboot.c (mbi_dest): New variable.
39818 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39819 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39820 relocation area.
39821
9902d047 398222009-03-01 Bean <bean123ch@gmail.com>
39823
50fb7002 39824 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39825 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39826 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39827 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39828
39829 * loader/i386/efi/linux.c (acpi_guid): New variable.
39830 (acpi_guid): Likewise.
39831 (EBDA_SEG_ADDR): New constant.
39832 (LOW_MEM_ADDR): Likewise.
39833 (FAKE_EBDA_SEG): Likewise.
39834 (fake_bios_data): New function.
39835 (grub_linux_boot): Call fake_bios_data.
39836
71b9f361 398372009-03-01 Bean <bean123ch@gmail.com>
39838
39839 * commands/terminal.c: Removed.
39840
39841 * commands/handler.c: New file.
39842
39843 * include/grub/list.h: Likewise.
39844
39845 * include/grub/handler.h: Likewise.
39846
39847 * kern/list.c: Likewise.
39848
39849 * kern/handler.c: Likewise.
39850
39851 * kern/term.h: Include header file <grub/handler.h>.
39852 (grub_term_input): Move next field to the beginning.
39853 (grub_term_output): Likewise.
39854 (grub_term_input_class): New variable.
39855 (grub_term_output_class): Likewise.
39856 (grub_term_register_input): Changed to inline function.
39857 (grub_term_register_output): Likewise.
39858 (grub_term_unregister_input): Likewise.
39859 (grub_term_unregister_output): Likewise.
39860 (grub_term_set_current_input): Likewise.
39861 (grub_term_set_current_output): Likewise.
39862 (grub_term_get_current_input): Likewise.
39863 (grub_term_get_current_output): Likewise.
39864 (grub_term_iterate_input): Removed.
39865 (grub_term_iterate_output): Likewise.
39866
39867 * kern/term.c (grub_term_list_input): Removed.
39868 (grub_term_list_output): Likewise.
39869 (grub_term_input_class): New variable.
39870 (grub_term_output_class): Likewise.
50fb7002 39871 (grub_cur_term_input): Change variable as macro.
71b9f361 39872 (grub_cur_term_output): Likewise.
39873 (grub_term_register_input): Removed.
39874 (grub_term_register_output): Likewise.
39875 (grub_term_unregister_input): Likewise.
39876 (grub_term_unregister_output): Likewise.
39877 (grub_term_set_current_input): Likewise.
39878 (grub_term_set_current_output): Likewise.
39879 (grub_term_iterate_input): Likewise.
39880 (grub_term_iterate_output): Likewise.
39881 (grub_term_get_current_input): Likewise.
39882 (grub_term_get_current_output): Likewise.
39883
39884 * util/grub-editenv.c: Include header file <grub/handler.h>.
39885 (grub_term_get_current_input): Removed.
39886 (grub_term_get_current_output): Likewise.
39887 (grub_term_input_class): New variable.
50fb7002 39888 (grub_term_output_class): Likewise.
71b9f361 39889
39890 * util/grub-fstest.c (grub_term_get_current_input): Removed.
39891 (grub_term_get_current_output): Likewise.
39892 (grub_term_input_class): New variable.
50fb7002 39893 (grub_term_output_class): Likewise.
71b9f361 39894
39895 * util/grub-probe.c (grub_term_get_current_input): Removed.
39896 (grub_term_get_current_output): Likewise.
39897 (grub_term_input_class): New variable.
50fb7002 39898 (grub_term_output_class): Likewise.
71b9f361 39899
39900 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
39901 (grub_term_get_current_output): Likewise.
39902 (grub_term_input_class): New variable.
50fb7002 39903 (grub_term_output_class): Likewise.
71b9f361 39904
39905 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
39906 (terminal_mod_SOURCES): Likewise.
39907 (terminal_mod_CFLAGS): Likewise.
39908 (terminal_mod_LDFLAGS): Likewise.
39909
39910 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
39911 handler.c.
39912 (kernel_img_SOURCES): Add list.c and handler.c.
39913 (kernel_img_HEADERS): Add list.h and handler.h.
39914
39915 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39916 handler.c.
39917 (kernel_mod_SOURCES): Add list.c and handler.c.
39918 (kernel_mod_HEADERS): Add list.h and handler.h.
39919
39920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
39921 handler.c.
39922 (kernel_elf_SOURCES): Add list.c and handler.c.
39923 (kernel_elf_HEADERS): Add list.h and handler.h.
39924
39925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39926 handler.c.
39927 (kernel_elf_SOURCES): Add list.c and handler.c.
39928 (kernel_elf_HEADERS): Add list.h and handler.h.
39929
39930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
39931 handler.c.
39932 (kernel_mod_SOURCES): Add list.c and handler.c.
39933 (kernel_mod_HEADERS): Add list.h and handler.h.
39934
39935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
39936 handler.c.
39937 (kernel_elf_SOURCES): Add list.c and handler.c.
39938 (kernel_elf_HEADERS): Add list.h and handler.h.
39939
8a31787f 399402009-02-27 Robert Millan <rmh@aybabtu.com>
39941
39942 Factorize elf32 / elf64 code in Multiboot loader. This will
39943 prevent it from getting out of sync again.
39944
39945 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
39946 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
39947 grub_multiboot_load_elf64): Move from here ...
39948 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
39949 grub_multiboot_load_elf): ... to here (new file).
39950
51cd3dfc 399512009-02-27 Robert Millan <rmh@aybabtu.com>
39952
39953 * util/grub.d/10_linux.in: Rename "single-user mode" to
39954 "recovery mode".
39955
6e8c9c3a 399562009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
39957
39958 Don't leak in SCSI code.
39959 * disk/scsi.c (grub_scsi_close): free `scsi'.
39960
4b6bf4f9 399612009-02-27 Robert Millan <rmh@aybabtu.com>
39962
39963 * loader/i386/pc/multiboot.c: Move from here ...
39964 * loader/i386/multiboot.c: ... to here. Update all users.
39965
b9413424 399662009-02-27 Robert Millan <rmh@aybabtu.com>
39967
39968 Patch from Alexandre Bique <bique.alexandre@gmail.com>
39969 * util/i386/pc/grub-setup.c (setup): Fix directory path.
39970
50fb7002 399712009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 39972
39973 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
39974 b-tree.
39975
8cc50345 399762009-02-27 Robert Millan <rmh@aybabtu.com>
39977
39978 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
39979 `0x' qualifier as 0 when base is specified as parameter).
39980
6e09b8b7 399812009-02-24 Bean <bean123ch@gmail.com>
39982
39983 * configure.ac: Check for -mcmodel=large in x86_64 target.
39984
39985 * include/grub/efi/api.h (efi_call_10): New macro.
39986 (efi_wrap_10): New function.
39987
39988 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
39989 (GRUB_PE32_REL_BASED_HIGH): Likewise.
39990 (GRUB_PE32_REL_BASED_LOW): Likewise.
39991 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
39992 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
39993 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
39994 (GRUB_PE32_REL_BASED_SECTION): Likewise.
39995 (GRUB_PE32_REL_BASED_REL): Likewise.
39996 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
39997 (GRUB_PE32_REL_BASED_DIR64): Likewise.
39998 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
39999
40000 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40001 issue.
40002
40003 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40004 (efi_wrap_10): New function.
40005
40006 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40007
40008 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40009 MB/MBP model (NV chipset).
40010 (devdata_devs): Add devpath_5 to the list.
40011
40012 * load/i386/efi/linux.c (video_base): Remove variable.
40013 (RGB_MASK): New macro.
40014 (RGB_MAGIC): Likewise.
40015 (LINE_MIN): Likewise.
40016 (LINE_MAX): Likewise.
40017 (FBTEST_STEP): Likewise.
40018 (FBTEST_COUNT): Likewise.
40019 (fb_list): New variable.
40020 (grub_find_video_card): Remove function.
40021 (find_framebuf): New function.
40022 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40023 line length.
40024
40025 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40026 problem for x86_64.
40027
74b21bee 400282009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40029
40030 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40031
40032 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40033 coding tool name.
40034
a455f472 400352009-02-22 Robert Millan <rmh@aybabtu.com>
40036
40037 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40038 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40039 in our relocation, instead of using it directly from heap. Also
40040 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40041
6374daf3 400422009-02-21 Robert Millan <rmh@aybabtu.com>
40043
40044 Implement USB keyboard support (based on patch by Marco Gerards)
40045
40046 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40047 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40048 (usb_keyboard_mod_LDFLAGS): New variables.
40049
40050 * term/usb_keyboard.c: New file.
40051
8fa4ea70 400522009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40053
40054 Corrected wrong declaration
40055
40056 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40057
353976ac 400582009-02-14 Christian Franke <franke@computer.org>
40059
40060 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40061 (grub_lspci_iter): Print class code and programming interface byte.
40062
6aa1169b 400632009-02-14 Christian Franke <franke@computer.org>
40064
40065 * gendistlist.sh: Ignore `.svn' directories.
40066
265372ca 400672009-02-14 Felix Zielcke <fzielcke@z-51.de>
40068
40069 * fs/fat.c: Add 2009 to Copyright line.
40070
9ff516f3 400712009-02-14 Christian Franke <franke@computer.org>
40072
40073 * commands/hdparm.c: New file. Provides `hdparm' command
40074 which sends ATA commands via grub_disk_ata_pass_through ().
40075
40076 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40077
40078 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40079 and <grub/cpu/io.h> to include/grub/ata.h.
40080 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40081 (GRUB_CDROM_SECTOR_SIZE): Remove.
40082 (GRUB_ATA_*): Move to include/grub/ata.h.
40083 (GRUB_ATAPI_*): Likewise.
40084 (enum grub_ata_commands): Likewise.
40085 (enum grub_ata_timeout_milliseconds): Likewise.
40086 (struct grub_ata_device): Likewise.
40087 (grub_ata_regset): Likewise.
40088 (grub_ata_regget): Likewise.
40089 (grub_ata_regset2): Likewise.
40090 (grub_ata_regget2): Likewise.
40091 (grub_ata_check_ready): Likewise.
40092 (grub_ata_wait_not_busy): Remove static, exported in
40093 include/grub/ata.h.
40094 (grub_ata_wait_drq): Likewise.
40095 (grub_ata_pio_read): Likewise.
40096
40097 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40098 function for hdparm.mod.
40099
40100 * include/grub/ata.h: New file, contains declarations from
40101 disk/ata.c.
40102 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40103
40104 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40105 (grub_disk_ata_pass_through): New exported variable.
40106
40107 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40108
772e23da 401092009-02-13 Colin D Bennett <colin@gibibit.com>
40110
40111 Support multiple fallback entries, and provide an API to support
40112 executing default+fallback menu entries. Renamed the `terminal' menu
40113 viewer to `text'.
40114
40115 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40116 variable declaration.
40117 (grub_menu_execute_callback): New structure declaration.
40118 (grub_menu_execute_callback_t): New typedef.
40119 (grub_menu_execute_with_fallback): New function declaration.
40120 (grub_menu_get_entry): Likewise.
40121 (grub_menu_get_timeout): Likewise.
40122 (grub_menu_set_timeout): Likewise.
40123
40124 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40125
40126 * normal/menu.c (grub_wait_after_message): Moved to
40127 `normal/menu_text.c'.
40128 (draw_border): Likewise.
40129 (print_message): Likewise.
40130 (print_entry): Likewise.
40131 (print_entries): Likewise.
40132 (grub_menu_init_page): Likewise.
40133 (get_entry_number): Likewise.
40134 (print_timeout): Likewise.
40135 (run_menu): Likewise.
40136 (grub_menu_execute_entry): Likewise.
40137 (show_text_menu): Likewise.
40138 (get_and_remove_first_entry_number): New function.
40139 (grub_menu_execute_with_fallback): Likewise.
40140 (get_entry): Renamed to ...
40141 (grub_menu_get_entry): .. this and made it global.
40142 (get_timeout): Renamed to ...
40143 (grub_menu_get_timeout): ... this and made it global.
40144 (set_timeout): Renamed to ...
40145 (grub_menu_set_timeout): ... this and made it global.
40146 (grub_normal_terminal_menu_viewer): Renamed to ...
40147 (grub_normal_text_menu_viewer): ... this.
40148
40149 * normal/menu_text.c: New file. Extracted text-menu-specific code
40150 from normal/menu.c.
40151
40152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40153 (normal_mod_SOURCES): Likewise.
40154
40155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40156 (normal_mod_SOURCES): Likewise.
40157
40158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40159 (normal_mod_SOURCES): Likewise.
40160
40161 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40162 (normal_mod_SOURCES): Likewise.
40163
40164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40165 (normal_mod_SOURCES): Likewise.
40166
40167 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40168 (normal_mod_SOURCES): Likewise.
40169
40170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40171 (normal_mod_SOURCES): Likewise.
40172
16ac430e 401732009-02-11 Robert Millan <rmh@aybabtu.com>
40174
40175 * util/grub.d/00_header.in: Update old reference to `font' command.
40176
06ff20fc 401772009-02-10 Felix Zielcke <fzielcke@z-51.de>
40178
40179 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40180
40181 Based on patch from Javier Martín.
40182
96da9407 401832009-02-09 Felix Zielcke <fzielcke@z-51.de>
40184
40185 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40186 to avoid false positives with FAT.
96da9407 40187 (grub_fstest_SOURCES): Likewise.
40188 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40194
6dca6fe4 401952009-02-09 Felix Zielcke <fzielcke@z-51.de>
40196
06ff20fc 40197 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40198 bpb.version_specific.fat12_or_fat16.fstype and
40199 bpb.version_specific.fat32.fstype.
40200
2550c62f 402012009-02-08 Robert Millan <rmh@aybabtu.com>
40202
be110b30 40203 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40204
56978920 402052009-02-08 Robert Millan <rmh@aybabtu.com>
40206
40207 * Makefile.in (host_os, host_cpu): New variables.
40208 (target_os): Remove. Update all users.
40209
d64399b5 402102009-02-08 Marco Gerards <marco@gnu.org>
40211
40212 * Makefile.in (enable_grub_emu_usb): New variable.
40213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40214 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40215 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40216 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40217 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40218 `usbtest.mod' and `usbms.mod'.
40219 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40220 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40221 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40222 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40223 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40224 variables.
40225
40226 * disk/usbms.c: New file.
40227
40228 * include/grub/usb.h: Likewise.
40229
40230 * include/grub/usbtrans.h: Likewise.
40231
40232 * include/grub/usbdesc.h: Likewise.
40233
40234 * bus/usb/usbtrans.c: Likewise.
40235
40236 * bus/usb/ohci.c: Likewise.
40237
40238 * bus/usb/uhci.c: Likewise.
40239
40240 * bus/usb/usbhub.c: Likewise.
40241
40242 * bus/usb/usb.c: Likewise.
40243
40244 * commands/usbtest.c: Likewise.
40245
40246 * util/usb.c: Likewise.
50fb7002 40247
d64399b5 40248 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40249
40250 * configure.ac: Test for libusb presence.
50fb7002 40251
d64399b5 40252 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40253
2b40d6bb 402542009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40255
40256 * kern/mm.c: Add more comments.
40257
73a4ce81 402582009-02-08 Robert Millan <rmh@aybabtu.com>
40259
40260 Patch from Javier Martín.
40261 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40262 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40263
f821ce59 402642009-02-08 Robert Millan <rmh@aybabtu.com>
40265
40266 * fs/cpio.c: Split tar functionality to ...
40267 * fs/tar.c: ... here (new file). Update all users.
40268
aebfc4b0 402692009-02-07 Robert Millan <rmh@aybabtu.com>
40270
40271 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40272 backward-incompatible features.
40273
40274 Based on patch from Javier Martín, with some adjustments.
40275
50fb7002 402762009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40277
40278 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40279
0bb5115e 402802009-02-07 Robert Millan <rmh@aybabtu.com>
40281
40282 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40283 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40284 after the RAID stuff.
40285
38a0f8e7 402862009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40287
50fb7002 40288 Fixes problem when running vbetest command as reported by
38a0f8e7 40289 Vladimir Serbinenko <phcoder@gmail.com>.
40290
40291 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40292
3143cc1c 402932009-02-04 Felix Zielcke <fzielcke@z-51.de>
40294
40295 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40296 /dev/md/NpN style mdraid devices.
40297
9cba6fce 402982009-02-03 Felix Zielcke <fzielcke@z-51.de>
40299
40300 * util/unifont2pff.rb: Remove.
40301
e507a2c1 403022009-02-03 Felix Zielcke <fzielcke@z-51.de>
40303
40304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40305 `#'.
40306
d2c2b4cd 403072009-02-03 Felix Zielcke <fzielcke@z-51.de>
40308
40309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40310 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40311 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40316
b4315fb0 403172009-02-02 Christian Franke <franke@computer.org>
40318
40319 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40320
de3aa260 403212009-02-01 Felix Zielcke <fzielcke@z-51.de>
40322
7c3ff286 40323 * INSTALL: Note that we now require at least autoconf 2.59 and
40324 that LZO is optional.
de3aa260 40325
825a182b 403262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40327
40328 Base on patch on bug #24154 created by Tomas Tintera
40329 <trosos@seznam.cz>.
40330
40331 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40332
a69ef770 403332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40334
7c3ff286 40335 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40336 <bero@arklinux.org>.
40337
40338 * normal/parser.y (script_init): Add missing semicolon.
40339
6fa42fa6 403402009-01-31 Colin D Bennett <colin@gibibit.com>
40341
7c3ff286 40342 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40343 (free_menu_entry_classes): Added.
40344 (grub_normal_menu_addentry): Added class property handling.
40345 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40346 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40347
40348 * normal/menu_viewer.c: New file.
40349
40350 * normal/menu.c (run_menu_entry): Renamed to ...
40351 (grub_menu_execute_entry): ... this and made it as global.
40352 (grub_menu_run): Renamed to ...
40353 (show_text_menu): ... this and made it local.
40354 (show_text_menu): Adapt to new function names.
40355 (grub_normal_terminal_menu_viewer): New global variable.
40356
40357 * include/grub/menu.h: New file.
40358
40359 * include/grub/menu_viewer.h: New file.
40360
40361 * include/grub/normal.h: Added include to grub/menu.h.
40362 (grub_menu_entry): Moved to include/grub/menu.h.
40363 (grub_menu_entry_t): Likewise.
40364 (grub_menu): Likewise.
40365 (grub_menu_t): Likewise.
40366 (grub_normal_terminal_menu_viewer): Added.
40367 (grub_menu_execute_entry): Likewise.
40368 (grub_menu_run): Removed.
40369
40370 * DISTLIST: Added include/grub/menu.h.
40371 Added include/grub/menu_viewer.h.
40372 Added normal/menu_viewer.c.
40373
403742009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40375
40376 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40377 arglist for menutitle arguments.
40378
40379 * normal/main.c (grub_normal_menu_addentry): Likewise.
40380
40381 * normal/parser.y (menuentry): Likewise.
40382
40383 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40384
40385 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40386 (grub_script_create_cmdmenu): Likewise.
40387
40388 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40389
40390 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40391 changes.
40392
40393 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40394
40395 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40396
40397 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40398
40399 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40400
40401 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40402
40403 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40404
56192c23 404052009-01-30 Christian Franke <franke@computer.org>
40406
40407 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40408 in option help text.
40409
d72521b3 404102009-01-27 Pavel Roskin <proski@gnu.org>
40411
40412 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40413
994b5e84 404142009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40415
40416 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40417
40418 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40419
40420 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40421 unregister function.
40422
6a7eab2c 404232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40424
40425 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40426
40427 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40428
40429 * util/grub-mkfont.c (usage): Fix typo.
40430
40431 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40432
1806b56e 404332009-01-26 Daniel Mierswa <impulze@impulze.org>
40434
3fb18f09 40435 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40436
336e1fb9 40437 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40438
1806b56e 40439 * kern/misc.c (grub_strcasecmp): New function.
40440 (grub_strcasecmp): Use grub_size_t instead of int for length.
40441 Fix return value.
40442 * include/grub/misc.h: Update function prototypes.
40443
580b2a0f 404442009-01-26 Robert Millan <rmh@aybabtu.com>
40445
40446 * configure.ac: Fix cross-compilation check.
ef257b36 40447
d31c24f1 404482009-01-22 Christian Franke <franke@computer.org>
40449
40450 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40451 (precision) digit string. Allow `.format2' without `format1' (width).
40452 Limit input chars for `%s' output to `format2' if specified. This is
40453 compatible with standard printf ().
40454
3138b44c 404552009-01-22 Christian Franke <franke@computer.org>
40456
40457 * disk/ata.c (grub_ata_wait_status): Replace by ...
40458 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40459 other status bits may be invalid while BSY is asserted.
40460 (grub_ata_check_ready): New function.
40461 (grub_ata_cmd): Removed.
40462 (grub_ata_wait_drq): New function.
40463 (grub_ata_strncpy): Remove inline.
40464 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40465 and error check now done by grub_ata_wait_drq ().
40466 (grub_ata_pio_write): Likewise.
40467 (grub_atapi_identify): Set DEV before check for !BSY. Use
40468 grub_ata_wait_drq () to wait for data.
40469 (grub_ata_device_initialize): Add status register check to
40470 detect missing SATA slave devices. Add debug messages.
40471 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40472 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40473 transfer loop by grub_ata_pio_write ().
40474 (grub_ata_identify): Set DEV before check for !BSY. Use
40475 grub_ata_wait_drq () to wait for data.
ef257b36 40476 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40477 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40478 read/write in one loop. Fix invalid command on write. Fix incomplete
40479 command on (size % batch) == 0. Add missing error check after write of
40480 last block. Add debug messages.
40481 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40482
59a64ef6 404832009-01-19 Christian Franke <franke@computer.org>
40484
40485 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40486 (GRUB_ATAPI_IREASON_*): Likewise.
40487 (grub_ata_pio_write): Fix timeout error return.
40488 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40489 (grub_atapi_wait_drq): New function.
40490 (grub_atapi_packet): New parameter `size'.
40491 Use grub_atapi_wait_drq () and direct write instead of
40492 grub_ata_pio_write ().
40493 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40494 reads the number of bytes requested by the device for each DRQ
40495 assertion.
40496 (grub_atapi_write): Remove old implementation, return not
40497 implemented instead.
40498
1cfe20b3 404992009-01-19 Christian Franke <franke@computer.org>
40500
40501 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40502 of 512 to calculate data size.
40503 (grub_scsi_read12): Likewise.
40504 (grub_scsi_write10): Likewise.
40505 (grub_scsi_write12): Likewise.
40506 (grub_scsi_read): Adjust size according to blocksize.
40507 Add checks for invalid blocksize and unaligned transfer.
40508
bee5fe5d 405092009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40510
40511 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40512
ef257b36 40513 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40514 width glyphs.
40515
3e643f8c 405162009-01-19 Robert Millan <rmh@aybabtu.com>
40517
40518 * config.guess: Update to latest version from config git.
40519 * config.sub: Likewise.
40520
4fa80998 405212009-01-17 Felix Zielcke <fzielcke@z-51.de>
40522
40523 * Makefile.in: Change font compilation to use new grub-mkfont instead
40524 of java version.
40525
40526 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40527 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40528 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40529 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40530 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40531 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40532 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40533 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40534 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40535
7086085b 405362009-01-16 Christian Franke <franke@computer.org>
40537
40538 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40539 (enum grub_ata_timeout_milliseconds): New enum.
40540 (grub_ata_wait_status): Add parameter milliseconds.
40541 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40542 recovery from timed-out commands.
40543 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40544 return grub_errno instead of REG_ERROR.
40545 (grub_ata_pio_write): Add parameter milliseconds.
40546 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40547 Pass milliseconds to grub_ata_wait_status () and
40548 grub_ata_pio_read ().
40549 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40550 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40551 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40552 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40553 It is not suitable for device detection, because DEV bit is ignored,
40554 the command may run too long, and not all devices set the signature
40555 properly.
40556 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40557 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40558 Fix device selection, DEV bit must be set first to address the registers
40559 of the correct device.
40560 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40561 grub_ata_pio_read/write ().
40562 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40563 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40564
4a412913 405652009-01-13 Carles Pina i Estany <carles@pina.cat>
40566
40567 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40568
7795c55e 405692009-01-13 Bean <bean123ch@gmail.com>
d913988c 40570
40571 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40572
7795c55e 405732009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40574
40575 * Makefile.in: (enable_grub_mkfont): New variable.
40576 (freetype_cflags): Likewise.
40577 (freetype_libs): Likewise.
40578
40579 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40580 (grub_mkfont_SOURCES): New variable.
40581 (grub_mkfont_CFLAGS): Likewise.
40582 (grub_mkfont_LDFLAGS): Likewise.
40583
40584 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40585 library if `--enable-grub-mkfont' is requested.
40586 (enable_grub_mkfont): New variable.
40587 (freetype_cflags): Likewise.
40588 (freetype_libs): Likewise.
40589
40590 * util/grub-mkfont.c: New file.
40591
093af1fe 405922009-01-12 Christian Franke <franke@computer.org>
40593
40594 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40595 mode check. Fix setting of compat_use[].
40596
f36cc108 405972009-01-10 Robert Millan <rmh@aybabtu.com>
40598
40599 Update a few copyright years which we forgot to do in 2008 (only for
40600 files whose changes made in 2008 were copyright-significant)
40601
40602 * Makefile.in: Add 2008 to Copyright line.
40603 * disk/ieee1275/ofdisk.c: Likewise.
40604 * disk/efi/efidisk.c: Likewise.
40605 * kern/dl.c: Likewise.
40606 * kern/sparc64/ieee1275/init.c: Likewise.
40607 * kern/mm.c: Likewise.
40608 * kern/efi/mm.c: Likewise.
40609 * boot/i386/pc/boot.S: Likewise.
40610 * genfslist.sh: Likewise.
40611 * fs/iso9660.c: Likewise.
40612 * fs/hfs.c: Likewise.
40613 * fs/jfs.c: Likewise.
40614 * fs/minix.c: Likewise.
40615 * fs/ufs.c: Likewise.
40616 * gensymlist.sh.in: Likewise.
40617 * genkernsyms.sh.in: Likewise.
40618 * include/grub/misc.h: Likewise.
40619 * include/grub/types.h: Likewise.
40620 * include/grub/symbol.h: Likewise.
40621 * include/grub/elf.h: Likewise.
40622 * include/grub/kernel.h: Likewise.
40623 * include/grub/disk.h: Likewise.
40624 * include/grub/dl.h: Likewise.
40625 * include/grub/i386/linux.h: Likewise.
40626 * include/grub/i386/pc/biosdisk.h: Likewise.
40627 * include/grub/efi/api.h: Likewise.
40628 * include/grub/efi/pe32.h: Likewise.
40629 * include/grub/util/misc.h: Likewise.
40630 * normal/execute.c: Likewise.
40631 * normal/arg.c: Likewise.
40632 * normal/completion.c: Likewise.
40633 * normal/lexer.c: Likewise.
40634 * normal/parser.y: Likewise.
40635 * normal/misc.c: Likewise.
40636 * commands/i386/pc/vbeinfo.c: Likewise.
40637 * commands/hexdump.c: Likewise.
40638 * commands/terminal.c: Likewise.
40639 * commands/ls.c: Likewise.
40640 * commands/help.c: Likewise.
40641 * partmap/pc.c: Likewise.
40642 * loader/efi/chainloader.c: Likewise.
40643 * loader/multiboot_loader.c: Likewise.
40644 * loader/i386/pc/multiboot2.c: Likewise.
40645 * term/efi/console.c: Likewise.
40646 * term/i386/pc/serial.c: Likewise.
40647 * util/lvm.c: Likewise.
40648 * util/console.c: Likewise.
40649 * util/i386/efi/grub-mkimage.c: Likewise.
40650 * util/raid.c: Likewise.
40651
7f02114b 406522009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40653
40654 * commands/videotest.c: Removed include to grub/machine/memory.h.
40655
40656 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40657 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40658 (video_mod_SOURCES): Removed.
40659 (video_mod_CFLAGS): Likewise.
40660 (video_mod_LDFLAGS): Likewise.
40661 (gfxterm_mod_SOURCES): Likewise.
40662 (gfxterm_mod_CFLAGS): Likewise.
40663 (gfxterm_mod_LDFLAGS): Likewise.
40664 (videotest_mod_SOURCES): Likewise.
40665 (videotest_mod_CFLAGS): Likewise.
40666 (videotest_mod_LDFLAGS): Likewise.
40667 (bitmap_mod_SOURCES): Likewise.
40668 (bitmap_mod_CFLAGS): Likewise.
40669 (bitmap_mod_LDFLAGS): Likewise.
40670 (tga_mod_SOURCES): Likewise.
40671 (tga_mod_CFLAGS): Likewise.
40672 (tga_mod_LDFLAGS): Likewise.
40673 (jpeg_mod_SOURCES): Likewise.
40674 (jpeg_mod_CFLAGS): Likewise.
40675 (jpeg_mod_LDFLAGS): Likewise.
40676 (png_mod_SOURCES): Likewise.
40677 (png_mod_CFLAGS): Likewise.
40678 (png_mod_LDFLAGS): Likewise.
40679
40680 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40681 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40682 (video_mod_SOURCES): Added.
40683 (video_mod_CFLAGS): Likewise.
40684 (video_mod_LDFLAGS): Likewise.
40685 (videotest_mod_SOURCES): Likewise.
40686 (videotest_mod_CFLAGS): Likewise.
40687 (videotest_mod_LDFLAGS): Likewise.
40688 (bitmap_mod_SOURCES): Likewise.
40689 (bitmap_mod_CFLAGS): Likewise.
40690 (bitmap_mod_LDFLAGS): Likewise.
40691 (tga_mod_SOURCES): Likewise.
40692 (tga_mod_CFLAGS): Likewise.
40693 (tga_mod_LDFLAGS): Likewise.
40694 (jpeg_mod_SOURCES): Likewise.
40695 (jpeg_mod_CFLAGS): Likewise.
40696 (jpeg_mod_LDFLAGS): Likewise.
40697 (png_mod_SOURCES): Likewise.
40698 (png_mod_CFLAGS): Likewise.
40699 (png_mod_LDFLAGS): Likewise.
40700 (gfxterm_mod_SOURCES): Likewise.
40701 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40702 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40703
40704 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40705 grub/machine/console.h.
40706
644fff97 407072009-01-04 Jerone Young <jerone@gmail.com>
40708
40709 Make on screen instructions clearer
40710
40711 Based on patch created by Jidanni <jidanni@jidanni.org>
40712
40713 * normal/menu.c: print clearer instructions on the screen
40714
1e901a75 407152009-01-02 Colin D Bennett <colin@gibibit.com>
40716
40717 New font engine.
34c44600 40718
1e901a75 40719 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40720 build system and fixed gfxterm.c to work with different sized fonts.
40721
40722 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40723
1e901a75 40724 * configure: Re-generated.
34c44600 40725
1e901a75 40726 * DISTLIST: Removed font/manager.c.
40727 Added font/font.c.
40728 Added font/font_cmd.c.
34c44600 40729
1e901a75 40730 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40731 compilation.
34c44600 40732
1e901a75 40733 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40734
40735 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40736
40737 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40738
1e901a75 40739 * normal/menu.c: Likewise.
34c44600 40740
1e901a75 40741 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40742 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40743
1e901a75 40744 * include/grub/font.h: Replaced with new file.
34c44600 40745
1e901a75 40746 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40747 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40748 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40749 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40750 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40751 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40752 fg_red, fg_green, fg_blue, fg_alpha.
40753 (grub_video_adapter): Removed blit_glyph.
34c44600 40754 (grub_video_blit_glyph): Removed.
40755
1e901a75 40756 * font/manager.c: Removed file.
34c44600 40757
40758 * font/font.c: New file.
40759
1e901a75 40760 * font/font_cmd.c: Likewise.
34c44600 40761
1e901a75 40762 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40763
1e901a75 40764 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40765 (grub_video_vbe_map_rgba): Likewise.
40766 (grub_video_vbe_unmap_color_int): Likewise.
40767 (grub_video_vbe_blit_glyph): Removed.
40768 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40769
1e901a75 40770 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40771 (get_pixel): Likewise.
34c44600 40772 (set_pixel): Likewise.
40773
1e901a75 40774 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40775
1e901a75 40776 * term/gfxterm.c: Adapted to new font engine.
34c44600 40777
1e901a75 40778 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40779
1e901a75 40780 * term/i386/pc/vga.c: Likewise.
34c44600 40781
1e901a75 40782 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40783
1e901a75 40784 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40785
1e901a75 40786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40787
1e901a75 40788 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40789
1e901a75 40790 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40791
1e901a75 40792 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40793
1e901a75 40794 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40795
1e901a75 40796 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40797
1e901a75 40798 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40799
40800 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40801
1e901a75 40802 * util/grub-mkconfig_lib.in: Changed font extension.
40803
278922e8 408042008-12-28 Felix Zielcke <fzielcke@z-51.de>
40805
40806 * util/getroot.c (grub_util_get_grub_dev): Add support for
40807 /dev/md/dNNpNN style partitionable mdraid devices.
40808
3ced05cf 408092008-12-12 Alex Smith <alex@alex-smith.me.uk>
40810
40811 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40812 at a time limit of the PXE TFTP API correctly.
40813 (grub_pxefs_close): Likewise.
40814
7fd0ee30 408152008-11-29 Robert Millan <rmh@aybabtu.com>
40816
34c44600 40817 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40818 grub_ata_device_initialize() calls.
40819
34c44600 408202008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40821
40822 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40823 iteration failed.
40824 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40825
89313780 408262008-11-28 Robert Millan <rmh@aybabtu.com>
40827
40828 Fix build on powerpc-ieee1275. Based on patch created by
40829 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40830 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40831 `kern/ieee1275/mmap.c'.
40832 * include/grub/powerpc/ieee1275/memory.h: New file.
40833
15257703 40834 Provide grub-install on coreboot.
40835 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40836 (grub_install_SOURCES): New variable.
40837 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40838 usable on coreboot.
40839
9fc5388a 408402008-11-25 Felix Zielcke <fzielcke@z-51.de>
40841
40842 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40843 to `grub_term_input_t'.
40844 (grub_term_get_current_output): Change return type to
40845 `grub_term_output_t'.
40846
bc3a2f31 408472008-11-22 Robert Millan <rmh@aybabtu.com>
40848
34c44600 40849 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40850 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40851 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40852 grub_vga_text_cls().
40853
80fc88f2 40854 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 40855 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 40856
cbf36fd3 40857 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
40858 to 0x200000 (avoids trouble with some OFW implementations, and matches
40859 with the one in Yaboot).
40860 Reported by Manoel Abranches
40861
73e8e268 408622008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 40863
40864 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
40865 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
40866
73e8e268 40867 * util/grub-mkconfig_lib.in (grub_warn): New function.
40868 (convert_system_path_to_grub_path): Use grub_warn() when issuing
40869 warnings, to obtain consistent formatting.
40870 * util/grub.d/00_header.in: Likewise.
40871 * util/update-grub_lib.in: Likewise.
40872
e94045a1 40873 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 40874 Move comment text to `#error' stanza.
e94045a1 40875
79d29fd7 40876 Harmonize ieee1275's grub_available_iterate() with the generic
40877 grub_machine_mmap_iterate() interface (fixes a recently-introduced
40878 build problem on i386-ieee1275):
40879 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
40880 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
40881 parameter `type'. Update all users of this function.
40882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40883 `kern/ieee1275/mmap.c'.
40884 * kern/ieee1275/init.c
40885 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
40886 with ...
40887 (grub_machine_mmap_iterate): ... this.
40888 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
40889 return type to `grub_err_t'. Update all implementations of this
40890 function prototype.
40891 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
40892 Likewise.
40893
60d6b16e 40894 Add `lsmmap' command (lists firmware-provided memory map):
40895 * commands/lsmmap.c: New file.
40896 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
40897 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
40898 variables.
40899 * conf/powerpc-ieee1275.rmk: Likewise.
40900 * conf/i386-coreboot.rmk: Likewise.
40901 * conf/i386-ieee1275.rmk: Likewise.
40902
ebaaf49b 409032008-11-19 Robert Millan <rmh@aybabtu.com>
40904
40905 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 40906 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
40907 constraints to initrd allocation (based on code from
40908 loader/i386/pc/linux.c). Without them, initrd was allocated too high
40909 for Linux to find it.
ebaaf49b 40910
dfab719f 409112008-11-14 Robert Millan <rmh@aybabtu.com>
40912
40913 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
40914 order to cope with duplicate slashes.
40915
10fc3eb9 409162008-11-14 Robert Millan <rmh@aybabtu.com>
40917
40918 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
40919 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
40920 don't want to mess with lower memory, because it is used in the Linux
40921 loader.
40922
40923 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 40924 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 40925 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
40926 is in our heap (probably as a result of it being corrupted during
2f2a3442 40927 decompression). Add #error instance with comment to explain why this
40928 loader isn't currently usable on PC/BIOS.
10fc3eb9 40929
e2e07847 409302008-11-14 Robert Millan <rmh@aybabtu.com>
40931
40932 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 40933 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 40934
fe8e8d69 409352008-11-12 Robert Millan <rmh@aybabtu.com>
40936
40937 Make loader/i386/linux.c buildable on i386-pc (although disabled).
40938
40939 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
40940 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
40941 from here ...
40942 * include/grub/i386/pc/memory.h: ... to here.
40943
976b07d0 409442008-11-12 Robert Millan <rmh@aybabtu.com>
40945
40946 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
40947 split).
40948
40949 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
40950 (grub_console_cur_color, grub_console_real_putchar)
40951 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40952 (grub_console_setcolorstate, grub_console_setcolor)
40953 (grub_console_getcolor): Move from here ...
40954 * include/grub/i386/vga_common.h: ... to here (new file).
40955
40956 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
40957 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
40958 `<grub/i386/io.h>'.
40959 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
40960 `<grub/i386/vga_common.h>'.
40961
76679cd3 409622008-11-12 Robert Millan <rmh@aybabtu.com>
40963
40964 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
40965 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
40966 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
40967 variables.
40968 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
40969 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
40970
40971 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
40972 grub_console_init() with call to grub_vga_text_init().
40973 (grub_machine_fini): Replace call to
40974 grub_console_fini() with call to grub_vga_text_fini() and
40975 grub_at_keyboard_fini().
40976
40977 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
40978 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
40979 (grub_console_setcolorstate, grub_console_setcolor)
40980 (grub_console_getcolor): New function prototypes.
40981
40982 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
40983 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
40984 (grub_vga_text_setcursor): Static-ize.
40985 (grub_vga_text_term): New structure.
40986 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
40987
40988 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
40989 (grub_console_cur_color, grub_console_standard_color)
40990 (grub_console_normal_color, grub_console_highlight_color)
40991 (map_char, grub_console_putchar, grub_console_getcharwidth)
40992 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
40993 (grub_console_getcolor): Move from here ...
40994 * term/i386/vga_common.c: ... to here (same function names).
40995
95b841d3 409962008-11-12 Robert Millan <rmh@aybabtu.com>
40997
40998 Use newly-added Multiboot support in coreboot.
40999
41000 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41001 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41002
41003 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41004 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41005 (codestart): Store the MBI in `startup_multiboot_info' when we're
41006 being loaded using Multiboot.
41007
41008 * kern/i386/coreboot/init.c (grub_machine_init): Move
41009 grub_at_keyboard_init() call to beginning of function (useful for
41010 debugging). Call grub_machine_mmap_init() before attempting to use
41011 grub_machine_mmap_iterate().
41012 (grub_lower_mem, grub_upper_mem): Move from here ...
41013 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41014 here (new file).
41015
41016 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41017 function prototype.
41018
761ca975 410192008-11-12 Robert Millan <rmh@aybabtu.com>
41020
41021 Fix a regression introduced by the at_keyboard.mod split. Because
41022 some terminals are default on some platforms and non-default on
41023 others, the first terminal being registered determines which is
41024 going to be default.
41025
41026 * kern/term.c (grub_term_register_input): If this is the first
41027 terminal being registered, set it as the current one.
41028 (grub_term_register_output): Likewise.
41029
41030 * term/efi/console.c (grub_console_init): Do not call
41031 grub_term_set_current_output() or grub_term_set_current_input().
41032 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41033 * term/i386/pc/console.c (grub_console_init): Likewise.
41034 (grub_console_fini): Do not call grub_term_set_current_input()
41035 (but leave grub_term_set_current_output() to restore text mode).
41036
6c529df7 410372008-11-10 Robert Millan <rmh@aybabtu.com>
41038
41039 * util/grub.d/00_header.in: Add backward compatibility check for
41040 versions of terminal.mod that don't understand `terminal_input' or
41041 `terminal_output'.
41042
132e4113 410432008-11-09 Robert Millan <rmh@aybabtu.com>
41044
41045 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41046 `terminal_input' / `terminal_output', not `terminal'.
41047
ac293d50 410482008-11-08 Robert Millan <rmh@aybabtu.com>
41049
41050 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41051 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41052
0025933a 410532008-11-08 Robert Millan <rmh@aybabtu.com>
41054
41055 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41056 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41057 members. Update all users.
41058 * util/console.c (grub_ncurses_term): Split in ...
41059 (grub_ncurses_term_input): ... this, and ...
41060 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41061 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41062
37c86336 410632008-11-08 Robert Millan <rmh@aybabtu.com>
41064
41065 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41066 (PKGDATA): Add $(pkgdata_SRCDIR).
41067 (pkglib_BUILDDIR): New variable.
41068 (pkgdata_SRCDIR): New variable.
41069 (build_env.mk): New target.
41070 (include_DATA): New variable.
41071 (install-local): Install $(include_DATA) files in $(includedir).
41072
b6c15a2d 410732008-11-07 Pavel Roskin <proski@gnu.org>
41074
d99d46f1 41075 * gendistlist.sh: Use C locale for sorting to ensure consistent
41076 output on all systems.
41077
b6c15a2d 41078 * util/grub.d/00_header.in: Remove incorrect space before
41079 "serial".
41080
c32ee8c9 410812008-11-07 Robert Millan <rmh@aybabtu.com>
41082
41083 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41084 per specification.
41085 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41086 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41087 (based on find_multi_boot1_header).
41088 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41089 using find_multi_boot2_header(), and abort if neither Multiboot or
41090 Multiboot headers were found.
41091
651c29b7 410922008-11-07 Robert Millan <rmh@aybabtu.com>
41093
41094 Modularize at_keyboard.mod:
41095
41096 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41097 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41098 (at_keyboard_mod_LDFLAGS): New variables.
41099
41100 Actual terminal split:
41101
41102 * include/grub/term.h (struct grub_term): Split in ...
41103 (struct grub_term_input): ... this, and ...
41104 (struct grub_term_output): ... this. Update all users.
41105 (grub_term_set_current): Split in ...
41106 (grub_term_set_current_input): ... this, and ...
41107 (grub_term_set_current_output): ... this.
41108 (grub_term_get_current): Split in ...
41109 (grub_term_get_current_input): ... this, and ...
41110 (grub_term_get_current_output): ... this.
41111 (grub_term_register): Split in ...
41112 (grub_term_register_input): ... this, and ...
41113 (grub_term_register_output): ... this.
41114 (grub_term_unregister): Split in ...
41115 (grub_term_unregister_input): ... this, and ...
41116 (grub_term_unregister_output): ... this.
41117 (grub_term_iterate): Split in ...
41118 (grub_term_iterate_input): ... this, and ...
41119 (grub_term_iterate_output): ... this.
41120
41121 * kern/term.c (grub_term_list): Split in ...
41122 (grub_term_list_input): ... this, and ...
41123 (grub_term_list_output): ... this. Update all users.
41124 (grub_cur_term): Split in ...
41125 (grub_cur_term_input): ... this, and ...
41126 (grub_cur_term_output): ... this. Update all users.
41127 (grub_term_set_current): Split in ...
41128 (grub_term_set_current_input): ... this, and ...
41129 (grub_term_set_current_output): ... this.
41130 (grub_term_get_current): Split in ...
41131 (grub_term_get_current_input): ... this, and ...
41132 (grub_term_get_current_output): ... this.
41133 (grub_term_register): Split in ...
41134 (grub_term_register_input): ... this, and ...
41135 (grub_term_register_output): ... this.
41136 (grub_term_unregister): Split in ...
41137 (grub_term_unregister_input): ... this, and ...
41138 (grub_term_unregister_output): ... this.
41139 (grub_term_iterate): Split in ...
41140 (grub_term_iterate_input): ... this, and ...
41141 (grub_term_iterate_output): ... this.
41142
41143 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41144 a check for input and one for output (and only attempt to get keys
41145 from user when input works).
41146
41147 * util/grub-probe.c (grub_term_get_current): Split in ...
41148 (grub_term_get_current_input): ... this, and ...
41149 (grub_term_get_current_output): ... this.
41150 * util/grub-fstest.c: Likewise.
41151 * util/i386/pc/grub-setup.c: Likewise.
41152 * util/grub-editenv.c: Likewise.
41153
41154 Portability adjustments:
41155
41156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41157 `term/i386/pc/at_keyboard.c'.
41158 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41159 grub_keyboard_controller_init() (now handled by terminal .init).
41160 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41161 grub_at_keyboard_init().
41162 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41163 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41164 at_keyboard.mod via input terminal interface).
41165 * include/grub/i386/coreboot/console.h: Convert into a stub for
41166 `<grub/i386/pc/console.h>'.
41167
41168 Migrate full terminals to new API:
41169
41170 * term/efi/console.c (grub_console_term): Split into ...
41171 (grub_console_term_input): ... this, and ...
41172 (grub_console_term_output): ... this. Update all users.
41173 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41174 (grub_ofconsole_init): Split into ...
41175 (grub_ofconsole_init_input): ... this, and ...
41176 (grub_ofconsole_init_output): ... this.
41177 (grub_ofconsole_term): Split into ...
41178 (grub_ofconsole_term_input): ... this, and ...
41179 (grub_ofconsole_term_output): ... this. Update all users.
41180 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41181 (grub_serial_term_input): ... this, and ...
41182 (grub_serial_term_output): ... this. Update all users.
41183 * term/i386/pc/console.c (grub_console_term): Split into ...
41184 (grub_console_term_input): ... this, and ...
41185 (grub_console_term_output): ... this. Update all users.
41186 (grub_console_term_input): Only enable it on PC/BIOS platform.
41187 (grub_console_init): Remove grub_keyboard_controller_init() call.
41188
41189 Migrate input terminals to new API:
41190
41191 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41192 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41193 i386-specific anyway).
41194 (grub_console_checkkey): Rename to ...
41195 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41196 users.
41197 (grub_keyboard_controller_orig): New variable.
41198 (grub_console_getkey): Rename to ...
41199 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41200 users.
41201 (grub_keyboard_controller_init): Static-ize. Save original
41202 controller value so that it can be restored ...
41203 (grub_keyboard_controller_fini): ... here (new function).
41204 (grub_at_keyboard_term): New structure.
41205 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41206 functions.
41207
41208 Migrate output terminals to new API:
41209
41210 * term/i386/pc/vga.c (grub_vga_term): Change type to
41211 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41212 members. Update all users.
41213 * term/gfxterm.c (grub_video_term): Change type to
41214 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41215 members. Update all users.
41216 * include/grub/i386/pc/console.h (grub_console_checkkey)
41217 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41218 etc).
41219
41220 Migrate `terminal' command and userland tools to new API:
41221
41222 * commands/terminal.c (grub_cmd_terminal): Split into ...
41223 (grub_cmd_terminal_input): ... this, and ...
41224 (grub_cmd_terminal_output): ... this.
41225 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41226 `terminal_input' and `terminal_output'.
41227 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41228 `terminal_input' / `terminal_output' API.
41229 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41230 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41231 provided ${GRUB_TERMINAL}, convert it).
41232
96e5d876 412332008-11-04 Robert Millan <rmh@aybabtu.com>
41234
41235 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41236 for FreeBSD.
41237 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41238
556f3775 412392008-11-03 Bean <bean123ch@gmail.com>
41240
41241 * kern/elf.c (grub_elf32_load): Revert to previous code.
41242 (grub_elf64_load): Likewise.
41243
41244 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41245
926b9823 412462008-11-01 Robert Millan <rmh@aybabtu.com>
41247
41248 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41249 (TARGET_CPPFLAGS): Likewise.
41250 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41251
1432e958 412522008-11-01 Carles Pina i Estany <carles@pina.cat>
41253
41254 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41255
dba3f844 412562008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41257
41258 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41259 addition of objects until the code is not going to be able to fail.
41260
dba3f844 412612008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41262
41263 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41264 (add a missing NULL check, and correct them by moving the pointer
41265 operations after the actual check).
41266
7ab28c21 412672008-10-29 Robert Millan <rmh@aybabtu.com>
41268
41269 * util/i386/pc/grub-install.in: Handle empty string as output from
41270 make_system_path_relative_to_its_root().
41271
1b7748eb 412722008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41273
41274 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41275 circular metadata worst case scenario. If the metadata is circular
41276 then copy the wrap in place.
41277 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41278 project lib/format_text/layout.h
41279 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41280
c9618ab2 412812008-10-03 Felix Zielcke <fzielcke@z-51.de>
41282
7a36edca 41283 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41284
bf981c62 412852008-10-03 Felix Zielcke <fzielcke@z-51.de>
41286
41287 * util/update-grub_lib.in: Mention filename in warning message.
41288
6d994591 412892008-09-29 Felix Zielcke <fzielcke@z-51.de>
41290
41291 * NEWS: Update for rename of update-grub to grub-mkconfig.
41292
18ade780 412932008-09-29 Felix Zielcke <fzielcke@z-51.de>
41294
41295 * util/update-grub_lib.in: Copy to ...
41296 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41297 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41298 * util/update-grub.in: Rename to ...
41299 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41300 option. Add `--output' option to allow users to specify the generated
41301 configuration file. Default to stdout.
41302 (update_grub_dir): Rename to ...
41303 (grub_mkconfig_dir): ... this.
41304 (grub_cfg): Default to an empty string.
41305 * conf/common.rmk (update-grub): Rename to ...
41306 (grub-mkconfig): ... this.
41307 (update-grub_lib): Copy to ...
41308 (grub-mkconfig_lib): ... this.
41309 (update-grub_SCRIPTS): Copy to ...
41310 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41311 (update-grub_DATA): Rename to ...
41312 (grub-mkconfig_DATA): ... this.
41313
556ce6ac 413142008-09-28 Robert Millan <rmh@aybabtu.com>
41315
41316 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41317 to `modified'. Add the real `created' field.
41318 (grub_iso9660_uuid): Use `modified' rather than `created' for
41319 constructing the UUID.
41320
413212008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41322
41323 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41324 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41325
92274e85 413262008-09-28 Bean <bean123ch@gmail.com>
41327
41328 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41329 Thanks to Christian Franke for finding this bug.
41330
add6f17a 413312008-09-25 Robert Millan <rmh@aybabtu.com>
41332
41333 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41334 instances of grub_util_get_disk_name() (see previous commit).
41335
d2a367b8 413362008-09-25 Robert Millan <rmh@aybabtu.com>
41337
41338 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41339 `util/i386/get_disk_name.c'.
41340 * conf/i386-efi.rmk: Likewise.
41341 * conf/x86_64-efi.rmk: Likewise.
41342 * conf/i386-coreboot.rmk: Likewise.
41343 * conf/i386-ieee1275.rmk: Likewise.
41344 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41345 `util/ieee1275/get_disk_name.c'.
41346 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41347 * util/ieee1275/get_disk_name.c: Remove file.
41348 * util/i386/get_disk_name.c: Remove file.
41349 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41350 "hd%d" for device.map entries, rather than using
41351 grub_util_get_disk_name().
41352
81a06771 413532008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41354
41355 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41356 warning.
41357 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41358
5a004279 413592008-09-24 Carles Pina i Estany <carles@pina.cat>
41360
41361 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41362 Changed to 0x5100.
41363 (GRUB_TERM_PPAGE): Changed to 0x4900.
41364
397093d3 413652008-09-24 Robert Millan <rmh@aybabtu.com>
41366
41367 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41368 macros (they were i386-pc specific).
41369 * include/grub/sparc64/ieee1275/console.h: Likewise.
41370 * include/grub/efi/console.h: Likewise.
41371
a91b6c7c 413722008-09-22 Bean <bean123ch@gmail.com>
41373
41374 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41375 resident and in attribute list.
41376
41377 * include/grub/ntfs.h (BMP_LEN): Removed.
41378
c40fd116 413792008-09-22 Bean <bean123ch@gmail.com>
41380
81a06771 41381 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41382 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41383
41384 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41385 error occurs, as grub_disk_open will call grub_disk_close, which will
41386 call p->close (scsi).
41387
81a06771 413882008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41389
41390 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41391 (AC_PREREQ): Bumped to 2.59.
41392 (AC_TRY_COMPILE): Replace obsolete macro with ...
41393 (AC_COMPILE_IFELSE): ... this.
41394 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41395 (AC_LINK_IFELSE): ... this.
41396
5dc43410 413972008-09-21 Felix Zielcke <fzielcke@z-51.de>
41398
41399 * autogen.sh: Add a call to `gendistlist.sh'.
41400
9035dce4 414012008-09-19 Christian Franke <franke@computer.org>
41402
41403 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41404 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41405 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41406 Export __enable_execute_stack() to modules.
41407 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41408 New function.
41409
7fd75377 414102008-09-09 Felix Zielcke <fzielcke@z-51.de>
41411
040030b3 41412 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41413 Sort the list.
41414
414152008-09-09 Felix Zielcke <fzielcke@z-51.de>
41416
41417 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41418 #include <grub/util/hostdisk.h>.
41419
89d5ffcf 414202008-09-08 Robert Millan <rmh@aybabtu.com>
41421
41422 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41423 segments when their filesz is zero (grub_file_read() interprets
81a06771 41424 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41425 Use `lowest_segment' rather than 0 for calculating the current
41426 segment load address.
41427
40da438f 414282008-09-08 Robert Millan <rmh@aybabtu.com>
41429
41430 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41431 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41432 clobbered useful information.
41433
ddbf5556 414342008-09-08 Robert Millan <rmh@aybabtu.com>
41435
41436 * include/grub/util/biosdisk.h: Move to ...
41437 * include/grub/util/hostdisk.h: ... here. Update all users.
41438 * util/biosdisk.c: Move to ...
41439 * util/hostdisk.c: ... here. Update all users.
41440
783d0f48 414412008-09-07 Robert Millan <rmh@aybabtu.com>
41442
41443 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41444 variables.
41445 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41446 and length can be stored directly in the `mbi->mmap_addr' and
41447 `mbi->mmap_length' struct fields.
41448
548e2ea5 414492008-09-07 Robert Millan <rmh@aybabtu.com>
41450
41451 * conf/i386.rmk: New file. Provides declaration for building
41452 `cpuid.mod'.
41453 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41454 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41455 variables.
41456 Include `conf/i386.mk'.
41457 * conf/i386-efi.rmk: Likewise.
41458 * conf/x86_64-efi.rmk: Likewise.
41459 * conf/i386-coreboot.rmk: Likewise.
41460 * conf/i386-ieee1275.rmk: Likewise.
41461
0ea85a37 414622008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41463
41464 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41465 Adds optimization support for BGR based modes.
41466
41467 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41468 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41470 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41471 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41472 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41473 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41475 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41476 (grub_video_i386_vbeblit_index_index): Likewise.
41477 (grub_video_i386_vbeblit_replace_directN): Added.
41478 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41479 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41480 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41481 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41482 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41483 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41484 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41485 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41486 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41487 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41488 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41489 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41490 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41491
41492 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41493 (grub_video_i386_vbefill_R8G8B8): Likewise.
41494 (grub_video_i386_vbefill_index): Likewise.
41495 (grub_video_i386_vbefill_direct32): Added.
41496 (grub_video_i386_vbefill_direct24): Likewise.
41497 (grub_video_i386_vbefill_direct16): Likewise.
41498 (grub_video_i386_vbefill_direct8): Likewise.
41499
81a06771 41500 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41501 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41502 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41503 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41504 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41505 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41506
0ea85a37 41507 * video/video.c (grub_video_get_blit_format): Updated to use new
41508 blit formats. Added handling for 16 bit color modes.
81a06771 41509
41510 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41511 fillers.
41512 (common_blitter): Updated to use new blitters.
41513
41514 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41515 Removed.
41516 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41518 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41519 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41520 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41521 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41523 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41524 (grub_video_i386_vbeblit_index_index): Likewise.
41525 (grub_video_i386_vbeblit_replace_directN): Added.
41526 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41527 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41528 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41529 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41530 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41531 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41532 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41533 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41534 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41535 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41536 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41537 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41538 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41539
0ea85a37 41540 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41541 (grub_video_i386_vbefill_R8G8B8): Likewise.
41542 (grub_video_i386_vbefill_index): Likewise.
41543 (grub_video_i386_vbefill_direct32): Added.
41544 (grub_video_i386_vbefill_direct24): Likewise.
41545 (grub_video_i386_vbefill_direct16): Likewise.
41546 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41547
0ea85a37 41548 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41549 types.
81a06771 41550
0ea85a37 41551 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41552 types.
81a06771 41553
0ea85a37 41554 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41555 blitter types.
81a06771 41556
0ea85a37 41557 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41558 types.
41559
e8a83df6 415602008-09-06 Felix Zielcke <fzielcke@z-51.de>
41561
41562 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41563 RAID level 1.
41564
6bcd8ee5 415652008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41566
6bcd8ee5 41567 * fs/iso9660.c (grub_iso9660_date): New structure.
41568 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41569 (grub_iso9660_uuid): New function.
c375ae58 41570
59261157 415712008-09-05 Bean <bean123ch@gmail.com>
41572
41573 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41574
41575 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41576 insensitive bit for names in Win32 and Win32 & DOS namespace.
41577
41578 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41579
41580 * include/grub/types.h (LONG_MAX): Likewise.
41581
58b6645a 415822008-09-04 Felix Zielcke <fzielcke@z-51.de>
41583
4ee55921 41584 * util/getroot.c: Include <config.h>.
41585 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41586 add support for /dev/md/N devices and handle LVM double dash escaping.
41587
415882008-09-04 Felix Zielcke <fzielcke@z-51.de>
41589
41590 * config.guess: Update to latest version from config git.
41591 * config.sub: Likewise.
58b6645a 41592
9124f65d 415932008-09-03 Robert Millan <rmh@aybabtu.com>
41594
41595 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41596 `disk->total_sectors'.
41597
81a06771 415982008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41599
41600 * include/grub/normal.h: Fixed incorrect comment for
41601 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41602
81a06771 416032008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41604
41605 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41606 values with defines.
41607
41608 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41609 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41610 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41611 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41612 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41613 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41614 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41615 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41616 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41617 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41618 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41619 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41620 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41621 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41622 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41623 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41624 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41625 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41626 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41627
93d5cbf8 416282008-08-31 Robert Millan <rmh@aybabtu.com>
41629
41630 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41631 declaration.
41632 (grub_multiboot): Fix a few warnings.
41633
21751d50 416342008-08-31 Robert Millan <rmh@aybabtu.com>
41635
41636 * loader/i386/pc/multiboot.c: Update comment not to say that
41637 boot_device support is unimplemented.
41638
e27a75c5 416392008-08-31 Robert Millan <rmh@aybabtu.com>
41640
41641 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41642 or memory map support are unimplemented.
41643
81a06771 416442008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41645
41646 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41647
81a06771 416482008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41649
41650 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41651 total video memory in 'vbeinfo' output; show color format details for
41652 each video mode.
41653
7c5d8d95 416542008-08-30 Pavel Roskin <proski@gnu.org>
41655
41656 * util/genmoddep.c: Remove for real this time.
41657 * DISTLIST: Remove util/genmoddep.c.
41658
4cebd25a 416592008-08-30 Robert Millan <rmh@aybabtu.com>
41660
41661 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41662 as required by Multiboot spec (it was already 4-byte aligned, but
41663 only by chance).
41664
b497a269 416652008-08-29 Pavel Roskin <proski@gnu.org>
41666
e3925185 41667 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41668 * kern/powerpc/ieee1275/startup.S: ... this.
41669 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41670 * DISTLIST: Likewise.
41671
b497a269 41672 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41673 grub/cpu/kernel.h. Add start label for consistency with other
41674 platforms. Add grub_prefix immediately after start. Add jump
41675 to the code after grub_prefix.
41676 * include/grub/powerpc/kernel.h: Provide valid values for
41677 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41678
6e5a42fe 416792008-08-29 Bean <bean123ch@gmail.com>
41680
41681 * configure.ac: Change host_os to cygwin for mingw.
41682 (asprintf): New check for function.
41683
41684 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41685 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41686
41687 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41688 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41689 sync, sleep and grub_util_get_disk_size for mingw.
41690
41691 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41692 to get size in mingw.
41693 (open_device): Use flag O_BINARY if it's defined.
41694 (find_root_device): Add dummy code for mingw.
41695
41696 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41697 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41698 (get_scsi_disk_name): Return 0 for mingw.
41699
41700 * util/hostfs.c: #include <grub/util/misc.h>.
41701 (grub_hostfs_open): Use "rb" flag to open file, use
41702 grub_util_get_disk_size to get disk size for mingw.
41703
41704 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41705 (asprintf): New function if HAVE_ASPRINTF is not set.
41706 (sync): New function for mingw.
41707 (sleep): Likewise.
41708 (grub_util_get_disk_size): Likewise.
41709
ab3f2673 417102008-08-28 Pavel Roskin <proski@gnu.org>
41711
41712 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41713 kern/time.c.
41714
1c282483 417152008-08-28 Robert Millan <rmh@aybabtu.com>
41716
41717 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41718
678e849c 417192008-08-28 Robert Millan <rmh@aybabtu.com>
41720
41721 Change find_grub_drive() syntax so it doesn't prevent it from
41722 detecting NULL names as errors.
41723
41724 * util/biosdisk.c (find_grub_drive): Move free slot search code
41725 from here ...
41726 (find_free_slot): ... to here.
41727 (read_device_map): Use find_free_slot() to search for free slots.
41728
965c75ca 417292008-08-27 Marco Gerards <marco@gnu.org>
41730
41731 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41732 (scsi_mod_SOURCES): New variable.
41733 (scsi_mod_CFLAGS): Likewise
41734 (scsi_mod_LDFLAGS): Likewise.
41735
41736 * disk/scsi.c: New file.
41737
41738 * include/grub/scsi.h: Likewise.
41739
41740 * include/grub/scsicmd.h: Likewise.
41741
41742 * disk/ata.c: Include <grub/scsi.h>.
41743 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41744 instead.
41745 (grub_ata_iterate): Skip ATAPI devices.
41746 (grub_ata_open): Only handle ATAPI devices.
41747 (struct grub_atapi_read): Removed.
41748 (grub_atapi_readsector): Likewise.
41749 (grub_ata_read): No longer handle ATAPI devices.
41750 (grub_ata_write): Likewise.
41751 (grub_atapi_iterate): New function.
41752 (grub_atapi_read): Likewise.
41753 (grub_atapi_write): Likewise.
41754 (grub_atapi_open): Likewise.
41755 (grub_atapi_close): Likewise.
41756 (grub_atapi_dev): New variable.
41757 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41758 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41759
41760 * include/grub/disk.h (enum grub_disk_dev_id): Add
41761 `GRUB_DISK_DEVICE_SCSI_ID'.
41762
c07ae501 417632008-08-26 Robert Millan <rmh@aybabtu.com>
41764
41765 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41766 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41767 descriptive.
41768
5ed20adc 417692008-08-23 Bean <bean123ch@gmail.com>
41770
41771 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41772 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41773 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41774 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41775 dm_nv.mod.
41776 (raid5rec_mod_SOURCES): New macro.
41777 (raid5rec_mod_CFLAGS): Likewise.
41778 (raid5rec_mod_LDFLAGS): Likewise.
41779 (raid6rec_mod_SOURCES): Likewise.
41780 (raid6rec_mod_CFLAGS): Likewise.
41781 (raid6rec_mod_LDFLAGS): Likewise.
41782 (mdraid_mod_SOURCES): Likewise.
41783 (mdraid_mod_CFLAGS): Likewise.
41784 (mdraid_mod_LDFLAGS): Likewise.
41785 (dm_nv_mod_SOURCES): Likewise.
41786 (dm_nv_mod_CFLAGS): Likewise.
41787 (dm_nv_mod_LDFLAGS): Likewise.
41788
41789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41790 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41791 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41792
41793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41794 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41795
41796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41797
41798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41799
41800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41801
41802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41803
41804 * disk/raid5_recover.c: New file.
41805
41806 * disk/raid6_recover.c: Likewise.
41807
41808 * disk/mdraid_linux.c: Likewise.
41809
41810 * disk/dmraid_nvidia.c: Likewise.
41811
41812 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41813 ULONG_MAX.
41814
41815 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41816 calculate the size of raid device.
41817 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41818 different layout of raid5.
41819 (grub_raid_scan_device): Remove code specific to mdraid.
41820 (grub_raid_list): New variable.
41821 (free_array): New function.
41822 (grub_raid_register): Likewise.
41823 (grub_raid_unregister): Likewise.
41824 (grub_raid_rescan): Likewise.
41825 (GRUB_MOD_INIT): Don't iterate device here.
41826 (GRUB_MOD_FINI): Use free_array to release resource.
41827
41828 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41829 (grub_raid5_recover_func_t): New function variable type.
41830 (grub_raid6_recover_func_t): Likewise.
41831 (grub_raid5_recover_func): New variable.
41832 (grub_raid6_recover_func): Likewise.
41833 (grub_raid_register): New function.
41834 (grub_raid_unregister): Likewise.
41835 (grub_raid_rescan): Likewise.
41836 (grub_raid_block_xor): Likewise.
41837
41838 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41839 (CMD_CRC): New macro.
41840 (part): Removed.
41841 (read_file): Handle device as well as file.
41842 (cmd_crc): New function.
41843 (fstest): Handle multiple disks.
41844 (options): Remove part, raw and long, add root and diskcount.
41845 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41846 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41847 add handling for the new options, support multiple disks.
41848
41849 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41850
29c18915 418512008-08-23 Bean <bean123ch@gmail.com>
41852
41853 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41854
41855 * genfslist.sh: Ignore kernel.mod.
41856
41857 * genpartmaplist.sh: Likewise.
41858
8415f261 418592008-08-23 Robert Millan <rmh@aybabtu.com>
41860
41861 * util/getroot.c (find_root_device): Skip anything that starts with
41862 a dot, not just directories. This avoids things like /dev/.tmp.md0.
41863
d5a7dc5b 418642008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 41865
d5a7dc5b 41866 * util/update-grub.in (GRUB_GFXMODE): Export variable.
41867 * util/grub.d/00_header.in: Allow the administrator to change default
41868 gfxmode via ${GRUB_GFXMODE}.
41869
380cfbb4 418702008-08-21 Felix Zielcke <fzielcke@z-51.de>
41871
41872 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
41873
c9baafe7 418742008-08-21 Robert Millan <rmh@aybabtu.com>
41875
41876 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
41877 loader.
41878 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
41879 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
41880
e290bef2 418812008-08-20 Carles Pina i Estany <carles@pina.cat>
41882
41883 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
41884 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
41885
f9dbfc96 418862008-08-19 Robert Millan <rmh@aybabtu.com>
41887
41888 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
41889 (struct grub_virtual_screen): Remove `cursor_color'.
41890 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
41891 initialization.
41892 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
41893
dd6bd6ab 418942008-08-18 Robert Millan <rmh@aybabtu.com>
41895
41896 Unify (identical) linux_normal.c files.
41897 * loader/i386/efi/linux_normal.c: Move from here ...
41898 * loader/linux_normal.c: ... to here. Update all users.
41899 * loader/i386/pc/linux_normal.c: Delete. Update all users.
41900 * loader/i386/ieee1275/linux_normal.c: Likewise.
41901
7f42f83e 419022008-08-18 Robert Millan <rmh@aybabtu.com>
41903
41904 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
41905 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
41906 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
41907 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
41908 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
41909 New macros.
41910 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
41911 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
41912 (GRUB_LINUX_CL_END_OFFSET): ... to here.
41913 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
41914 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
41915 (GRUB_EFI_CL_END_OFFSET): Rename to ...
41916 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
41917 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
41918 Initialize `params->video_cursor_x' and `params->video_cursor_y'
41919 portably using grub_getxy().
41920 Replace `-EFI' with `-bzImage' in boot message.
41921
38487ddb 419222008-08-17 Robert Millan <rmh@aybabtu.com>
41923
41924 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
41925
deceb3ec 419262008-08-17 Robert Millan <rmh@aybabtu.com>
41927
41928 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
41929
41930 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
41931 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
41932 (grub_machine_mmap_iterate): New function declaration.
41933 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
41934 structure.
41935 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
41936 macros.
41937
41938 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
41939 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
41940 Move e820 parsing from here ...
41941 * kern/i386/pc/mmap.c: New file.
41942 (grub_machine_mmap_iterate): ... to here.
41943
41944 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
41945 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
41946 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
41947 (grub_available_iterate): Redeclare to return `void', and redeclare
41948 its hook to use grub_uint64_t as addr and size parameters, and rename
41949 to ...
41950 (grub_machine_mmap_iterate): ... this. Update all users.
41951
41952 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
41953 to make it more readable. Rename to ...
41954 (grub_machine_mmap_iterate): ... this.
41955
41956 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
41957 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
41958 (grub_multiboot): Allocate an extra region after the payload, and fill
41959 it with a Multiboot memory map. Adjust a.out loader to calculate size
41960 with the extra space.
41961 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
41962 with the extra space.
41963
f8aa0f43 419642008-08-17 Carles Pina i Estany <carles@pina.cat>
41965
9807deb9 41966 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 41967
605f5bb6 419682008-08-17 Felix Zielcke <fzielcke@z-51.de>
41969
41970 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
41971 mdate-sh to the list `find' searches for.
41972 * DISTLIST: Regenerated.
41973
210db6c6 419742008-08-16 Felix Zielcke <fzielcke@z-51.de>
41975
41976 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
41977 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 41978 genmoddep.awk, gensymlist.sh.in.
41979 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 41980 * DISTLIST: Regenerated.
48cdbfd4 41981 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 41982
1082b929 419832008-08-16 Robert Millan <rmh@aybabtu.com>
41984
41985 * disk/raid.c (grub_raid_init): Handle/report errors set by
41986 grub_device_iterate().
41987 * disk/lvm.c (grub_lvm_init): Likewise.
41988
42ce5170 419892008-08-15 Bean <bean123ch@gmail.com>
41990
41991 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
41992 and datehook.mod.
41993 (datetime_mod_SOURCES): New macro.
41994 (datetime_mod_CFLAGS): Likewise.
41995 (datetime_mod_LDFLAGS): Likewise.
41996 (date_mod_SOURCES): Likewise.
41997 (date_mod_CFLAGS): Likewise.
41998 (date_mod_LDFLAGS): Likewise.
41999 (datehook_mod_SOURCES): Likewise.
42000 (datehook_mod_CFLAGS): Likewise.
42001 (datehook_mod_LDFLAGS): Likewise.
42002
42003 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42004 and datehook.mod.
42005 (datetime_mod_SOURCES): New macro.
42006 (datetime_mod_CFLAGS): Likewise.
42007 (datetime_mod_LDFLAGS): Likewise.
42008 (date_mod_SOURCES): Likewise.
42009 (date_mod_CFLAGS): Likewise.
42010 (date_mod_LDFLAGS): Likewise.
42011 (datehook_mod_SOURCES): Likewise.
42012 (datehook_mod_CFLAGS): Likewise.
42013 (datehook_mod_LDFLAGS): Likewise.
42014
42015 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42016 and datehook.mod.
42017 (datetime_mod_SOURCES): New macro.
42018 (datetime_mod_CFLAGS): Likewise.
42019 (datetime_mod_LDFLAGS): Likewise.
42020 (date_mod_SOURCES): Likewise.
42021 (date_mod_CFLAGS): Likewise.
42022 (date_mod_LDFLAGS): Likewise.
42023 (datehook_mod_SOURCES): Likewise.
42024 (datehook_mod_CFLAGS): Likewise.
42025 (datehook_mod_LDFLAGS): Likewise.
42026
42027 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42028 and datehook.mod.
42029 (datetime_mod_SOURCES): New macro.
42030 (datetime_mod_CFLAGS): Likewise.
42031 (datetime_mod_LDFLAGS): Likewise.
42032 (date_mod_SOURCES): Likewise.
42033 (date_mod_CFLAGS): Likewise.
42034 (date_mod_LDFLAGS): Likewise.
42035 (datehook_mod_SOURCES): Likewise.
42036 (datehook_mod_CFLAGS): Likewise.
42037 (datehook_mod_LDFLAGS): Likewise.
42038
42039 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42040 and datehook.mod.
42041 (datetime_mod_SOURCES): New macro.
42042 (datetime_mod_CFLAGS): Likewise.
42043 (datetime_mod_LDFLAGS): Likewise.
42044 (date_mod_SOURCES): Likewise.
42045 (date_mod_CFLAGS): Likewise.
42046 (date_mod_LDFLAGS): Likewise.
42047 (datehook_mod_SOURCES): Likewise.
42048 (datehook_mod_CFLAGS): Likewise.
42049 (datehook_mod_LDFLAGS): Likewise.
42050
42051 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42052
42053 * commands/date.c: New file.
42054
42055 * hook/datehook.c: Likewise.
42056
42057 * include/grub/lib/datetime.h: Likewise.
42058
42059 * include/grub/i386/cmos.h: Likewise.
42060
42061 * lib/datetime.c: Likewise.
42062
42063 * lib/i386/datetime.c: Likewise.
42064
42065 * lib/efi/datetime.c: Likewise.
42066
0e9242da 420672008-08-14 Robert Millan <rmh@aybabtu.com>
42068
42069 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42070 (grub_mkelfimage_SOURCES): New variable.
42071 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42072
42073 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42074 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42075 * conf/powerpc-ieee1275.rmk: Likewise.
42076 * conf/i386-ieee1275.rmk: Likewise.
42077
42078 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42079 * kern/i386/coreboot/init.c: Likewise.
42080
42081 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42082 with `<grub/cpu/kernel.h>'.
42083 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42084 to ...
42085 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42086 * kern/i386/coreboot/startup.S: Likewise.
42087
42088 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42089 (GRUB_MOD_GAP): Remove.
42090 * include/grub/powerpc/kernel.h: New file.
42091 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42092 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42093 * include/grub/i386/kernel.h: New file.
42094 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42095 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42096 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42097
42098 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42099 `grub-mkelfimage'.
42100 Use --directory when invoking grub_mkimage.
42101
42102 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42103 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42104 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42105 and GRUB_KERNEL_CPU_PREFIX.
42106
b86408f8 421072008-08-14 Felix Zielcke <fzielcke@z-51.de>
42108
d5e619ca 42109 * include/grub/err.h (grub_err_printf): New function prototype.
42110 * util/misc.c (grub_err_printf): New function.
42111 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42112 grub_printf.
42113 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 42114
7161f0e0 421152008-08-13 Robert Millan <rmh@aybabtu.com>
42116
42117 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42118
a1967522 421192008-08-13 Robert Millan <rmh@aybabtu.com>
42120
42121 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42122 boot entry.
42123
371458b5 421242008-08-12 Robert Millan <rmh@aybabtu.com>
42125
42126 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42127 of the relocation code from here ...
42128 (grub_multiboot): ... to here.
42129 (forward_relocator, backward_relocator): Move from here ...
42130 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42131 (grub_multiboot_backward_relocator): ... to here.
42132 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42133 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42134 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42135 (grub_multiboot_forward_relocator_end)
42136 (grub_multiboot_backward_relocator)
42137 (grub_multiboot_backward_relocator_end): New variables.
42138
05f9452b 421392008-08-12 Bean <bean123ch@gmail.com>
42140
42141 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42142
20024ab0 421432008-08-11 Robert Millan <rmh@aybabtu.com>
42144
42145 * kern/i386/linuxbios/startup.S: Move from here ...
42146 * kern/i386/coreboot/startup.S: ... to here.
42147
42148 * kern/i386/linuxbios/init.c: Move from here ...
42149 * kern/i386/coreboot/init.c: ... to here.
42150
42151 * kern/i386/linuxbios/table.c: Move from here ...
42152 * kern/i386/coreboot/mmap.c: ... to here.
42153
42154 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42155
e352e9cd 421562008-08-11 Robert Millan <rmh@aybabtu.com>
42157
42158 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42159 errors. Leave it to the upper layer to handle them.
42160
2d05bc6a 421612008-08-09 Christian Franke <franke@computer.org>
42162
42163 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42164 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42165 Install `grub.d/10_windows' only on Cygwin.
42166 * configure.ac: Add subst of `target_os'.
42167 Check `target_os' also before setting TARGET_OBJ2ELF.
42168 Add `--enable-grub-pe2elf'.
42169
042bd419 421702008-08-08 Robert Millan <rmh@aybabtu.com>
42171
42172 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42173 (grub_last_time): Change type to grub_uint64_t.
42174 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42175 (grub_disk_close): Likewise.
42176
42177 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42178 (run_menu): Migrate code from to using grub_get_time_ms().
42179
42180 * util/misc.c (grub_get_time_ms): New function.
42181
7f280db5 421822008-08-08 Marco Gerards <marco@gnu.org>
42183
42184 * disk/ata.c (grub_ata_regget): Change return type to
42185 `grub_uint8_t'.
42186 (grub_ata_regget2): Likewise.
42187 (grub_ata_wait_status): New function.
42188 (grub_ata_wait_busy): Removed function, updated all users to use
42189 `grub_ata_wait_status'.
42190 (grub_ata_wait_drq): Likewise.
42191 (grub_ata_cmd): New function.
42192 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42193 error handling.
42194 (grub_ata_pio_write): Add error handling.
42195 (grub_atapi_identify): Likewise.
42196 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42197 handling.
42198 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42199 handling. Actually use the detected registers. Reorder the
42200 detection logic such that it is easier to read.
42201 (grub_ata_pciinit): Do not assign the same ID to each controller.
42202 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42203 handling.
42204 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42205
42206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42207
1fbc5e66 422082008-08-08 Marco Gerards <marco@gnu.org>
42209
42210 * NEWS: Update.
42211
819ce6c0 422122008-08-07 Bean <bean123ch@gmail.com>
42213
42214 * include/grub/x86_64/pci.h: New file.
42215
5c41d44d 422162008-08-07 Christian Franke <franke@computer.org>
42217
42218 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42219 (TIMER2_GATE): Likewise.
42220 (grub_pit_wait): Add enable/disable of the timer2 gate
42221 bit of port 0x61. This fixes a possible infinite loop.
42222
5ebc275d 422232008-08-07 Bean <bean123ch@gmail.com>
42224
42225 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42226 kern/i386/tsc.c and kern/i386/pit.c.
42227
42228 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42229 x86_64 platform.
42230
42231 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42232 <grub/i386/tsc.h>.
42233
42234 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42235
e383b3d0 422362008-08-07 Bean <bean123ch@gmail.com>
42237
42238 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42239
42240 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42241
42242 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42243 multiple inclusion. Add #include <grub/types.h>.
42244
1cbb58ac 422452008-08-06 Christian Franke <franke@computer.org>
42246
42247 * conf/common.rmk: Build and install `10_windows'.
42248 * util/grub.d/10_windows.in: New script.
42249
337f5a1e 422502008-08-06 Pavel Roskin <proski@gnu.org>
42251
42252 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42253
057bc4ac 422542008-08-06 Robert Millan <rmh@aybabtu.com>
42255
42256 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42257 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42258
2b99f123 422592008-08-06 Bean <bean123ch@gmail.com>
42260
42261 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42262 (grub_pxefs_fs_int): Remove dummy definition.
42263 (grub_pxefs_open): Use data->block_size to store the current block
42264 size setting.
42265 (grub_pxefs_read): Use block size stored in data->block_size. As the
42266 value of grub_pxe_blksize can be changed after the file is opened.
42267
9f0234cb 422682008-08-06 Bean <bean123ch@gmail.com>
42269
42270 * fs/i386/pc/pxe.c (curr_file): new variable.
42271 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42272 require the dummy internal file system anymore.
42273 (grub_pxefs_read): Removed.
42274 (grub_pxefs_close): Likewise.
42275 (grub_pxefs_fs_int): Likewise.
42276 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42277 connection when we switch file.
42278 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42279
a55d42e0 422802008-08-06 Robert Millan <rmh@aybabtu.com>
42281
42282 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42283 `halt.mod'.
42284 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42285 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42286
42287 * kern/i386/halt.c: New file.
42288 * kern/i386/reboot.c: Likewise.
42289 * include/grub/i386/reboot.h: Likewise.
42290 * include/grub/i386/halt.h: Likewise.
42291
42292 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42293 Include `<grub/cpu/halt.h>'.
42294 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42295 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42296
42297 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42298 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42299 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42300 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42301 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42302 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42303 from here ...
42304 * include/grub/i386/at_keyboard.h: ... to here.
42305
24371d26 423062008-08-05 Robert Millan <rmh@aybabtu.com>
42307
42308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42309 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42311 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42312 `kern/generic/millisleep.c'.
42313
42314 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42315 instead of grub_get_rtc().
42316 (grub_tsc_init): Initialize `tsc_boot_time'.
42317
42318 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42319 (grub_machine_init): Use grub_tsc_init() rather than
42320 installing an RTC-based handler via grub_install_get_time_ms().
42321
42322 * kern/i386/pit.c: New file.
42323 * include/grub/i386/pit.h: Likewise.
42324
9e7007b3 423252008-08-05 Bean <bean123ch@gmail.com>
42326
42327 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42328
42329 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42330 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42331 (pxe_mod_SOURCES): New macro.
42332 (pxe_mod_CFLAGS): Likewise.
42333 (pxe_mod_LDFLAGS): Likewise.
42334 (pxecmd_mod_SOURCES): Likewise.
42335 (pxecmd_mod_CFLAGS): Likewise.
42336 (pxecmd_mod_LDFLAGS): Likewise.
42337
42338 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42339 (grub_pxe_call): Likewise.
42340
42341 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42342
42343 * commands/i386/pc/pxecmd.c: New file.
42344
9f0234cb 42345 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42346
42347 * include/grub/i386/pc/pxe.h: Likewise.
42348
6977d49f 423492008-08-05 Bean <bean123ch@gmail.com>
42350
42351 * util/console.c (grub_console_cur_color): New variable.
42352 (grub_console_standard_color): Likewise.
42353 (grub_console_normal_color): Likewise.
42354 (grub_console_highlight_color): Likewise.
42355 (color_map): Likewise.
42356 (use_color): Likewise.
42357 (NUM_COLORS): New macro.
42358 (grub_ncurses_setcolorstate): Handle color properly.
42359 (grub_ncurses_setcolor): Don't change color here, just remember the
42360 settings, color will be set in grub_ncurses_setcolorstate.
42361 (grub_ncurses_getcolor): New function.
42362 (grub_ncurses_init): Initialize color pairs.
42363 (grub_ncurses_term): New member grub_ncurses_getcolor.
42364
9c2ff3ee 423652008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42366
9c2ff3ee 42367 High resolution timer support. Implemented for x86 CPUs using TSC.
42368 Extracted generic grub_millisleep() so it's linked in only as needed.
42369 This requires a Pentium compatible CPU; if the RDTSC instruction is
42370 not supported, then it falls back on the generic grub_get_time_ms()
42371 implementation that uses the machine's RTC.
42372
42373 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42374 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42375 `kern/generic/millisleep.c'.
42376
42377 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42378 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42379
42380 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42381 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42382
42383 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42384
42385 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42386 `kern/generic/millisleep.c'.
42387
42388 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42389
42390 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42391
42392 * kern/generic/rtc_get_time_ms.c: New file.
42393
42394 * kern/generic/millisleep.c: New file.
337f5a1e 42395
9c2ff3ee 42396 * kern/misc.c: Don't include
42397 <kern/time.h> anymore.
42398 (grub_millisleep_generic): Removed.
42399
42400 * commands/sleep.c (grub_interruptible_millisleep): Uses
42401 grub_get_time_ms() instead of grub_get_rtc().
42402
42403 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42404 function.
42405 (grub_cpu_is_cpuid_supported): New inline function.
42406 (grub_cpu_is_tsc_supported): New inline function.
42407 (grub_tsc_init): New function prototype.
42408 (grub_tsc_get_time_ms): New function prototype.
42409
42410 * kern/i386/tsc.c (grub_get_time_ms): New file.
42411
42412 * include/grub/time.h: Include <grub/types.h.
42413 (grub_millisleep_generic): Removed.
42414 (grub_get_time_ms): New prototype.
42415 (grub_install_get_time_ms): New prototype.
42416 (grub_rtc_get_time_ms): New prototype.
42417
42418 * kern/time.c (grub_get_time_ms): New function.
42419 (grub_install_get_time_ms): New function.
42420
42421 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42422 <grub/time.h> anymore.
42423 (grub_millisleep): Removed.
42424 (grub_machine_init): Call grub_tsc_init.
42425
42426 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42427 get_time_ms() implementation.
42428
42429 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42430 (ieee1275_get_time_ms): New function.
42431 (grub_machine_init): Install get_time_ms() implementation.
42432
42433 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42434 (grub_machine_init): Call grub_tsc_init().
42435 (grub_millisleep): Removed.
bf06a93f 42436
9c2ff3ee 42437 * kern/ieee1275/init.c (grub_millisleep): Removed.
42438 (grub_machine_init): Install ieee1275_get_time_ms()
42439 implementation.
42440 (ieee1275_get_time_ms): New function.
42441 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42442 real work.
42443
9ec92aaf 424442008-08-05 Marco Gerards <marco@gnu.org>
42445
42446 * disk/ata.c: Include <grub/pci.h>.
42447 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42448 (grub_ata_initialize): Rewritten.
42449 (grub_ata_device_initialize): New function.
42450
8d23f507 424512008-08-04 Pavel Roskin <proski@gnu.org>
42452
42453 * kern/main.c: Include grub/mm.h.
42454
5e15ee3d 424552008-08-04 Robert Millan <rmh@aybabtu.com>
42456
42457 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42458 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42459 corruption problem).
42460
a9053f8f 424612008-08-04 Robert Millan <rmh@aybabtu.com>
42462
42463 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42464 warnings introduced in my last commit.
42465
dd19c7d7 424662008-08-03 Robert Millan <rmh@aybabtu.com>
42467
42468 Make PCI available on all i386 architectures.
42469
42470 * include/grub/i386/pc/pci.h: Move from here ...
42471 * include/grub/i386/pci.h: ... to here.
42472
42473 * include/grub/i386/pc/pci.h: Remove.
42474 * include/grub/i386/efi/pci.h: Remove.
42475 * include/grub/x86_64/efi/pci.h: Remove.
42476
42477 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42478 `<grub/cpu/pci.h>'.
42479
42480 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42481 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42482 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42483
42484 * conf/i386-ieee1275.rmk: Likewise.
42485
e14a6184 424862008-08-03 Robert Millan <rmh@aybabtu.com>
42487
42488 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42489 (grub_console_setcursor): Make it possible to set cursor off.
42490
52768e37 424912008-08-03 Robert Millan <rmh@aybabtu.com>
42492
42493 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42494 of modules instead of assuming which platform provides what.
42495 * util/update-grub.in: Likewise.
42496
2d52f57f 424972008-08-03 Robert Millan <rmh@aybabtu.com>
42498
42499 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42500 instead of `grub_install_dos_part' to determine whether a drive needs
42501 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42502 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42503
2a5cd121 425042008-08-02 Robert Millan <rmh@aybabtu.com>
42505
42506 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42507
93808428 425082008-08-02 Robert Millan <rmh@aybabtu.com>
42509
42510 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42511 of informational grub_dprintf() calls.
42512
3bd0a12a 425132008-08-02 Robert Millan <rmh@aybabtu.com>
42514
42515 * disk/memdisk.c (memdisk_size): Don't initialize.
42516 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42517
42518 * include/grub/i386/pc/kernel.h
42519 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42520 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42521 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42522 (grub_arch_memdisk_size): Remove.
42523
42524 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42525 field (was only used to transfer a constant). Add `type' field to
42526 support multiple module types.
42527 (grub_module_iterate): New function.
42528
42529 * kern/device.c (grub_device_open): Do not hide error messages
42530 when grub_disk_open() fails. Use grub_print_error() instead.
42531
42532 * kern/i386/pc/init.c (grub_arch_modules_addr)
42533 (grub_arch_memdisk_size): Remove functions.
42534 (grub_arch_modules_addr): Return the module address in high memory
42535 (now that it isn't copied anymore).
42536
42537 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42538 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42539 decompression routine (grub_total_module_size already includes that
42540 now). Don't copy modules back to low memory.
42541
42542 * kern/main.c: Include `<grub/mm.h>'.
42543 (grub_load_modules): Split out (and use) ...
42544 (grub_module_iterate): ... this function, which iterates through
42545 module objects and runs a hook.
42546 Comment out grub_mm_init_region() call, as it would cause non-ELF
42547 modules to be overwritten.
42548
42549 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42550 the memdisk image in its own region, make it part of the module list.
42551 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42552 (main): Parse --memdisk|-m option, and pass user-provided path as
42553 parameter to generate_image().
42554 (add_segments): Pass `memdisk_path' down to load_modules().
42555 (load_modules): Embed memdisk image in module section when requested.
42556 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42557 `header.type' instead of `header.offset'.
42558
42559 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42560 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42561 (memdisk_mod_LDFLAGS): New variables.
42562 * conf/i386-coreboot.rmk: Likewise.
42563 * conf/i386-ieee1275.rmk: Likewise.
42564
a927cc73 425652008-08-02 Robert Millan <rmh@aybabtu.com>
42566
42567 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42568 (backward_relocator): New variables. Used to allocate and relocate
42569 the payload, respectively.
42570 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42571 address, install the appropriate relocator code in each bound of
a927cc73 42572 the payload, and set the entry point such that
42573 grub_multiboot_real_boot() will jump to one of them.
42574
42575 * kern/i386/loader.S (grub_multiboot_payload_size)
42576 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42577 (grub_multiboot_payload_entry_offset): New variables.
42578 (grub_multiboot_real_boot): Set cpu context to what the relocator
42579 expects, and jump to the relocator instead of the payload.
42580
42581 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42582 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42583 (grub_multiboot_payload_entry_offset): Export.
42584
b15d8a0c 425852008-08-01 Bean <bean123ch@gmail.com>
42586
42587 * normal/menu_entry.c (editor_getline): Don't return the original
42588 string as result, as it will be released by lexer once it has done
42589 using it.
42590
cdfb3d22 425912008-08-01 Robert Millan <rmh@aybabtu.com>
42592
42593 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42594 within menuentries, not before them.
42595 util/grub.d/10_hurd.in: Likewise.
42596
9175e93d 425972008-08-01 Bean <bean123ch@gmail.com>
42598
42599 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42600 (bufio_mod_SOURCES): New macro.
42601 (bufio_mod_CFLAGS): Likewise.
42602 (bufio_mod_LDFLAGS): Likewise.
42603
42604 * include/grub/bufio.h: New file.
42605
42606 * io/bufio.c: Likewise.
42607
42608 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42609 (grub_video_reader_png): Use grub_buffile_open to open file.
42610
42611 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42612 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42613
42614 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42615 (grub_video_reader_tga): Use grub_buffile_open to open file.
42616
42617 * font/manager.c: Include <grub/bufio.h>.
42618 (add_font): Use grub_buffile_open to open file.
42619
3d8383e7 426202008-07-31 Robert Millan <rmh@aybabtu.com>
42621
42622 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42623 ELF segments, use a macro for arbitrarily accessing any of them instead
42624 of preparing a pointer that allows access to one at a time.
42625 (grub_multiboot_load_elf64): Likewise.
42626
16e641b6 426272008-07-31 Bean <bean123ch@gmail.com>
42628
42629 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42630 GRUB_KERNEL_MACHINE_DATA_END.
42631
59198b72 426322008-07-30 Robert Millan <rmh@aybabtu.com>
42633
42634 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42635 Increase from 0x50 to 0x60.
42636 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42637 use UUIDs to identify the root drive for them. If that's not
42638 possible, abort.
42639 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42640 check, for cross-disk installs.
42641
ae88bca3 426422008-07-30 Robert Millan <rmh@aybabtu.com>
42643
42644 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42645 is non-empty, use it to set the `prefix' environment variable instead
42646 of the usual approach.
42647 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42648 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42649 environment variable instead of dummy make_install_device().
42650
42651 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42652 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42653 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42654
42655 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42656 New variable reference.
42657 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42658 New macro. Defines offset of `grub_prefix' within startup.S (relative
42659 to `start').
42660 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42661 section within startup.S (relative to `start').
42662 * include/grub/i386/coreboot/kernel.h: Likewise.
42663
42664 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42665 Overwrite grub_prefix with its contents, at the beginning of the
42666 first segment.
42667 (main): Understand -p|--prefix.
42668
14f41dd1 426692008-07-30 Robert Millan <rmh@aybabtu.com>
42670
42671 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42672
4ca049a3 426732008-07-30 Robert Millan <rmh@aybabtu.com>
42674
42675 * term/i386/pc/vga_text.c (grub_console_cls): Use
42676 grub_console_gotoxy() to go back to beginning of the screen.
42677 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42678
2921d337 426792008-07-29 Christian Franke <franke@computer.org>
42680
42681 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42682 Add conversion of emulated mount points on Cygwin.
42683
b609876d 426842008-07-29 Christian Franke <franke@computer.org>
42685
42686 * util/update-grub.in: Add a check for admin
42687 group on Cygwin.
42688 Remove old `grub.cfg.new' before creation.
42689 Add `-f' to `mv' to handle the different filesystem
42690 semantics of Windows.
42691
e93e4679 426922008-07-29 Bean <bean123ch@gmail.com>
42693
42694 * normal/main.c (get_line): Fix buffer overflow bug.
42695
41694fd0 426962008-07-28 Robert Millan <rmh@aybabtu.com>
42697
42698 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42699 (struct grub_apple_header): New struct. Describes the layout of
42700 the partmap header.
42701 (apple_partition_map_iterate): Check the header magic as well as the
42702 partition magic (which was already being checked).
42703
cfd0b4e6 427042008-07-28 Pavel Roskin <proski@gnu.org>
42705
42706 * genmk.rb: Add a warning to the beginning of the output that
42707 it's a generated file and should not be edited.
42708
93cce016 427092008-07-28 Robert Millan <rmh@aybabtu.com>
42710
42711 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42712 with the same number are found, just use issue a warning with
42713 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42714
cd1df915 427152008-07-27 Robert Millan <rmh@aybabtu.com>
42716
42717 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42718 information.
42719
b70a8427 427202008-07-27 Bean <bean123ch@gmail.com>
42721
42722 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42723 (grub_fat_find_dir): Ignore case when comparing filename.
42724
8f5e379f 427252008-07-27 Bean <bean123ch@gmail.com>
42726
42727 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42728 smallino, as it's more descriptive, and i8count can be confused with
42729 the other field count.
42730 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42731 inode type.
42732
a85cd5a0 427332008-07-27 Bean <bean123ch@gmail.com>
42734
42735 * commands/crc.c: New file.
42736
42737 * lib/crc.c: Likewise.
42738
42739 * include/grub/lib/crc.h: Likewise.
42740
42741 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42742
42743 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42744 (hexdump): Move this function to ...
42745
42746 * lib/hexdump.c: ... here.
42747
42748 * include/grub/hexdump.h: Renamed to ...
42749
42750 * include/grub/lib/hexdump.h: ... this.
42751
42752 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42753
42754 * util/grub-editenv.c: Likewise.
42755
42756 * include/envblk.h: Renamed to ...
42757
42758 * include/lib/envblk.h: ... this.
42759
42760 * util/envblk.c: Renamed to ...
42761
42762 * lib/envblk.c: ... this.
42763
42764 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42765 lib/hexdump.c.
42766 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42767 (pkglib_MODULES): Add crc.mod.
42768 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42769 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42770 (crc_mod_SOURCES): New macro.
42771 (crc_mod_CFLAGS): Likewise.
42772 (crc_mod_LDFLAGS): Likewise.
42773
42774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42775
42776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42777
42778 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42779
42780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42781
42782 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42783
c298def0 427842008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42785
42786 * commands/help.c: Include <grub/term.h>.
42787 (TERM_WIDTH): Removed. Updated all users.
42788
cc349fb3 427892008-07-27 Pavel Roskin <proski@gnu.org>
42790
42791 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42792 spurious warnings about a comment within a comment.
42793
9051607e 427942008-07-25 Robert Millan <rmh@aybabtu.com>
42795
42796 * util/getroot.c (find_root_device): Skip devices that match
42797 /dev/dm-[0-9]. This lets the real device be found for any type of
42798 abstraction (LVM, EVMS, RAID..).
42799 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42800 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42801 device is found first, find_root_device() will now skip it.
42802
01453bfc 428032008-07-24 Pavel Roskin <proski@gnu.org>
42804
42805 * include/grub/types.h: Use __builtin_bswap32() and
42806 __builtin_bswap64() with gcc 4.3 and newer.
42807
6af9849f 428082008-07-24 Christian Franke <franke@computer.org>
42809
3a0fa256 42810 * util/i386/pc/grub-install.in: If `--debug' is specified,
42811 pass `--verbose' to grub-setup.
42812 Abort script if make_system_path_relative_to_its_root() fails.
42813
7810e747 428142008-07-24 Bean <bean123ch@gmail.com>
42815
42816 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42817 variable `target_platform' should be `platform'.
42818
42290e17 428192008-07-24 Bean <bean123ch@gmail.com>
42820
51cc5193 42821 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42822 (grub_png_init_fixed_block): New function.
42823 (grub_png_decode_image_data): Handle fixed huffman code compression.
42824
2a8a80e4 428252008-07-24 Bean <bean123ch@gmail.com>
42826
42827 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42828 (grub_pe2elf_SOURCES): New macro.
42829 (CLEANFILES): Add grub-pe2elf.
42830
42831 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42832 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42833 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42834 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42835 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42836 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42837 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42838 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42839 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42840 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42841 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42842 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42843 (GRUB_PE32_DT_FUNCTION): Likewise.
42844 (GRUB_PE32_REL_I386_DIR32): Likewise.
42845 (GRUB_PE32_REL_I386_REL32): Likewise.
42846 (grub_pe32_symbol): New structure.
42847 (grub_pe32_reloc): Likewise.
42848
42849 * util/grub-pe2elf.c: New file.
42850
42851 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42852 start symbol in non pc platform.
42853
42854 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
42855
42856 The following patches are from Christian Franke.
42857
42858 * include/grub/dl.h: Remove .previous, gas supports this only
42859 for ELF format.
42860
42861 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
42862 Remove .type, gas supports this only for ELF format.
42863
42864 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
42865 nullbytes in symbol table. This fixes an infinite loop if table is
42866 zero filled.
42867
42868 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
42869 TARGET_IMG_LDFLAGS and EXEEXT.
42870
42871 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
42872 TARGET_IMG_LDFLAGS_AC.
42873 (grub_CHECK_STACK_ARG_PROBE): New function.
42874
42875 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
42876
42877 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
42878
42879 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
42880 to set TARGET_IMG_LD* accordingly.
42881 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
42882 Add call to grub_CHECK_STACK_ARG_PROBE.
42883 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
42884
42885 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
42886
42887 * genmk.rb: Add EXEEXT to CLEANFILES.
42888
12ccdb75 428892008-07-23 Robert Millan <rmh@aybabtu.com>
42890
42891 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
42892 define the codes for arrows and lines used for the menu).
42893 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
42894 as well.
42895
42896 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
42897 fonts, because the latter are too slow.
42898
18eeaf04 428992008-07-21 Bean <bean123ch@gmail.com>
42900
42901 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
42902 a20. Run keyboard test last, as it will cause macbook to halt.
42903
b095e2ad 429042008-07-18 Pavel Roskin <proski@gnu.org>
42905
42906 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
42907 load foreign architecture modules correctly anyway. Keep
42908 support for loading host architecture modules, whether we
42909 compile them or not.
42910
737feb35 429112008-07-17 Pavel Roskin <proski@gnu.org>
42912
3f4ce737 42913 * configure.ac: Use -m32 or -m64 regardless of whether we had to
42914 change target_cpu. The compiler default can mismatch target_cpu
42915 in any case.
42916
4ad2d049 42917 * disk/efi/efidisk.c: Fix format warnings on x86_64.
42918 * kern/efi/efi.c: Likewise.
42919
f6130a12 42920 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
42921 target compiler is functional.
42922 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
42923 are set up.
42924
58393a2d 42925 * configure.ac: Default to efi platform for x86_64-apple. Allow
42926 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
42927 adjustments from the rest, only do them if target is not
42928 explicitly given. Merge other adjustments with the final sanity
42929 check. Remove an extraneous check for supported CPU. Be
42930 specific which CPU and which platform is not supported.
42931
737feb35 42932 * configure.ac: Default to pc platform for x86_64.
42933
546f966a 429342008-07-17 Robert Millan <rmh@aybabtu.com>
42935
42936 Partial LinuxBIOS -> Coreboot rename.
42937
42938 * conf/i386-linuxbios.rmk: Renamed to ...
42939 * conf/i386-coreboot.rmk: ... this.
42940 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
42941 * configure.ac: Accept "coreboot" as input platform (but maintain
42942 compatibility with "linuxbios").
42943 * include/grub/i386/linuxbios: Renamed to ...
42944 * include/grub/i386/coreboot: ... this.
42945
20011694 429462008-07-17 Bean <bean123ch@gmail.com>
42947
42948 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 42949 (appleldr_mod_SOURCE): New variable.
20011694 42950 (appleldr_mod_CFLAGS): Likewise.
42951 (appleldr_mod_LDFLAGS): Likewise.
42952 (pci_mod_SOURCES): Likewise.
42953 (pci_mod_CFLAGS): Likewise.
42954 (pci_mod_LDFLAGS): Likewise.
42955 (lspci_mod_SOURCES): Likewise.
42956 (lspci_mod_CFLAGS): Likewise.
42957 (lspci_mod_LDFLAGS): Likewise.
42958
42959 * conf/x86_64-efi.rmk: New file.
42960
42961 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
42962 macro.
42963 (grub_efidisk_write): Likewise.
42964
42965 * include/efi/api.h (efi_call_0): New macro.
42966 (efi_call_1): Likewise.
42967 (efi_call_2): Likewise.
42968 (efi_call_3): Likewise.
42969 (efi_call_4): Likewise.
42970 (efi_call_5): Likewise.
42971 (efi_call_6): Likewise.
42972
42973 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
42974 grub_rescue_cmd_chainloader.
42975
42976 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
42977 (grub_pe32_optional_header): Change some fields based on i386 or
42978 x86_64 platform.
42979 (GRUB_PE32_PE32_MAGIC): Likewise.
42980
42981 * include/grub/efi/uga_draw.h: New file.
42982
42983 * include/grub/elf.h (STN_ABS): New constant.
42984 (R_X86_64_NONE): Relocation constant for x86_64.
42985 (R_X86_64_64): Likewise.
42986 (R_X86_64_PC32): Likewise.
42987 (R_X86_64_GOT32): Likewise.
42988 (R_X86_64_PLT32): Likewise.
42989 (R_X86_64_COPY): Likewise.
42990 (R_X86_64_GLOB_DAT): Likewise.
42991 (R_X86_64_JUMP_SLOT): Likewise.
42992 (R_X86_64_RELATIVE): Likewise.
42993 (R_X86_64_GOTPCREL): Likewise.
42994 (R_X86_64_32): Likewise.
42995 (R_X86_64_32S): Likewise.
42996 (R_X86_64_16): Likewise.
42997 (R_X86_64_PC16): Likewise.
42998 (R_X86_64_8): Likewise.
42999 (R_X86_64_PC8): Likewise.
43000
43001 * include/grub/i386/efi/pci.h: New file.
43002
43003 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43004 Change it value based on platform.
43005 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43006 (GRUB_E820_RAM): Likewise.
43007 (GRUB_E820_RESERVED): Likewise.
43008 (GRUB_E820_ACPI): Likewise.
43009 (GRUB_E820_NVS): Likewise.
43010 (GRUB_E820_EXEC_CODE): Likewise.
43011 (GRUB_E820_MAX_ENTRY): Likewise.
43012 (grub_e820_mmap): New structure.
43013 (linux_kernel_header): Change the efi field according to different
43014 kernel version, also field from linux_kernel_header.
43015
43016 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43017
43018 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43019 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43020 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43021 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43022 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43023 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43024 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43025 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43026 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43027 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43028
43029 * include/grub/x86_64/efi/kernel.h: New file.
43030
43031 * include/grub/x86_64/efi/loader.h: Likewise.
43032
43033 * include/grub/x86_64/efi/machine.h: Likewise.
43034
43035 * include/grub/x86_64/efi/pci.h: Likewise.
43036
43037 * include/grub/x86_64/efi/time.h: Likewise.
43038
43039 * include/grub/x86_64/linux.h: Likewise.
43040
43041 * include/grub/x86_64/setjmp.h: Likewise.
43042
43043 * include/grub/x86_64/time.h: Likewise.
43044
43045 * include/grub/x86_64/types.h: Likewise.
43046
43047 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43048 GRUB_TARGET_SIZEOF_VOID_P.
43049
43050 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43051 (grub_efi_locate_handle): Likewise.
43052 (grub_efi_open_protocol): Likewise.
43053 (grub_efi_set_text_mode): Likewise.
43054 (grub_efi_stall): Likewise.
43055 (grub_exit): Likewise.
43056 (grub_reboot): Likewise.
43057 (grub_halt): Likewise.
43058 (grub_efi_exit_boot_services): Likewise.
43059 (grub_get_rtc): Likewise.
43060
43061 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43062 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43063 (grub_efi_allocate_pages): Wrap efi calls.
43064 (grub_efi_free_pages): Wrap efi calls.
43065 (grub_efi_get_memory_map): Wrap efi calls.
43066
43067 * kern/x86_64/dl.c: New file.
43068
43069 * kern/x86_64/efi/callwrap.S: Likewise.
43070
43071 * kern/x86_64/efi/startup.S: Likewise.
43072
43073 * loader/efi/appleloader.c: Likewise.
43074
43075 * loader/efi/chainloader.c (cmdline): New variable.
43076 (grub_chainloader_unload): Wrap efi calls.
43077 (grub_chainloader_boot): Likewise.
43078 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43079 command line.
43080
43081 * loader/efi/chainloader_normal.c (chainloader_command):
43082 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43083 command line.
43084
43085 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43086 method.
43087 (grub_e820_add_region): New function.
43088 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43089 booting.
43090 (grub_find_video_card): New function.
43091 (grub_linux_setup_video): New function.
43092 (grub_rescue_cmd_linux): Probe for video information.
43093
43094 * normal/x86_64/setjmp.S: New file.
43095
43096 * term/efi/console.c (map_char): New function.
43097 (grub_console_putchar): Map unicode char.
43098 (grub_console_checkkey): Wrap efi calls.
43099 (grub_console_getkey): Likewise.
43100 (grub_console_getwh): Likewise.
43101 (grub_console_gotoxy): Likewise.
43102 (grub_console_cls): Likewise.
43103 (grub_console_setcolorstate): Likewise.
43104 (grub_console_setcursor): Likewise.
43105
43106 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43107
59652a20 431082008-07-16 Pavel Roskin <proski@gnu.org>
43109
ef294055 43110 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43111 format strings.
43112
59652a20 43113 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43114 pointer, not an integer. This fixes a warning and prevents
43115 precision loss on 64-bit systems.
43116 (relocate_addresses): Remove unneeded cast.
43117
afc3b5d7 431182008-07-15 Pavel Roskin <proski@gnu.org>
43119
506b2b3e 43120 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43121
62ead89c 43122 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43123
c4cd51d7 43124 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43125 Fix comparison between signed and unsigned.
43126
0d3d8f28 43127 * include/grub/i386/ieee1275/console.h: Declare
43128 grub_console_init() and grub_console_fini().
43129
8804b286 43130 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43131 It's empty and unused.
43132
ee01cf35 43133 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43134 beginning to avoid warnings with some compilers.
43135
afc3b5d7 43136 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43137 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43138
e4e8eaa5 431392008-07-14 Pavel Roskin <proski@gnu.org>
43140
407aceb4 43141 * kern/env.c (grub_register_variable_hook): Don't copy empty
43142 string, it leaks memory. Pass "" to grub_env_set(), it should
43143 handle constant strings.
43144
e4e8eaa5 43145 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43146 * commands/cmp.c (grub_cmd_cmp): Likewise.
43147 * kern/dl.c (grub_dl_flush_cache): Likewise.
43148 (grub_dl_load_core): Likewise.
43149 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43150 (grub_elf64_load_phdrs): Likewise.
43151
d4e2dad3 431522008-07-13 Pavel Roskin <proski@gnu.org>
43153
43154 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43155 between signed and unsigned.
43156 (LzmaEnc_Finish): Fix warning about an unused parameter.
43157
aa24b516 431582008-07-13 Bean <bean123ch@gmail.com>
43159
43160 * Makefile.in (enable_lzo): New rule.
43161
43162 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43163
43164 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43165
43166 * boot/i386/pc/lnxboot.S: #include <config.h>.
43167
43168 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43169 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43170
43171 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43172 compression algorithm according to configure macro.
43173
43174 * kern/i386/pc/startup.S (codestart): Likewise.
43175
43176 * kern/i386/pc/lzma_decode.S: New file.
43177
43178 * include/grub/lib/LzFind.h: Likewise.
43179
43180 * include/grub/lib/LzHash.h: Likewise.
43181
43182 * include/grub/lib/LzmaDec.h: Likewise.
43183
43184 * include/grub/lib/LzmaEnc.h: Likewise.
43185
43186 * include/grub/lib/LzmaTypes.h: Likewise.
43187
43188 * lib/LzFind.c: Likewise.
43189
43190 * lib/LzmaDec.c: Likewise.
43191
43192 * lib/LzmaEnc.c: Likewise.
43193
4ae821ac 431942008-07-13 Bean <bean123ch@gmail.com>
43195
43196 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43197 (grub_ext4_extent_header): New structure.
43198 (grub_ext4_extent): Likewise.
43199 (grub_ext4_extent_idx): Likewise.
43200 (grub_ext4_find_leaf): New function.
43201 (grub_ext2_read_block): Handle extents.
43202
9a745147 432032008-07-12 Robert Millan <rmh@aybabtu.com>
43204
43205 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43206
d49a4cf6 432072008-07-11 Robert Millan <rmh@aybabtu.com>
43208
43209 * util/grub.d/40_custom.in: New file. Example on how to add custom
43210 entries to /etc/grub.d.
43211 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43212 40_custom (implicitly, by merging all the grub.d rules).
43213
947414b4 432142008-07-11 Pavel Roskin <proski@gnu.org>
43215
0059cf6f 43216 * commands/read.c (grub_getline): Fix invalid memory access.
43217 Don't add newline to the variable value.
43218
947414b4 43219 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43220 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43221 (serial_hw_get_port): Check validity of the port number.
43222 (grub_cmd_serial): Check return value of serial_hw_get_port().
43223
62a02d00 432242008-07-07 Pavel Roskin <proski@gnu.org>
43225
43226 * boot/i386/pc/diskboot.S (notification_string): Replace
43227 "Loading kernel" with just "loading". This is shorter, less
43228 confusing and saves a few bytes for possible future changes.
43229
3e5581b0 432302008-07-05 Pavel Roskin <proski@gnu.org>
43231
ea387a48 43232 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43233 size for ATAPI devices, they are undefined. Output sector
43234 number in decimal form.
43235
3e5581b0 43236 * disk/ata.c: Use named constants for status bits.
43237
fdecb8fd 432382008-07-04 Pavel Roskin <proski@gnu.org>
43239
bcd35b90 43240 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43241 grub_addr_t before casting it to the void pointer to fix a
43242 warning. Non-addressable regions are discarded earlier.
43243 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43244 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43245 (check_signature): Don't shadow table_header.
43246 (grub_linuxbios_table_iterate): Cast numeric constants to
43247 grub_linuxbios_table_header_t.
43248 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43249 grub_stop().
43250
af58ab3d 43251 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43252 prevent warnings.
43253
1759aa57 43254 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43255 pointer, which can cause warnings. Support 64-bit addresses.
43256
fdecb8fd 43257 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43258 of sizeof(long). This fixes PowerPC image generation on x86_64.
43259
8516d2a8 432602008-07-04 Robert Millan <rmh@aybabtu.com>
43261
43262 This fixes a performance issue when pc & gpt partmap iterators
43263 didn't abort iteration even after our hook found what it was
fe987087 43264 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43265
43266 Some callers relied on previous buggy behaviour, since they would
34c44600 43267 raise an error when their own hooks caused early abortion of its
8516d2a8 43268 iteration.
43269
43270 * kern/device.c (grub_device_open): Improve error message.
43271 * disk/lvm.c (grub_lvm_open): Likewise.
43272 * disk/raid.c (grub_raid_open): Likewise.
43273
43274 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43275 when hook requests it, independently of grub_errno.
43276 (pc_partition_map_probe): Do not fail when find_func() caused
43277 early abortion of pc_partition_map_iterate().
43278
43279 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43280 when hook requests it, independently of grub_errno.
43281 (gpt_partition_map_probe): Do not fail when find_func() caused
43282 early abortion of gpt_partition_map_iterate().
43283
43284 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43285 when hook requests it, independently of grub_errno. Do not fail when
43286 part_map_iterate_hook() caused early abortion of p->iterate().
43287
43288 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43289 when grub_partition_iterate() returned with non-zero.
43290
277d0de9 432912008-07-03 Pavel Roskin <proski@gnu.org>
43292
43293 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43294 like we do in grub_ata_pio_read().
43295 (grub_ata_readwrite): Always write individual sectors. Fix the
43296 sector count for the remainder.
43297 (grub_ata_write): Enable writing to ATA devices. Correctly
43298 report error for ATAPI devices.
43299
d4c9b428 433002008-07-02 Pavel Roskin <proski@gnu.org>
43301
e43fc690 43302 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43303 warning.
43304
f707af42 43305 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43306 for every read sector, we already increment it for the whole
43307 batch. This fixes reading more than 256 sectors at once.
43308
11e16b15 43309 * util/grub-editenv.c (cmd_info): Cast argument to long
43310 explicitly. ptrdiff_t reduces to int on i386.
43311
cbabfdd4 43312 * util/grub-editenv.c (main): Be specific which parameter is
43313 missing.
43314
b8fbce0a 43315 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43316 (memdisk): Make memdisk_orig_addr a pointer.
43317
c9c8e606 43318 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43319 for file offsets, use grub_off_t instead. Fix printf format
43320 warnings.
43321
ca62e598 43322 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43323 there. Real unexpected warnings should not drown in the noise
43324 about known problems.
43325
ce8d1766 43326 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43327 grub_disk_addr_t for memory addresses.
43328
00c7a56a 43329 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43330 explicitly to fix a warning.
43331
08d3ef09 43332 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43333
cb71ba20 43334 * Makefile.in (MODULE_LDFLAGS): New variable.
43335 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43336 the linker accepts --build-id=none.
43337 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43338 MODULE_LDFLAGS.
43339 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43340
d4c9b428 43341 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43342 those in Linux XFS code. Provide a way to access 64-bit parent
43343 inode.
43344 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43345 the end of struct grub_xfs_dir_header.
43346
d4156eee 433472008-07-02 Bean <bean123ch@gmail.com>
43348
43349 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43350 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43351 and GRUB_IEEE1275_FLAG_NO_ANSI.
43352
43353 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43354 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43355 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43356
43357 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43358 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43359
43360 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43361 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43362
43363 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43364 esc sequence on non ANSI terminal.
43365 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43366
43367 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43368 beginning of file.
43369
2270f77b 433702008-07-02 Bean <bean123ch@gmail.com>
43371
43372 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43373 (grub_editenv_SOURCES): New variable.
43374 (pkglib_MODULES): Add loadenv.mod.
43375 (loadenv_mod_SOURCES): New variable.
43376 (loadenv_mod_CFLAGS): Likewise.
43377 (loadenv_mod_LDFLAGS): Likewise.
43378
43379 * include/grub/envblk.h: New file.
43380
43381 * util/envblk.c: New file.
43382
43383 * util/grub-editenv.c: New file.
43384
43385 * commands/loadenv.c: New file.
43386
0e9e51ec 433872008-07-01 Pavel Roskin <proski@gnu.org>
43388
d89b7634 43389 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43390 not unsigned char. This fixes warnings and is consistent with
43391 other tags.
43392
bf1835b1 43393 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43394
8222a04b 43395 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43396
6a42d99d 43397 * term/tparm.c (analyze): Always set *popcount.
43398
10b159d1 43399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43400 cast to fix a warning.
43401
b8789f6c 43402 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43403 cast to suppress a warning.
43404
29d7e38a 43405 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43406 grub_fshelp_read_file() expects.
43407
f341f669 43408 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43409 write uuid as a 32-bit value in CPU byte order, so declare and
43410 use it as such.
43411
0e9e51ec 43412 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43413 long if the format specifier expects it.
43414 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43415 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43416 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43417 long to fix a warning.
43418 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43419 grub_dprintf() arguments to fix warnings.
43420
3aefa857 434212008-06-30 Pavel Roskin <proski@gnu.org>
43422
56c7668b 43423 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43424 install_bsd_part immediately before core.img is embedded or
43425 modified on disk. This fixes core.img verification if core.img
43426 cannot be embedded.
43427
3aefa857 43428 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43429 core_path to calculate the blocklist.
43430 Patch from Javier Martín <lordhabbit@gmail.com>
43431
5444088d 434322008-06-29 Robert Millan <rmh@aybabtu.com>
43433
43434 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43435 block to disk block.
43436 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43437 Patch from Niels Böhm <bitbucket@arcor.de>
43438
674835c8 434392008-06-29 Robert Millan <rmh@aybabtu.com>
43440
43441 * util/update-grub_lib.in (font_path): Search for fonts in
43442 /boot/grub first, which is more likely to be readable (we aren't
43443 deciding where fonts live, just looking for them).
43444
f527dbc8 434452008-06-26 Pavel Roskin <proski@gnu.org>
43446
6c2d8df6 43447 * util/biosdisk.c (read_device_map): Don't leave dead map
43448 entries for devices failing stat() check.
43449
f527dbc8 43450 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43451 core_path_dev for the core.img path on the target device.
43452
aebe3d13 434532008-06-26 Robert Millan <rmh@aybabtu.com>
43454
43455 * disk/fs_uuid.c: New file.
43456 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43457 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43458 (fs_uuid_mod_LDFLAGS): New variables.
43459 * include/grub/disk.h (grub_disk_dev_id): Add
43460 `GRUB_DISK_DEVICE_UUID_ID'.
43461 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43462 implement iterate().
43463
37aaf354 434642008-06-26 Robert Millan <rmh@aybabtu.com>
43465
43466 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43467 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43468 Linux image includes no initrd.
43469
25ff262a 434702008-06-21 Javier Martín <lordhabbit@gmail.com>
43471
43472 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43473 call to resolve the core image location that effectively appended the
43474 name twice.
43475
76a2bd44 434762008-06-21 Robert Millan <rmh@aybabtu.com>
43477
43478 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43479 call from here ...
43480
43481 * util/grub.d/10_hurd.in: ... to here ...
43482 * util/grub.d/10_linux.in: ... and here.
43483
650e1c79 434842008-06-19 Robert Millan <rmh@aybabtu.com>
43485
fe987087 43486 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43487 after it has been set by grub_machine_set_prefix().
43488
6ce63911 434892008-06-19 Robert Millan <rmh@aybabtu.com>
43490
43491 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43492 search result when not saving to variable, not the other way around.
43493 When saving to variable, abort iteration as soon as a match is found.
43494
73940cec 434952008-06-19 Robert Millan <rmh@aybabtu.com>
43496
43497 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43498 check for partition that provides /boot/grub. Its logic is flawed,
43499 as it prevents prepare_grub_to_access_device() from being called
43500 multiple times.
43501
3c62a39d 435022008-06-19 Robert Millan <rmh@aybabtu.com>
43503
43504 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43505 "insmod" command directly when abstraction modules are needed,
fe987087 43506 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43507 since it had already been processed).
43508
47395a42 435092008-06-19 Pavel Roskin <proski@gnu.org>
43510
43511 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43512 changed. This is needed in case GRUB_LIBDIR changes.
43513 * conf/i386-ieee1275.rmk: Likewise.
43514 * conf/i386-linuxbios.rmk: Likewise.
43515 * conf/i386-pc.rmk: Likewise.
43516 * conf/powerpc-ieee1275.rmk: Likewise.
43517
a145ac2d 435182008-06-18 Pavel Roskin <proski@gnu.org>
43519
43520 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43521 kernel_elf_symlist.c to symlist.c for consistency with other
43522 architectures. Update all users.
43523 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43524
7847c51e 435252008-06-18 Robert Millan <rmh@aybabtu.com>
43526
43527 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43528 it in prefix.
43529
43530 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43531 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43532 a RAID device, run setup() for all members independently on whether
43533 LVM abstraction is being used.
43534 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43535 If grub-mkimage has set `*install_dos_part == -2', don't override this
43536 value.
43537 Perform *install_dos_part adjustments independently on whether
43538 we're embedding or not.
43539 Clarify error message when image is too big for embedding.
43540 Remove duplicate *install_dos_part stanza.
43541
b23e5644 435422008-06-17 Robert Millan <rmh@aybabtu.com>
43543
43544 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43545 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43546 variables.
43547 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43548 values in grub_ofconsole_normal_color and
43549 grub_ofconsole_highlight_color (they're not directly related to
43550 background and foreground).
43551 (grub_ofconsole_setcolorstate): Extract background and foreground
43552 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43553
0aac2f79 435542008-06-17 Robert Millan <rmh@aybabtu.com>
43555
43556 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43557 /boot/grub for the check in last commit, not /boot (they could be
43558 different partitions).
43559
3cca7ef3 435602008-06-16 Robert Millan <rmh@aybabtu.com>
43561
43562 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43563 asked to setup access for the same partition that provides /boot,
43564 don't bother using UUIDs since our root already has the value we
43565 want.
43566
347396d8 435672008-06-16 Robert Millan <rmh@aybabtu.com>
43568
43569 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43570 I2O devices.
43571 Patch from Sven Mueller <sven@debian.org>.
43572
991477f8 435732008-06-16 Robert Millan <rmh@aybabtu.com>
43574
43575 * util/update-grub.in: Check for $EUID instead of $UID.
43576 Reported by Vincent Zweije.
43577
d31a32a1 435782008-06-16 Bean <bean123ch@gmail.com>
43579
fe987087 43580 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43581 (grub_ext2_read_block): Likewise.
43582 (grub_ext2_read_inode): Likewise.
43583 (grub_ext2_mount): Likewise.
43584 (grub_ext2_close): Likewise.
43585 (grub_ext3_get_journal): Removed.
43586
fe987087 43587 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43588 (grub_reiserfs_read_symlink): Likewise.
43589 (grub_reiserfs_mount): Likewise.
43590 (grub_reiserfs_open): Likewise.
43591 (grub_reiserfs_read): Likewise.
43592 (grub_reiserfs_close): Likewise.
43593 (grub_reiserfs_get_journal): Removed.
43594
43595 * fs/fshelp.c (grub_fshelp_read): Removed.
43596 (grub_fshelp_map_block): Likewise.
43597
43598 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43599 (grub_fshelp_journal): Likewise.
43600 (grub_fshelp_read): Likewise.
43601 (grub_fshelp_map_block): Likewise.
43602
3540a760 436032008-06-16 Pavel Roskin <proski@gnu.org>
43604
43605 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43606 floating point anymore.
43607 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43608
95614c84 436092008-06-15 Pavel Roskin <proski@gnu.org>
43610
43611 * commands/ls.c (grub_ls_list_files): Use integer calculations
43612 for human readable format, avoid floating point use.
43613 * kern/misc.c (grub_ftoa): Remove.
43614 (grub_vsprintf): Remove floating point support.
43615
50465dd6 436162008-06-15 Robert Millan <rmh@aybabtu.com>
43617
fe6b695a 43618 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43619 devices.
43620 Reported by Max Vozeler.
43621
a9207284 436222008-06-15 Robert Millan <rmh@aybabtu.com>
43623
43624 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43625 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43626 skipped later.
43627 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43628 the beginning of the prefix.
43629
43630 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43631 It is assumed that if we have a memdisk, grub-mkimage has set
43632 grub_prefix to include the "(memdisk)" drive in it.
43633
a7cbd45a 436342008-06-15 Robert Millan <rmh@aybabtu.com>
43635
43636 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43637 Initialize keyboard controller after registering the terminal, so that
43638 grub_printf() can be called from grub_keyboard_controller_init().
43639
21cf716a 436402008-06-15 Robert Millan <rmh@aybabtu.com>
43641
43642 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43643 extent-btree which is written as big endian on disk.
43644 Reported by Alain Greppin <al@chilibi.org>.
43645
23a64d8e 436462008-06-14 Robert Millan <rmh@aybabtu.com>
43647
43648 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43649 * util/i386/pc/grub-install.in (modules): Likewise.
43650
d687651c 436512008-06-13 Pavel Roskin <proski@gnu.org>
43652
43653 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43654
dfe9ddd4 436552008-06-13 Bean <bean123ch@gmail.com>
43656
43657 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43658
43659 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43660
43661 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43662 to indicate sparse block.
43663
16ae7781 436642008-06-12 Pavel Roskin <proski@gnu.org>
43665
e6d1a308 43666 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43667 number, grub_fshelp_read() does it for us.
43668
16ae7781 43669 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43670 linear disk read with journal translation.
43671 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43672 * include/grub/fshelp.h: Declare grub_fshelp_read().
43673
40fd3a2b 436742008-06-09 Pavel Roskin <proski@gnu.org>
43675
43676 * fs/minix.c (grub_minix_mount): Handle error reading
43677 superblock.
43678
f5679726 436792008-06-08 Robert Millan <rmh@aybabtu.com>
43680
43681 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43682 don't append the RAID prefix afterwards.
43683 Reported by Clint Adams.
43684
ce525529 436852008-06-08 Robert Millan <rmh@aybabtu.com>
43686
43687 Based on description from Pavel:
43688 * kern/disk.c (grub_disk_check_range): Rename to ...
43689 (grub_disk_adjust_range): ... this. Add a comment explaining the
43690 tasks performed by this function.
43691
ad4936a0 436922008-06-08 Robert Millan <rmh@aybabtu.com>
43693
43694 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43695 `num_serial' (for consistency with other variables).
43696 (struct grub_ntfs_data): Add `uuid' member.
43697 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43698 (grub_ntfs_uuid): New function.
43699 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43700
dc20b0f9 437012008-06-07 Pavel Roskin <proski@gnu.org>
43702
43703 * util/biosdisk.c (open_device): Revert last change to the
43704 function, it broke installation. The sector needs to be
43705 different dependent on which device is opened.
43706
c5e3cfba 437072008-06-06 Robert Millan <rmh@aybabtu.com>
43708
43709 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43710 rest of GRUB, and breakage doesn't happen if its value were modified.
43711
43712 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43713 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43714 a constant (same value).
43715 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43716 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43717
26a1f8c4 437182008-06-06 Robert Millan <rmh@aybabtu.com>
43719
43720 * util/biosdisk.c (open_device): Do not modify sector offset when
43721 accessing a partition. kern/disk.c already handles this for us.
43722
25d6b327 437232008-06-06 Robert Millan <rmh@aybabtu.com>
43724
43725 * util/grub-emu.c (grub_machine_init): Move code in this function from
43726 here ...
43727 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43728 segfault in case grub_printf() is called).
43729
43730 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43731 grub_probe. Update all users not to explicitly add it again.
43732 (grub_device): New variable; contains corresponding device for grubdir.
43733 (fs_module, partmap_module, devabstraction_module): Pass
43734 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43735 every time.
43736
9ece62fb 437372008-06-05 Robert Millan <rmh@aybabtu.com>
43738
43739 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43740 is found, print it (same layout as with labels).
43741
1ad36d37 437422008-06-04 Robert Millan <rmh@aybabtu.com>
43743
43744 * util/biosdisk.c (get_drive): Rename to ...
43745 (find_grub_drive): ... this. Update all users.
43746
43747 (get_os_disk): Rename to ...
43748 (convert_system_partition_to_system_disk): ... this. Update all users.
43749
43750 (find_drive): Rename to ...
43751 (find_system_device): ... this. Update all users.
43752
e6a30859 437532008-06-04 Robert Millan <rmh@aybabtu.com>
43754
43755 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43756 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43757 (make_device_map): Likewise.
43758
00c108a4 437592008-06-01 Robert Millan <rmh@aybabtu.com>
43760
43761 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43762 before dereferencing it.
43763
43764 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43765 union with fat12/fat16-specific ones. Add some new fields, including
43766 `num_serial' for both versions.
43767 (struct grub_fat_data): Add `uuid' member.
43768 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43769 names. Initialize `data->uuid' using `num_serial'.
43770 (grub_fat_uuid): New function.
43771 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43772
43773 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43774 (grub_reiserfs_uuid): New function.
43775 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43776 member.
43777
43778 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43779 (grub_xfs_uuid): New function.
43780 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43781
1385c5bb 437822008-06-01 Robert Millan <rmh@aybabtu.com>
43783
43784 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43785 code that is backward compatible with pre-uuid search command.
43786
c682dfd7 437872008-05-31 Robert Millan <rmh@aybabtu.com>
43788
43789 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43790 floppies after everything else, to ensure floppy drive isn't accessed
43791 unnecessarily (patch from Bean).
43792
b7db5d47 437932008-05-31 Robert Millan <rmh@aybabtu.com>
43794
43795 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43796 not print device names when we were asked to set a variable.
43797
6e037aa9 437982008-05-31 Robert Millan <rmh@aybabtu.com>
43799
43800 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43801 using "cursor-on" and "cursor-off" commands (understood at least by
43802 the Open Firmware flavour on OLPC).
43803
41305bc8 438042008-05-31 Michael Gorven <michael@gorven.za.net>
43805
43806 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43807 on and off sequences.
43808
69ba137e 438092008-05-31 Robert Millan <rmh@aybabtu.com>
43810
43811 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43812 * util/update-grub.in: Likewise.
43813
520ae21b 438142008-05-30 Pavel Roskin <proski@gnu.org>
43815
43816 * util/biosdisk.c (linux_find_partition): Simplify logic and
43817 make the code more universal. Keep special processing for
43818 devfs, but use a simple rule for all other devices. If the
43819 device ends with a number, append 'p' and the partition number.
43820 Otherwise, append only the partition number.
43821
5786569b 438222008-05-30 Robert Millan <rmh@aybabtu.com>
43823
43824 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43825 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43826 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43827 the `root' parameter to Linux.
43828
51500452 438292008-05-30 Robert Millan <rmh@aybabtu.com>
43830
43831 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43832 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43833 --fs_uuid with --fs-uuid.
43834 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43835 all filesystems support them).
43836
811d3878 438372008-05-30 Robert Millan <rmh@aybabtu.com>
43838
43839 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43840 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43841
cab63c95 438422008-05-30 Robert Millan <rmh@aybabtu.com>
43843
43844 * util/grub.d/00_header.in: Remove obsolete comment referencing
43845 convert_system_path_to_grub_path().
43846 * util/update-grub.in: Likewise.
43847 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43848 (convert_system_path_to_grub_path): Add a warning message explaining
43849 that this function is deprecated. Rely on is_path_readable_by_grub()
43850 for the readability checks.
43851 (font_path): Use is_path_readable_by_grub() for the readability
43852 check rather than convert_system_path_to_grub_path().
43853
972e2f7a 438542008-05-30 Robert Millan <rmh@aybabtu.com>
43855
43856 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
43857 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
43858 converting it first.
43859 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
43860 grub.cfg for access to font file, and afterwards call it again to set
43861 the root device.
43862
62191274 438632008-05-30 Robert Millan <rmh@aybabtu.com>
43864
43865 * commands/search.c (options): Add --fs_uuid option.
43866 (search_fs_uuid): New function.
43867 (grub_cmd_search): Fix --set argument passing.
43868 Use search_fs_uuid() when requested via --fs_uuid.
43869 (grub_search_init): Update help message.
43870 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
43871 and redeclare it as an array of 16-bit words.
43872 (grub_ext2_uuid): New function.
43873 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
43874 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
43875 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
43876 (GRUB_DEVICE_BOOT_UUID): New variables.
43877 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
43878 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
43879 whenever possible.
43880 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
43881 just assume `root' variable has the right value.
43882 * util/grub.d/10_linux.in: Likewise.
43883 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
43884 via PRINT_FS_UUID.
43885 (main): Recognise `-t fs_uuid' argument.
43886
01b73ec8 438872008-05-30 Robert Millan <rmh@aybabtu.com>
43888
43889 * util/biosdisk.c (map): Redefine structure to hold information
43890 about GRUB drive name.
fe6b695a 43891 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 43892 drive names.
43893 (call_hook): Remove.
43894 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
43895 member. Assume drive has partitions.
43896 (grub_util_biosdisk_open): Access device names via `.device' struct
43897 member.
43898 (open_device): Likewise.
43899 (find_drive): Likewise.
43900 (read_device_map): Adjust map[] usage to match the new struct
43901 definition. Don't check for duplicates (still possible, but not cheap
43902 anymore).
43903 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
43904 (make_device_name): Remove assumption of BIOS-like drive names.
43905
22f16596 439062008-05-30 Pavel Roskin <proski@gnu.org>
43907
43908 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
43909 compiling execute.c doesn't need grub_script.tab.h anymore.
43910 (normal/command.c_DEPENDENCIES): Likewise.
43911 (normal/function.c_DEPENDENCIES): Likewise.
43912 * conf/i386-ieee1275.rmk: Likewise.
43913 * conf/i386-linuxbios.rmk: Likewise.
43914 * conf/i386-pc.rmk: Likewise.
43915 * conf/powerpc-ieee1275.rmk: Likewise.
43916 * conf/sparc64-ieee1275.rmk: Likewise.
43917
528ad8f2 439182008-05-29 Pavel Roskin <proski@gnu.org>
43919
d1dff95d 43920 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
43921 when scanning metadata for volume group name.
43922
528ad8f2 43923 * include/grub/script.h: Don't include grub_script.tab.h. It's
43924 a generated file, which may only be included from the files with
43925 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
43926 use union YYSTYPE, as the later allows forward declaration.
43927 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
43928
47248e08 439292008-05-29 Robert Millan <rmh@aybabtu.com>
43930
43931 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
43932 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
43933 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
43934 (grub_console_checkkey): Add grub_dprintf() call to report unknown
43935 scan codes.
43936
ee632529 439372008-05-29 Robert Millan <rmh@aybabtu.com>
43938
43939 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
43940 control key combinations.
43941
eee96e08 439422008-05-29 Robert Millan <rmh@aybabtu.com>
43943
43944 * util/powerpc/ieee1275/grub-install.in: Move from here ...
43945 * util/ieee1275/grub-install.in: ... to here.
43946 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
43947 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
43948 (grub_install_SOURCES): Likewise.
43949
da9a6a94 439502008-05-29 Robert Millan <rmh@aybabtu.com>
43951
43952 * fs/affs.c: Update copyright year.
43953 * fs/ext2.c: Likewise.
43954 * fs/fshelp.c: Likewise.
43955 * fs/hfsplus.c: Likewise.
43956 * fs/ntfs.c: Likewise.
43957 * fs/xfs.c: Likewise.
43958 * include/grub/fshelp.h: Likewise.
43959 * util/grub-mkdevicemap.c: Likewise.
43960
12e65f3a 439612008-05-28 Robert Millan <rmh@aybabtu.com>
43962
43963 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
43964 might need to be fatfs to support some firmware implementations
43965 (e.g. OFW or EFI).
43966
23023641 439672008-05-28 Robert Millan <rmh@aybabtu.com>
43968
43969 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
43970 devices.
43971 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43972 (make_device_map): Likewise.
43973
887d2619 439742008-05-20 Bean <bean123ch@gmail.com>
43975
43976 * fs/fshelp.c (grub_fshelp_map_block): New function.
43977 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
43978 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
43979
43980 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
43981 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
43982 (grub_fshelp_journal): New structure.
43983 (grub_fshelp_map_block): New function prototype.
43984 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
43985 (grub_fshelp_map_block): Likewise.
43986
43987 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
43988 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
43989 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
43990 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
43991 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
43992 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
43993 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
43994 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
43995 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
43996 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
43997 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
43998 (grub_ext2_sblock): New members for journal support.
43999 (grub_ext3_journal_header): New structure.
44000 (grub_ext3_journal_revoke_header): Likewise.
44001 (grub_ext3_journal_block_tag): Likewise.
44002 (grub_ext3_journal_sblock): Likewise.
44003 (grub_fshelp_node): New members logfile and journal.
44004 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44005 grub_fshelp_map_block to get real block number.
44006 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44007 number.
44008 (grub_ext2_read_inode): Likewise.
44009 (grub_ext3_get_journal): New function.
44010 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44011 (grub_ext2_close): Release memory used by journal.
44012
44013 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44014 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44015 (grub_reiserfs_transaction_header): Renamed to
44016 grub_reiserfs_description_block, replace field data with real_blocks.
44017 (grub_reiserfs_commit_block): New structure.
44018 (grub_reiserfs_data): New member journal.
44019 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44020 number.
44021 (grub_reiserfs_read_symlink): Likewise.
44022 (grub_reiserfs_iterate_dir): Likewise.
44023 (grub_reiserfs_open): Likewise.
44024 (grub_reiserfs_read): Likewise.
44025 (grub_reiserfs_get_journal): New function.
44026 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44027 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44028 using grub_reiserfs_get_journal.
44029 (grub_reiserfs_close): Release memory used by journal.
44030
44031 * fs/affs.c (grub_affs_read_block): Change block type to
44032 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44033
44034 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44035
44036 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44037
44038 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44039
44040 * fs/udf.c (grub_udf_read_block): Change block type to
44041 grub_disk_addr_t. Use type cast to avoid warning.
44042
44043 * fs/xfs.c (grub_xfs_read_block): Likewise.
44044
b7c6bed5 440452008-05-16 Christian Franke <franke@computer.org>
44046
44047 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44048 to ensure that break with ESC will always work.
44049 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44050 Remove ESC from keyboard queue.
44051
eedf167f 440522008-05-16 Christian Franke <franke@computer.org>
44053
44054 * util/biosdisk.c: [__CYGWIN__] Add includes.
44055 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44056 (get_os_disk): Move variable declarations to OS specific
44057 parts to avoid warning.
44058 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44059 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44060 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44061 Cygwin.
44062 * util/getroot.c: [__CYGWIN__] Add includes.
44063 (strip_extra_slashes): Fix "/" case.
44064 [__CYGWIN__] (get_win32_path): New function.
44065 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44066 [__CYGWIN__] (find_root_device): Disable.
44067 [__CYGWIN__] (get_bootsec_serial): New function.
44068 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44069 [__linux__] (grub_guess_root_device): Add early returns to simplify
44070 structure.
44071 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44072 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44073 check for Linux only.
44074
a079699e 440752008-05-15 Bean <bean123ch@gmail.com>
44076
44077 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44078 keyboard hang problem in apple's intel mac.
44079
1cf4059a 440802008-05-09 Robert Millan <rmh@aybabtu.com>
44081
44082 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44083 devices.
44084 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44085 (make_device_map): Likewise.
44086 Reported by Aurelien Jarno <aurel32@debian.org>
44087
ed759390 440882008-05-07 Ian Campbell <ijc@hellion.org.uk>
44089
44090 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44091 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44092 (make_device_map): Output entries for xvd type disks.
44093
b56c4eaa 440942008-05-07 Robert Millan <rmh@aybabtu.com>
44095
44096 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44097 devices.
44098 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44099 (make_device_map): Likewise.
44100 Reported by Roland Dreier <rdreier@cisco.com>
44101
7f8866ed 441022008-05-07 Robert Millan <rmh@aybabtu.com>
44103
44104 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44105 grub_strstr() call. Correct a few mistakes in failure path handling.
44106
b0346e0f 441072008-05-06 Robert Millan <rmh@aybabtu.com>
44108
44109 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44110 Do not print a trailing slash (therefore, the root directory is an
44111 empty string).
44112 (convert_system_path_to_grub_path): Do not remove trailing slash
44113 from make_system_path_relative_to_its_root() output.
44114
44115 * util/i386/pc/grub-install.in: Add trailing slash to output from
44116 make_system_path_relative_to_its_root().
44117
6cf12cbd 441182008-05-06 Robert Millan <rmh@aybabtu.com>
44119
44120 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44121 ensures that output lines aren't intermangled with those sent to
44122 stderr (via grub_util_info()).
44123 * util/grub-probe.c (grub_refresh): Likewise.
44124 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44125
0fbb3117 441262008-05-05 Christian Franke <franke@computer.org>
44127
44128 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44129 Add Cygwin device names.
44130 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44131 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44132 (check_device): Return error instead of success on empty name.
44133 (make_device_map): Move label inside linux specific code to
44134 prevent compiler warning.
44135
8124cdb7 441362008-04-30 Robert Millan <rmh@aybabtu.com>
44137
44138 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44139 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44140 first boot option.
44141 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44142
094c01d0 441432008-04-29 Robert Millan <rmh@aybabtu.com>
44144
44145 * docs/grub.cfg: New file (example GRUB configuration).
44146
f4b1fc02 441472008-04-26 Robert Millan <rmh@aybabtu.com>
44148
329ce2a5 44149 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44150 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44151 and `disk/ieee1275/nand.c'.
f4b1fc02 44152
25f16ec1 441532008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44154
25f16ec1 44155 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44156 i386-linuxbios.
44157
44158 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44159 change the buffer size to 4096 for cdrom device.
44160
44161 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44162 and nand.mod.
44163 (_linux_mod_SOURCES): New variable.
44164 (_linux_mod_CFLAGS): Likewise.
44165 (_linux_mod_LDFLAGS): Likewise.
44166 (linux_mod_SOURCES): Likewise.
44167 (linux_mod_CFLAGS): Likewise.
44168 (linux_mod_LDFLAGS): Likewise.
44169 (nand_mod_SOURCES): Likewise.
44170 (nand_mod_CFLAGS): Likewise.
44171 (nand_mod_LDFLAGS): Likewise.
44172
44173 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44174 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44175 type property. (nand device in olpc don't have this property)
44176
44177 * include/grub/disk.h (grub_disk_dev_id): New macro
44178 GRUB_DISK_DEVICE_NAND_ID.
44179
44180 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44181 function prototype.
44182 (grub_rescue_cmd_initrd): Likewise.
44183
44184 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44185 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44186 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44187
25f16ec1 44188 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44189 GRUB_MACHINE_IEEE1275 is defined.
44190
44191 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44192 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44193
44194 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44195 on nested function heap_init.
44196 (grub_upper_mem): New variable for i386-ieee1275.
44197 (grub_get_extended_memory): New function for i386-ieee1275.
44198 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44199
44200 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44201 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44202 property.
f19dbdb7 44203
25f16ec1 44204 * loader/i386/ieee1275/linux.c: New file.
44205
44206 * loader/i386/ieee1275/linux_normal.c: New file.
44207
44208 * disk/ieee1275/nand.c: New file.
44209
e89d61e9 442102008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44211
44212 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44213 value.
44214 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44215
602566f6 442162008-04-18 Robert Millan <rmh@aybabtu.com>
44217
44218 Restructures early code path on ieee1275 to unify grub_main() as
44219 the first C function that is executed in every platform.
44220
44221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44222 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44223 cmain().
44224 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44225 * kern/ieee1275/cmain.c (cmain): Rename to ...
44226 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44227 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44228 at the beginning.
44229
57490c2b 442302008-04-18 Robert Millan <rmh@aybabtu.com>
44231
44232 * util/update-grub.in: Fix syntax error when setting
44233 `GRUB_PRELOAD_MODULES'.
44234 Reported by Stephane Chazelas <stephane@artesyncp.com>
44235
1977517d 442362008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44237
44238 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44239 section into account, newer toolchains generate unique build ids
44240 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44241 we want build ids to be preserved
1977517d 44242 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44243 far from other sections don't cause the raw binary images grow
44244 size
44245
bfb1f1a2 442462008-04-15 Robert Millan <rmh@aybabtu.com>
44247
44248 * disk/lvm.c: Update copyright year.
44249 * kern/misc.c: Likewise.
44250
01979850 442512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44252
44253 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44254 there is no memory left for physical volume name.
01979850 44255
0a1150e2 442562008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44257
44258 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44259 volume name mapping to support bigger than 9 character names properly.
44260
82ead3fe 442612008-04-13 Robert Millan <rmh@aybabtu.com>
44262
44263 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44264 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44265
e54a72f5 442662008-04-13 Christian Franke <franke@computer.org>
44267
44268 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44269 to create a floppy emulation boot CD when non emulation mode
44270 does not work.
44271 Enable Joliet CD filesystem extension.
44272
9fe86034 442732008-04-13 Robert Millan <rmh@aybabtu.com>
44274
44275 * kern/misc.c (grub_strncat): Fix off-by-one error.
44276 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44277
44278 * kern/env.c (grub_env_context_close): Clear current context, not
44279 previous one.
44280 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44281
44282 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44283
7ceeee39 442842008-04-13 Robert Millan <rmh@aybabtu.com>
44285
44286 Improve robustness when handling LVM.
44287
44288 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44289 (and leave `*p' unmodified).
7ceeee39 44290 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44291 through it.
44292 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44293 iterating through it.
44294 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44295 through it.
fe6b695a 44296 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44297 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44298 Don't assume `vg->pvs != NULL' when iterating through it.
44299
58cd3d85 443002008-04-13 Robert Millan <rmh@aybabtu.com>
44301
44302 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44303 * genmk.rb (partmap): New variable.
44304 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44305 (#{partmap}): New target rule.
44306 * genpartmaplist.sh: New file.
44307 * Makefile.in (pkglib_DATA): Add partmap.lst.
44308 (partmap.lst): New target rule.
44309 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44310 modules (including all partition maps), instead of preloading them.
44311
78b51059 443122007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44313
44314 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44315 `linux-boot-prober' (if installed) to detect other operating
44316 systems which are installed on the computer and add them to
44317 the boot menu.
44318 * conf/common.rmk: Build and install 30_os-prober.
44319
a91627b4 443202008-04-12 Robert Millan <rmh@aybabtu.com>
44321
44322 * kern/powerpc/ieee1275/init.c: Move from here ...
44323 * kern/ieee1275/init.c: ... to here. Update all users.
44324
44325 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44326 * kern/ieee1275/cmain.c: ... to here. Update all users.
44327
44328 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44329 * kern/ieee1275/openfw.c: ... to here. Update all users.
44330
44331 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44332 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44333
322562ea 443342008-04-10 Pavel Roskin <proski@gnu.org>
44335
44336 * configure.ac: Always use "_cv_" in cache variables for
44337 compatibility with Autoconf 2.62.
44338
a02a73c5 443392008-04-07 Robert Millan <rmh@aybabtu.com>
44340
44341 Revert grub/machine/init.h addition by Pavel (since it breaks on
44342 i386-ieee1275 and others):
44343 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44344 * util/powerpc/ieee1275/misc.c: Likewise.
44345
25c024b1 443462008-04-07 Robert Millan <rmh@aybabtu.com>
44347
44348 * util/grub-probe.c (probe): Improve error message.
44349
3cbd2f98 443502008-04-07 Robert Millan <rmh@aybabtu.com>
44351
44352 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44353 (this prevents the presence of a bogus entry from ruining the whole
44354 thing).
44355
87a297bf 443562008-04-06 Pavel Roskin <proski@gnu.org>
44357
36747a62 44358 * util/biosdisk.c: Include grub/util/biosdisk.h.
44359 * util/grub-fstest.c (execute_command): Make static.
44360 * util/grub-mkdevicemap.c (check_device): Likewise.
44361 * util/i386/pc/misc.c: Include grub/machine/init.h.
44362 * util/powerpc/ieee1275/misc.c: Likewise.
44363 * util/lvm.c: Include grub/util/lvm.h.
44364 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44365 grub/cache.h.
44366 * util/raid.c: Include grub/util/raid.h.
44367 (grub_util_getdiskname): Make static.
44368
87a297bf 44369 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44370 grub_hostfs_fini(), as they are called from grub_init_all() and
44371 grub_fini_all() respectively. This fixes an infinite loop in
44372 grub-fstest due to double registration of hostfs.
44373 Reported by Christian Franke <Christian.Franke@t-online.de>
44374
f6ce7629 443752008-04-05 Pavel Roskin <proski@gnu.org>
44376
44377 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44378 all 8 functions. Otherwise, probe function 0 only.
44379
070e49e4 443802008-04-04 Pavel Roskin <proski@gnu.org>
44381
8b088a4c 44382 * commands/lspci.c (grub_lspci_iter): Print the bus number
44383 correctly.
44384
4f657021 44385 * commands/lspci.c (grub_pci_classes): Fix typos.
44386 (grub_lspci_iter): Don't print func twice. Print vendor ID
44387 before device ID, as it's normally done.
44388
070e49e4 44389 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44390 Fix signedness warnings.
44391 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44392 Likewise.
44393 * util/ieee1275/get_disk_name.c: Include config.h so that
44394 _GNU_SOURCE is defined and getline() is declared. Mark an
44395 unused argument as such. Fix a signedness warning.
44396
ba7328dc 443972008-04-02 Pavel Roskin <proski@gnu.org>
44398
26887f22 44399 * genkernsyms.sh.in: Use more robust assignments for CC and
44400 srcdir. Quote srcdir.
44401 * gensymlist.sh.in: Likewise. Assert at the compile time that
44402 the symbol table is not empty.
44403
ba7328dc 44404 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44405 * fs/cpio.c (grub_cpio_read): Likewise.
44406
0f582c6b 444072008-04-01 Pavel Roskin <proski@gnu.org>
44408
4b6e1995 44409 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44410 * disk/host.c (grub_host_open): Likewise.
44411 * disk/loopback.c (grub_loopback_open): Likewise.
44412 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44413 disk->id as in disk/host.c, not a multi-character constant.
44414
828a2768 44415 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44416 later is obsolete, potentially dangerous and sets a bad example.
44417 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44418 * util/misc.c (grub_util_get_image_size): Likewise.
44419
2bb4fb47 44420 * disk/loopback.c (options): Improve help for "--partitions".
44421
0f582c6b 44422 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44423 options to align them with the short options, e.g. "echo -e".
44424
a33224e0 444252008-03-31 Bean <bean123ch@gmail.com>
44426
44427 * video/reader/png.c (grub_png_data): New member is_16bit and
44428 image_data.
44429 (grub_png_decode_image_header): Detect 16 bit png image.
44430 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44431 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44432 (grub_video_reader_png): Release memory occupied by image_data.
44433
44434 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44435 4096 bytes.
44436 (grub_nfs_mount): Skip the test for sector per cluster.
44437
44438 * include/grub/ntfs.h (MAX_SPC): Removed.
44439
86cb4f54 444402008-03-31 Bean <bean123ch@gmail.com>
44441
44442 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44443 (grub_probe_SOURCES): Add fs/afs.c.
44444 (grub_fstest_SOURCES): Likewise.
44445 (afs_mod_SOURCES): New variable.
44446 (afs_mod_CFLAGS): Likewise.
44447 (afs_mod_LDFLAGS): Likewise.
44448
44449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44450 (grub_emu_SOURCES): Likewise.
44451
44452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44453
44454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44455
44456 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44457
44458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44459
44460 * fs/afs.c: New file.
44461
17c74c21 444622008-03-30 Pavel Roskin <proski@gnu.org>
44463
4cb68e89 44464 * disk/host.c: Include grub/misc.h to fix a warning.
44465 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44466 warnings about implicit declarations.
44467
8790bb04 44468 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44469 variable.
44470 * include/grub/i386/loader.h: Change declaration of
44471 grub_linux_boot() to match what grub_loader_set() expects.
44472 * util/getroot.c (grub_guess_root_device): Return const char* to
44473 fix a warning.
44474 * util/grub-probe.c (probe): Fix a warning about uninitialized
44475 abstraction_name variable.
44476 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44477 second argument as unused to fix a warning.
44478
9a3f3296 44479 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44480 missing grub_error() call.
44481
0ecef90d 44482 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44483 2.60 and newer uses it to define datadir.
44484
0bf6d401 44485 * commands/sleep.c: Fix warning about implicit declaration.
44486 * disk/memdisk.c: Likewise.
44487 * loader/aout.c: Likewise.
44488 * loader/i386/bsd_normal.c: Likewise.
44489 * util/grub-probe.c: Likewise.
44490
7cdacf97 44491 * commands/i386/cpuid.c (has_longmode): Make static.
44492 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44493 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44494
17c74c21 44495 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44496 GDT. This is more robust, as %ds can change.
44497 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44498 calling real_to_prot().
44499 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44500
80a3e68b 445012008-03-28 Pavel Roskin <proski@gnu.org>
44502
44503 * kern/i386/pc/startup.S: Assert that uncompressed functions
44504 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44505 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44506 code, as they push parts of the code (error handlers) beyond
44507 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44508 code as correctness and size.
44509
77bcd272 445102008-03-28 Pavel Roskin <proski@gnu.org>
44511
44512 * kern/i386/pc/startup.S
44513 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44514 data block address to the real mode, keep offset minimal. This
44515 works around a bug in AWARD BIOS on old Athlon systems, which
44516 makes CD detection hang.
44517
c5dfd43b 445182008-03-26 Pavel Roskin <proski@gnu.org>
44519
44520 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44521 const.
44522 * include/grub/normal.h: Add grub_parse_color_name_pair()
44523 declaration.
44524
bf962df2 445252008-03-24 Bean <bean123ch@gmail.com>
44526
44527 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44528 (cd_count): Removed.
44529 (cd_drive): New variable.
44530 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44531 (grub_biosdisk_call_hook): Likewise.
44532 (grub_biosdisk_iterate): Change cdrom detection method.
44533 (grub_biosdisk_open): Replace cd_start with cd_drive.
44534 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44535 detect cdrom device.
44536
44537 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44538 Removed.
44539 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44540 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44541 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44542 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44543 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44544 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44545 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44546 (grub_biosdisk_cdrp): New structure.
44547 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44548
44549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44550
44551 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44552 device.
44553
44554 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44555 New function.
44556
68e7fc7a 445572008-03-20 Robert Millan <rmh@aybabtu.com>
44558
44559 Remove 2 TiB limit in ata.mod.
44560 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44561 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44562 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44563 grub_uint64_t instead of grub_uint32_t.
44564
38ad2cf5 445652008-03-05 Bean <bean123ch@gmail.com>
44566
44567 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44568 (grub_multiboot): Set boot device.
44569
44570 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44571
2b89344e 445722008-03-02 Bean <bean123ch@gmail.com>
44573
44574 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44575 symlink_buffer.
44576
87a95d1f 445772008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44578
44579 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44580 texinfo.tex.
44581
44582 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44583 modified.
44584
44585 * docs/fdl.texi: New file.
f19dbdb7 44586
87a95d1f 44587 * docs/mdate-sh: New file. Copied from gnulib.
44588 * docs/texinfo.tex: Likewise.
44589
44590 * config.guess: Updated from gnulib.
44591 * install-sh: Likewise.
44592
7dc15d8e 445932008-02-28 Robert Millan <rmh@aybabtu.com>
44594
44595 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44596 (aout_mod_SOURCES): New variable.
44597 (aout_mod_CFLAGS): Likewise.
44598 (aout_mod_LDFLAGS): Likewise.
44599
44600 * conf/i386-ieee1275.rmk: Likewise.
44601
b00ab696 446022008-02-28 Robert Millan <rmh@aybabtu.com>
44603
44604 * util/update-grub.in: Reorganise terminal validity check. Accept
44605 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44606 Based on suggestion by Franklin PIAT.
44607
79ca2d78 446082008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44609
44610 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44611 function.
44612 * util/getroot.c (grub_util_check_block_device): New function that
44613 returns the given argument if it is a block device and returns NULL else.
44614 * util/grub-probe.c (argument_is_device): New variable.
44615 (probe): Promote device_name from a variable to an argument. Receive
44616 device_name from grub_util_check_block_device() if path is NULL and from
44617 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44618 (options): Introduce new parameter '-d, --device'.
79ca2d78 44619 (main): Add description of the new parameter to the help screen.
44620 Rename path variable to argument. Set argument_is_device if the '-d'
44621 option is given. Pass argument to probe() depending on
44622 argument_is_device.
44623
0d16e571 446242008-02-24 Bean <bean123ch@gmail.com>
44625
44626 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44627 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44628 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44629 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44630 (GRUB_ISO9660_VOLDESC_END): Likewise.
44631 (grub_iso9660_primary_voldesc): New member escape.
44632 (grub_iso9660_data): New member joliet.
44633 (grub_iso9660_convert_string): New function.
44634 (grub_iso9660_mount): Detect joliet extension.
44635 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44636 (grub_iso9660_iso9660_label): Likewise.
44637
44638 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44639 (grub_setup_SOURCES): Add fs/udf.c.
44640 (grub_fstest_SOURCES): Likewise.
44641 (udf_mod_SOURCES): New variable.
44642 (udf_mod_CFLAGS): Likewise.
44643 (udf_mod_LDFLAGS): Likewise.
44644
44645 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44646 (grub_emu_SOURCES): Likewise.
44647
44648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44649
44650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44651
44652 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44653
44654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44655
44656 * fs/udf.c: New file.
44657
8a594a17 446582008-02-24 Robert Millan <rmh@aybabtu.com>
44659
44660 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44661 (normal/lexer.c_DEPENDENCIES): New variables.
44662 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44663 (normal/lexer.c_DEPENDENCIES): Likewise.
44664 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44665 (normal/lexer.c_DEPENDENCIES): Likewise.
44666 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44667 (normal/lexer.c_DEPENDENCIES): Likewise.
44668 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44669 (normal/lexer.c_DEPENDENCIES): Likewise.
44670 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44671 (normal/lexer.c_DEPENDENCIES): Likewise.
44672
2dc33c03 446732008-02-23 Robert Millan <rmh@aybabtu.com>
44674
44675 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44676 since they were intended to be in hex. This didn't break previously
44677 because of a bug in gpt_partition_map_iterate() (see below).
44678
44679 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44680 when checking the validity of GPT header.
44681 Remove `partno', since it always provides the same information as `i'.
44682
f6f4cfb0 446832008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44684
44685 * include/grub/efi/time.h: Fix a wrong comment.
44686
79ff665f 446872008-02-19 Pavel Roskin <proski@gnu.org>
44688
44689 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44690 message.
44691
d38e24c2 446922008-02-19 Bean <bean123ch@gmail.com>
44693
44694 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44695 (aout_mod_SOURCES): New variable.
44696 (aout_mod_CFLAGS): Likewise.
44697 (aout_mod_LDFLAGS): Likewise.
44698 (_bsd_mod_SOURCES): New variable.
44699 (_bsd_mod_CFLAGS): Likewise.
44700 (_bsd_mod_LDFLAGS): Likewise.
44701 (bsd_mod_SOURCES): New variable.
44702 (bsd_mod_CFLAGS): Likewise.
44703 (bsd_mod_LDFLAGS): Likewise.
44704
44705 * include/grub/aout.h: New file.
44706
44707 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44708
44709 * include/grub/i386/bsd.h: New file.
44710
44711 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44712 to make it public.
44713
44714 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44715 function is called, so that it's possible to change it inside the hook.
44716 (grub_elf64_load): Likewise.
44717 (grub_elf_file): Don't close the file if elf header is not found.
44718 (grub_elf_close): Close the file if grub_elf_file fails (The new
44719 grub_elf_file won't close it).
44720 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44721 (grub_elf64_size): Likewise.
44722
44723 * kern/i386/loader.S (grub_unix_real_boot): New function.
44724
44725 * loader/aout.c: New file.
44726
44727 * loader/i386/bsd.c: New file.
44728
44729 * loader/i386/bsd_normal.c: New file.
44730
44731 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44732
44733 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44734 can test other formats.
d38e24c2 44735
b93bdb0f 447362008-02-19 Robert Millan <rmh@aybabtu.com>
44737
44738 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44739 (grub_gpt_partition_type_empty): Redefine with macro from
44740 `<grub/gpt_partition.h>'.
44741 (gpt_partition_map_iterate): Adjust partition type comparison.
44742
44743 Export `entry' as partmap-specific `part.data' struct.
44744 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44745
44746 * include/grub/gpt_partition.h (grub_gpt_header)
44747 (grub_gpt_partentry): ... to here (new file).
44748
44749 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44750
44751 (grub_gpt_partition_type_bios_boot): New const variable, defined
44752 with macro from `<grub/gpt_partition.h>'.
44753
44754 (setup): Replace `first_start' with `embed_region', which keeps
44755 track of the embed region (and is partmap-agnostic).
44756
44757 Replace find_first_partition_start() with find_usable_region(),
44758 which finds a usable region for embedding using partmap-specific
44759 knowledge (supports PC/MSDOS and GPT).
44760
44761 Fix all assumptions that the embed region start at sector 1, using
44762 `embed_region.start' from now on. Similarly, use `embed_region.end'
44763 rather than `first_start' to calculate available size.
44764
44765 In grub_util_info() message, replace "into after the MBR" with an
44766 indication of the specific sector our embed region starts at.
44767
66cb40f6 447682008-02-19 Robert Millan <rmh@aybabtu.com>
44769
44770 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44771 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44772 `commands/reboot.c'.
44773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44774 (halt_mod_SOURCES): Likewise.
44775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44776 (halt_mod_SOURCES): Likewise.
44777
b7202015 447782008-02-17 Christian Franke <franke@computer.org>
44779
44780 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44781
32b0fc49 447822008-02-17 Robert Millan <rmh@aybabtu.com>
44783
44784 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44785 set `first_start' to 0 for non-PC/MSDOS partition maps.
44786
aca63502 447872008-02-16 Robert Millan <rmh@aybabtu.com>
44788
44789 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44790 do not assume partition map is PC/MSDOS before performing checks that
44791 are specific to that layout.
44792
0de8be86 447932008-02-13 Robert Millan <rmh@aybabtu.com>
44794
44795 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44796 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44797 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44798
c3db8364 447992008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44800
44801 * configure.ac: Only a cosmetic change on the handling of
44802 -fno-stack-protector.
44803
f714229e 448042008-02-12 Alexandre Boeglin <alex@boeglin.org>
44805
c3db8364 44806 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44807 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44808 reboot.c.
f714229e 44809 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44810 (halt_mod_SOURCES): New variable.
44811 (halt_mod_CFLAGS): Likewise.
44812 (halt_mod_LDFLAGS): Likewise.
44813 (reboot_mod_SOURCES): Likewise.
44814 (reboot_mod_CFLAGS): Likewise.
44815 (reboot_mod_LDFLAGS): Likewise.
44816
c3db8364 44817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44818 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44819 reboot.c.
f714229e 44820 (halt_mod_SOURCES): Likewise.
44821 (reboot_mod_SOURCES): Likewise.
44822
c3db8364 44823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44824 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44825 (reboot_mod_SOURCES): Likewise.
44826
44827 * commands/i386/pc/reboot.c: merge this file ...
44828
44829 * commands/ieee1275/reboot.c: ... and this file ...
44830
44831 * commands/reboot.c: ... to this file.
c3db8364 44832 Add some precompiler directive to include the correct header for
44833 each machine.
f714229e 44834
44835 * commands/ieee1275/halt.c: move this file ...
44836
44837 * commands/halt.c: ... to here.
c3db8364 44838 Add some precompiler directive to include the correct header for
44839 each machine.
f714229e 44840
44841 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44842 (grub_halt): Likewise.
44843
44844 * kern/efi/efi.c (grub_reboot): New function.
44845 (grub_halt): Likewise.
44846
c74493e0 448472008-02-12 Robert Millan <rmh@aybabtu.com>
44848
44849 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44850 /dev (like it is done for /dev/mapper). This doesn't provide support
44851 for EVMS, but at least it is now easy to identify the problem when it
44852 arises.
44853
d0db4b04 448542008-02-11 Robert Millan <rmh@aybabtu.com>
44855
44856 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
44857 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
44858 comparing it with -1, not 0.
44859
bf748642 448602008-02-10 Robert Millan <rmh@aybabtu.com>
44861
44862 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
44863 `disk/lvm.c'.
44864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
44866
44867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
44868 `disk/lvm.c' to the end of the list.
44869 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44870 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44871
b5db202a 448722008-02-10 Robert Millan <rmh@aybabtu.com>
44873
44874 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
44875 grub_print_error() instead. This will let user know why we're entering
44876 rescue mode.
44877 Based on suggestions from Sam Morris.
44878
83abee31 448792008-02-10 Alexandre Boeglin <alex@boeglin.org>
44880
44881 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
44882 on remaining N args, instead of "--" arg N times.
44883
78d5a08b 448842008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
44885
44886 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
44887 (fill_with_default_glyph): Changed to use unknown_glyph for fill
44888 pattern for unknown glyphs.
44889
68807e5f 448902008-02-09 Robert Millan <rmh@aybabtu.com>
44891
44892 * configure.ac: Probe for `help2man'.
44893 * Makefile.in (builddir): New variable.
44894 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
44895 or otherwise add a few flags/options to it.
44896 (install-local): For every executable utility or script that is
44897 installed, invoke $(HELP2MAN) to install a manpage based on --help
44898 output.
44899
44900 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
44901 that it doesn't prevent --help from working in build tree.
44902
44903 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
44904 with `bug-grub@gnu.org'.
44905 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
44906 * util/update-grub.in (usage): New function.
44907 Implement proper argument check, with support for --help and --version
44908 (as well as existing -y).
44909
449102008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 44911
44912 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
44913 avoid overwriting previous output.
44914 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
44915
c1962162 449162008-02-09 Robert Millan <rmh@aybabtu.com>
44917
44918 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
44919 drawing the menu.
44920
3dac2e3f 449212008-02-09 Robert Millan <rmh@aybabtu.com>
44922
44923 * commands/sleep.c: New file.
44924 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
44925 (sleep_mod_SOURCES): New variable.
44926 (sleep_mod_CFLAGS): Likewise.
44927 (sleep_mod_LDFLAGS): Likewise.
44928
7a634e08 449292008-02-09 Robert Millan <rmh@aybabtu.com>
44930
44931 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
44932 situations in which we can deduce the RAID size and the superblock
44933 doesn't match it.
44934
b92f0c18 449352008-02-09 Robert Millan <rmh@aybabtu.com>
44936
44937 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
44938 and return a grub_diskmemberlist_t composed of LVM physical volumes.
44939 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
44940
44941 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
44942 and return a grub_diskmemberlist_t composed of physical array members.
44943 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
44944
44945 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
44946 prototype.
44947 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
44948 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
44949 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
44950
44951 * util/grub-probe.c (probe): Move partmap probing code from here ...
44952 (probe_partmap): ... to here.
44953 (probe): Use probe_partmap() once for the disk we're probing, and
44954 additionally, when such disk contains a memberlist() struct member,
44955 once for each disk that is contained in the structure returned by
44956 memberlist().
44957
91a4bf68 449582008-02-09 Robert Millan <rmh@aybabtu.com>
44959
44960 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
44961 environment variable to 'all' in order to obtain debug output from
44962 non-util/ code.
44963 * util/i386/pc/grub-setup.c (main): Likewise.
44964
a96f9caa 449652008-02-08 Robert Millan <rmh@aybabtu.com>
44966
44967 * disk/raid.c (grub_raid_scan_device): Check for
44968 `array->device[sb.this_disk.number]' rather than for
44969 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 44970 guaranteed to be accessible.
a96f9caa 44971
b37a9222 449722008-02-08 Robert Millan <rmh@aybabtu.com>
44973
44974 * disk/raid.c: Update copyright.
44975 * fs/cpio.c: Likewise.
44976 * include/grub/raid.h: Likewise.
44977 * loader/i386/pc/multiboot.c: Likewise.
44978 * util/hostfs.c: Likewise.
44979
5626aee1 449802008-02-08 Robert Millan <rmh@aybabtu.com>
44981
44982 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
44983 to a grub_disk_t array.
44984 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
44985 `device[x]'.
44986 (grub_raid_scan_device): Replace `device[x].name' accesses with
44987 `device[x]->name'. Simplify initialization of `array->device[x]'.
44988
554f0187 449892008-02-08 Robert Millan <rmh@aybabtu.com>
44990
44991 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
44992 grub_dprintf() calls.
44993 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
44994 error message.
44995
1ec8425d 449962008-02-07 Christian Franke <franke@computer.org>
44997
44998 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
44999 instead of fseek and ftell to support large files.
45000 (grub_hostfs_read): Likewise.
45001
f2156fda 450022008-02-07 Robert Millan <rmh@aybabtu.com>
45003
45004 Patch from Jeroen Dekkers.
45005 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45006 failure, since successfully reading all array members might not be
f2156fda 45007 required.
45008
9216e0e7 450092008-02-06 Robert Millan <rmh@aybabtu.com>
45010
45011 * util/grub-probe.c (probe): Simplify partmap probing (with the
45012 assumption that the first word up to the underscore equals to
45013 the module name).
45014
b0dfd29a 450152008-02-06 Christian Franke <franke@computer.org>
45016
45017 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45018 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45019 last block of a cpio or tar stream.
45020 Check for "TRAILER!!!" instead of any empty data
45021 block to detect last block of a cpio stream.
45022 (grub_cpio_dir): Fix constness of variable np.
45023 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45024 cpio or tar trailer is detected. This fixes a crash
45025 on open of a non existing file.
45026
c32865bf 450272008-02-05 Bean <bean123ch@gmail.com>
45028
45029 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45030 address of entry.
45031 (grub_multiboot_load_elf64): Likewise.
45032 (grub_multiboot): Initialize mbi structure.
45033
45034 * util/grub-fstest.c: Don't include unused header file script.h.
45035
fe6b695a 45036 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45037 of file.
45038 (grub_fstest_SOURCES): Likewise.
45039
409480b7 450402008-02-05 Robert Millan <rmh@aybabtu.com>
45041
45042 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45043 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45044 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45045 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45046
45047 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45048 (translation_table): Replace hardcoded values with macros
45049 provided by `<grub/term.h>'.
45050
45051 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45052 (keyboard_map): Correct/add a few values, with macros provided
45053 by `<grub/term.h>'.
45054 (keyboard_map_shift): Zero values that don't differ from their
45055 `keyboard_map' equivalents.
45056 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45057 Discard the second scan code that is always sent by Caps lock.
45058 Only use `keyboard_map_shift' when it provides a non-zero value,
45059 otherwise fallback to `keyboard_map'.
45060
99fadbaa 450612008-02-04 Bean <bean123ch@gmail.com>
45062
45063 * Makefile.in (enable_grub_fstest): New variable.
45064
45065 * conf/common.rmk (grub_fstest_init.lst): New rule.
45066 (grub_fstest_init.h): Likewise.
45067 (grub_fstest_init.c): Likewise.
45068 (util/grub-fstest.c_DEPENDENCIES): New variable.
45069 (grub_fstest_SOURCES): Likewise.
45070
45071 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45072
45073 * util/grub-fstest.c: New file.
45074
bf567c50 450752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45076
45077 Make grub-setup handle a separate root device.
f19dbdb7 45078
bf567c50 45079 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45080 so that the root device can be compared with the destination
45081 device.
45082 When embedding the core image, if the root and destination devices
45083 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45084 0xFF.
45085 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45086
9be6b98b 450872008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45088
45089 Add support for having a grub directory in a different drive. This
45090 is still only the data handling part.
f19dbdb7 45091
9be6b98b 45092 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45093 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45094 (grub_root_drive): New variable.
45095
45096 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45097 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45098 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45099 as it was.
45100
45101 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45102
45103 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45104 macro.
45105 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45106
45107 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45108 is bogus, because PXE booting does not specify any drive
45109 correctly.
45110
45111 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45112 am not sure if this is really correct.
45113
45114 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45115 is always identical to the boot drive when booting from a CD.
45116
45117 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45118 longer.
45119 (root_drive): New variable.
45120 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45121 (setup_sectors): Push %dx right after popping it, because %dh will
45122 be modified later.
45123 (copy_buffer): Restore %dx.
45124
e0ca0677 451252008-02-03 Robert Millan <rmh@aybabtu.com>
45126
45127 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45128 use `cdboot.img' for cdrom images.
45129
3b3f6629 451302008-02-03 Robert Millan <rmh@aybabtu.com>
45131
45132 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45133 only setup gfxterm when `font' command has succeeded.
45134
d42b3672 451352008-02-03 Robert Millan <rmh@aybabtu.com>
45136
45137 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45138 (grub_rescue_cmd_multiboot_loader)
45139 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45140
fa370ea6 451412008-02-03 Pavel Roskin <proski@gnu.org>
45142
e0c5dacb 45143 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45144 %edx and %esi from stack only after grub_gate_a20() is called.
45145 grub_gate_a20() clobbers %edx.
45146
f2a76e1d 451472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45148
45149 * configure.ac (AC_INIT): Bumped to 1.96.
45150
45151 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45152 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45153 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45154 video/readers/png.c.
45155
90fd32d1 451562008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45157
45158 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45159 (cdboot_img_SOURCES): New variable.
45160 (cdboot_img_ASFLAGS): New variable.
45161 (cdboot_img_LDFLAGS): New variable.
45162
45163 * boot/i386/pc/cdboot.S: New file.
45164
45165 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45166 (cd_count): Likewise.
45167 (grub_biosdisk_get_drive): Add support for cd device.
45168 (grub_biosdisk_call_hook): Likewise.
45169 (grub_biosdisk_iterate): Likewise.
45170 (grub_biosdisk_open): Likewise.
45171 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45172 (grub_biosdisk_rw): Support reading from cd device.
45173 (GRUB_MOD_INIT): Iterate cd devices.
45174
45175 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45176 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45177 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45178
45179 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45180
4020aa53 451812008-02-02 Robert Millan <rmh@aybabtu.com>
45182
45183 * commands/read.c: New file.
45184 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45185 (read_mod_SOURCES): New variable.
45186 (read_mod_CFLAGS): Likewise.
45187 (read_mod_LDFLAGS): Likewise.
45188
e03a1132 451892008-02-02 Robert Millan <rmh@aybabtu.com>
45190
45191 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45192 determining whether menu has to be displayed.
45193
58c69220 451942008-02-02 Marco Gerards <marco@gnu.org>
45195
45196 * bus/pci.c: New file.
45197
45198 * include/grub/pci.h: Likewise.
45199
45200 * include/grub/i386/pc/pci.h: Likewise.
45201
45202 * commands/lspci.c: Likewise.
45203
45204 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45205 `lspci.mod'.
45206 (pci_mod_SOURCES): New variable.
45207 (pci_mod_CFLAGS): Likewise.
45208 (pci_mod_LDFLAGS): Likewise.
45209 (lspci_mod_SOURCES): Likewise.
45210 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45211 (lspci_mod_LDFLAGS): Likewise.
58c69220 45212
c004e1b4 452132008-02-02 Bean <bean123ch@gmail.com>
45214
45215 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45216 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45217
45218 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45219 (grub_xfs_btree_node): New structure.
45220 (grub_xfs_btree_root): New structure.
45221 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45222 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45223 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45224 (GRUB_XFS_EXTENT_SIZE): Likewise.
45225 (grub_xfs_read_block): Support btree format type.
45226 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45227 Use directory block as basic unit.
45228
45229 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45230
45231 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45232 __attribute__ ((__regparm__ (1))).
45233
f95562bf 452342008-02-01 Robert Millan <rmh@aybabtu.com>
45235
45236 Correct a mistake in previous commit.
45237
45238 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45239 top.
45240 (normal/command.c_DEPENDENCIES): New variable.
45241
7d31f41f 452422008-02-01 Robert Millan <rmh@aybabtu.com>
45243
45244 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45245 top.
45246 (normal/command.c_DEPENDENCIES): New variable.
45247 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45248 * conf/i386-ieee1275.rmk: Likewise.
45249 * conf/i386-linuxbios.rmk: Likewise.
45250 * conf/i386-pc.rmk: Likewise.
45251 * conf/sparc64-ieee1275.rmk: Likewise.
45252 * conf/powerpc-ieee1275.rmk: Likewise.
45253 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45254
45255 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45256
60b6be74 452572008-02-01 Robert Millan <rmh@aybabtu.com>
45258
45259 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45260 call at beginning of function.
45261
078522ab 452622008-01-31 Pavel Roskin <proski@gnu.org>
45263
45264 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45265 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45266 (grub_mkrescue_SOURCES): Likewise.
078522ab 45267 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45268
ccaa8a5f 452692008-01-30 Robert Millan <rmh@aybabtu.com>
45270
45271 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45272 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45273 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45274 (grub_probe_SOURCES): ... to here.
45275
45276 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45277 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45278 * conf/i386-ieee1275.rmk: Likewise.
45279 * conf/i386-linuxbios.rmk: Likewise.
45280 * conf/powerpc-ieee1275.rmk: Likewise.
45281
ae5a9cd7 452822008-01-30 Tristan Gingold <gingold@free.fr>
45283
45284 * kern/rescue.c: Silently accept empty lines.
45285
70bc2ef2 452862008-01-29 Bean <bean123ch@gmail.com>
45287
45288 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45289 (real_code_2): Code cleanup and change comment style.
45290 (move_memory): Avoid using 32-bit address mode.
45291
6a4d50ea 452922008-01-29 Bean <bean123ch@gmail.com>
45293
45294 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45295 (png_mod_SOURCES): New variable.
45296 (png_mod_CFLAGS): Likewise.
45297 (png_mod_LDFLAGS): Likewise.
45298
45299 * video/readers/png.c: New file.
45300
11cc30ac 453012008-01-28 Robert Millan <rmh@aybabtu.com>
45302
45303 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45304 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45305 `ifndef GRUB_MOD_GAP' hack.
45306 * util/elf/grub-mkimage.c (add_segments): Likewise.
45307
3abc589f 453082008-01-27 Robert Millan <rmh@aybabtu.com>
45309
45310 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45311 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45312 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45313
e1907778 453142008-01-27 Robert Millan <rmh@aybabtu.com>
45315
45316 Get grub-emu to build again (including parallel builds).
45317
45318 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45319 Split into ...
45320 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45321 (normal/execute.c_DEPENDENCIES): ... this, ...
45322 (grub-emu_DEPENDENCIES): ... and this.
45323
45324 * conf/i386-efi.rmk: Likewise.
45325 * conf/i386-linuxbios.rmk: Likewise.
45326 * conf/i386-ieee1275.rmk: Likewise.
45327 * conf/powerpc-ieee1275.rmk: Likewise.
45328 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45329
2216b101 453302008-01-27 Robert Millan <rmh@aybabtu.com>
45331
45332 * NEWS: Add a few items.
45333
f75172d9 453342008-01-27 Robert Millan <rmh@aybabtu.com>
45335
45336 Fix parallel builds with grub-emu. Based on earlier commit for
45337 grub-probe and grub-setup.
45338
45339 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45340 (util/grub-emu.c_DEPENDENCIES): ... this.
45341 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45342 (util/grub-emu.c_DEPENDENCIES): ... this.
45343 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45344 (util/grub-emu.c_DEPENDENCIES): ... this.
45345 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45346 (util/grub-emu.c_DEPENDENCIES): ... this.
45347 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45348 (util/grub-emu.c_DEPENDENCIES): ... this.
45349
3f51de77 453502008-01-27 Pavel Roskin <proski@gnu.org>
45351
45352 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45353 to create a gap between _end and the modules added to the image
45354 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45355 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45356 * util/elf/grub-mkimage.c (add_segments): Likewise.
45357
2033f53e 453582008-01-26 Pavel Roskin <proski@gnu.org>
45359
45360 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45361 just return an error.
45362
22da1f6f 453632008-01-26 Bean <bean123ch@gmail.com>
45364
45365 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45366 (grub_reiserfs_get_item): Save offset of the next item.
45367 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45368
2a9525e6 453692008-01-25 Robert Millan <rmh@aybabtu.com>
45370
45371 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45372 make all filesystem sources appear together (possibly fixing omissions
45373 while at it).
45374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45376 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45378
45379 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45380 add `kern/file.c'.
45381 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45382 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45383 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45384 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45385
45386 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45387 (probe): Add a sanity check to make sure of our ability to read
45388 requested files when probing for filesystem type.
45389
45390 * genmk.rb: Update copyright year (2007).
45391
45392 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45393 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45394 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45395 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45396 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45397 : Remove function prototypes.
45398
b95f71b5 453992008-01-25 Robert Millan <rmh@aybabtu.com>
45400
45401 Revert my previous commits (based on wrong assumption of how grub_errno
45402 works).
45403
fe6b695a 45404 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45405 * kern/file.c (grub_file_open): Likewise.
45406
d08bbb49 454072008-01-24 Pavel Roskin <proski@gnu.org>
45408
45409 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45410 that hang if GRUB tries to setup colors.
45411 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45412 colors for firmwares that don't support it.
45413 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45414 Recognize Open Hack'Ware, set flags to work around its
45415 limitations.
45416
605e36ed 454172008-01-24 Robert Millan <rmh@aybabtu.com>
45418
45419 * kern/file.c (grub_file_open): Do not account previous failures of
45420 unrelated functions when grub_errno is checked for.
45421 Reported by Oleg Strikov.
45422
bac332a1 454232008-01-24 Bean <bean123ch@gmail.com>
45424
45425 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45426 (grub_ufs_sblock): New member volume name.
45427 (grub_ufs_find_file): Fix string copy bug.
45428 (grub_ufs_label): Implement this function properly.
45429
45430 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45431 (grub_hfs_iterate_records): Use the correct file number for extents
45432 and catalog file. Fix problem in next index calculation.
45433 (grub_hfs_find_node): Replace recursive function call with loop.
45434 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45435
15c80c09 454362008-01-23 Robert Millan <rmh@aybabtu.com>
45437
45438 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45439 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45440 (grub_multiboot2_real_boot): New function prototype.
45441
45442 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45443 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45444
45445 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45446 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45447
305338fd 454482008-01-23 Robert Millan <rmh@aybabtu.com>
45449
45450 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45451 #ifdef'ed out grub_printf().
45452
3ea52685 454532008-01-23 Robert Millan <rmh@aybabtu.com>
45454
45455 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45456 grub_dprintf calls, since they make "debug=all" mode unusable.
45457 (grub_console_checkkey): Likewise.
45458
5882ae4b 454592008-01-23 Robert Millan <rmh@aybabtu.com>
45460
45461 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45462 `term/i386/pc/at_keyboard.c'.
45463 (pkglib_MODULES): Add `serial.mod'.
45464 (serial_mod_SOURCES): New variable.
45465 (serial_mod_CFLAGS): Likewise.
45466 (serial_mod_LDFLAGS): Likewise.
45467
45468 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45469 `<grub/powerpc/ieee1275/console.h>'.
45470 (grub_keyboard_controller_init): New function prototype.
45471 (grub_console_checkkey): Likewise.
45472 (grub_console_getkey): Likewise.
45473
45474 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45475 keyboard on i386.
45476
45477 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45478 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45479
06ab5303 454802008-01-23 Robert Millan <rmh@aybabtu.com>
45481
45482 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45483 present, "(memdisk)/boot/grub" becomes the default prefix.
45484
45485 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45486 a memdisk tarball with all the modules. Add --overlay=DIR option that
45487 allows users to overlay additional files into the image.
45488
dbb475a4 454892008-01-23 Robert Millan <rmh@aybabtu.com>
45490
45491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45492 and `machine/memory.h'.
45493 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45494 (_multiboot_mod_SOURCES): New variable.
45495 (_multiboot_mod_CFLAGS): Likewise.
45496 (_multiboot_mod_LDFLAGS): Likewise.
45497 (multiboot_mod_SOURCES): Likewise.
45498 (multiboot_mod_CFLAGS): Likewise.
45499 (multiboot_mod_LDFLAGS): Likewise.
45500
45501 * include/grub/i386/ieee1275/loader.h: New file.
45502
45503 * include/grub/i386/ieee1275/machine.h: Likewise.
45504
45505 * include/grub/i386/ieee1275/memory.h: Likewise.
45506
45507 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45508 variable declaration.
45509 (grub_os_area_size): Likewise.
45510
45511 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45512 (grub_lower_mem, grub_upper_mem): New variables.
45513 (grub_stop_floppy): New function (just to make
45514 grub_multiboot2_real_boot() happy).
45515
45516 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45517 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45518 (grub_stop): New function.
45519 Include `"../realmode.S"' and `"../loader.S"'.
45520
45521 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45522 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45523
45524 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45525 rely on grub_multiboot2_real_boot() for final boot.
45526
25638629 455272008-01-22 Robert Millan <rmh@aybabtu.com>
45528
45529 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45530 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45531 device that doesn't look like an SD card.
45532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45533 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45535 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45536 found.
45537
9dad816d 455382008-01-22 Robert Millan <rmh@aybabtu.com>
45539
45540 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45541 avoid claiming over our own code.
45542
34842f2d 455432008-01-22 Bean <bean123ch@gmail.com>
45544
45545 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45546 (jpeg_mod_SOURCES): New variable.
45547 (jpeg_mod_CFLAGS): Likewise.
45548 (jpeg_mod_LDFLAGS): Likewise.
45549
45550 * video/readers/jpeg.c : New file.
45551
44023a28 455522008-01-22 Bean <bean123ch@gmail.com>
45553
45554 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45555 there are no more items.
45556
bc2d8ac6 455572008-01-21 Robert Millan <rmh@aybabtu.com>
45558
45559 * kern/mm.c (grub_mm_init_region): Improve debug message.
45560
261bd4bc 455612008-01-21 Robert Millan <rmh@aybabtu.com>
45562
45563 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45564 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45565 address.
45566 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45567 a C macro.
45568 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45569 Indicates start of upper memory.
45570 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45571 (generate_image): Abort when image size is big enough to corrupt
45572 upper memory.
45573
45574 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45575 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45576 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45577 instead of hardcoding 0xA0000.
45578 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45579 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45580 instead of hardcoding 0xA0000.
45581
f970b55e 455822008-01-21 Robert Millan <rmh@aybabtu.com>
45583
45584 * disk/memdisk.c (memdisk_size): New variable.
45585 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45586 `memdisk_size'.
45587 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45588 image to dynamic memory.
45589 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45590 `memdisk_size'. Free memdisk block.
45591
1a8b0526 455922008-01-21 Robert Millan <rmh@aybabtu.com>
45593
45594 Fix detection of very small filesystems (like tar).
45595
45596 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45597 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45598 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45599 a problem with this disk).
45600
6e9b4aab 456012008-01-21 Robert Millan <rmh@aybabtu.com>
45602
45603 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45604 on grub_biosdisk_rw_standard() error.
45605
0d8837b2 456062008-01-21 Robert Millan <rmh@aybabtu.com>
45607
45608 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45609 recent changes.
45610 * kern/elf.c: Likewise.
45611 * kern/ieee1275/ieee1275.c: Likewise.
45612 * kern/powerpc/ieee1275/openfw.c: Likewise.
45613 * term/ieee1275/ofconsole.c: Likewise.
45614
ffd36e34 456152008-01-21 Robert Millan <rmh@aybabtu.com>
45616
45617 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45618
3f0093d0 45619 * include/grub/kernel.h (grub_arch_memdisk_addr)
45620 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45621
3f0093d0 45622 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45623 (grub_arch_memdisk_size): ... to here.
ffd36e34 45624
6c391b21 456252008-01-21 Robert Millan <rmh@aybabtu.com>
45626
45627 Mostly based on bugfix from Bean.
45628
45629 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45630 attribute with hook() parameter.
45631 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45632 declaration.
45633 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45634 attribute with hook() parameter.
45635 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45636 declaration.
45637
55a581dc 456382008-01-21 Robert Millan <rmh@aybabtu.com>
45639
45640 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45641 (pkglib_MODULES): Add `memdisk.mod'.
45642 (memdisk_mod_SOURCES): New variable.
45643 (memdisk_mod_CFLAGS): Likewise.
45644 (memdisk_mod_LDFLAGS): Likewise.
45645
45646 * disk/memdisk.c: New file.
45647
45648 * include/grub/disk.h (grub_disk_dev_id): Add
45649 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45650
45651 * include/grub/i386/pc/kernel.h
45652 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45653 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45654 (grub_kernel_image_size): New variable declaration.
45655 (grub_total_module_size): Likewise.
45656 (grub_memdisk_image_size): Likewise.
45657
45658 * include/grub/i386/pc/memory.h
45659 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45660
45661 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45662 (grub_arch_memdisk_addr): New variable declaration.
45663 (grub_arch_memdisk_size): Likewise.
45664
45665 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45666 (grub_arch_memdisk_size): Likewise.
45667
45668 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45669 (codestart): Replace hardcoded `0x100000' with
45670 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45671
45672 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45673 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45674 not NULL, append the contents of the file it refers to, at the end of
45675 the compressed kernel image. Initialize `grub_memdisk_image_size'
45676 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45677 (options): Add "memdisk"|'m' option.
45678 (main): Parse --memdisk|-m option, and pass user-provided path as
45679 parameter to generate_image().
45680
3d7f54c9 456812008-01-20 Robert Millan <rmh@aybabtu.com>
45682
45683 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45684 grub_dprintf() calls from here ...
45685 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45686
0bf74728 456872008-01-20 Robert Millan <rmh@aybabtu.com>
45688
45689 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45690
45691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45692 declaration.
45693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45694 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45695 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45696 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45697 property).
45698 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45699 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45700
33bf70a7 457012008-01-19 Robert Millan <rmh@aybabtu.com>
45702
fe6b695a 45703 Get rid of confusing function (superseded by
33bf70a7 45704 `grub_ieee1275_get_integer_property')
45705 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45706 prototype.
45707 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45708 function.
45709 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45710 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45711 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45712
e2da7d26 457132008-01-19 Robert Millan <rmh@aybabtu.com>
45714
45715 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45716 command after "shut-down", since implementations differ on which
45717 the command for halt is.
45718
59f1fd8d 457192008-01-19 Robert Millan <rmh@aybabtu.com>
45720
45721 * include/grub/i386/linuxbios/console.h: Add header protection.
45722 (grub_keyboard_controller_init): New function prototype.
45723 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45724 (KEYBOARD_COMMAND_READ): Likewise.
45725 (KEYBOARD_COMMAND_WRITE): Likewise.
45726 (KEYBOARD_SCANCODE_SET1): Likewise.
45727 (grub_keyboard_controller_write): New function.
45728 (grub_keyboard_controller_read): Likewise.
45729 (grub_keyboard_controller_init): Likewise.
45730
45731 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45732 (grub_console_init): On coreboot/LinuxBIOS, call
45733 grub_keyboard_controller_init().
45734
5f5a7c15 457352008-01-19 Robert Millan <rmh@aybabtu.com>
45736
45737 PowerPC changes provided by Pavel Roskin.
45738
45739 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45740 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45741 don't rely on cmain() doing it.
45742 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45743 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45744
1210e168 457452008-01-16 Robert Millan <rmh@aybabtu.com>
45746
45747 * include/grub/i386/linuxbios/memory.h
45748 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45749 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45750 receive `table_header' as argument. Instead, probe for it in the
45751 known memory ranges where it can be present.
45752 (grub_available_iterate): Do not pass a fixed `table_header' address
45753 to grub_linuxbios_table_iterate().
45754
3d04eab8 457552008-01-15 Robert Millan <rmh@aybabtu.com>
45756
45757 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45758 * conf/i386-ieee1275.rmk: New file.
45759 * include/grub/i386/ieee1275/console.h: Likewise.
45760 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45761 * include/grub/i386/ieee1275/kernel.h: Likewise.
45762 * include/grub/i386/ieee1275/time.h: Likewise.
45763 * kern/i386/ieee1275/init.c: Likewise.
45764 * kern/i386/ieee1275/startup.S: Likewise.
45765
d1bc1b73 457662008-01-15 Robert Millan <rmh@aybabtu.com>
45767
45768 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45769 when pointers are 32-bit (but still do set it to one when they are
45770 64-bit).
45771
66a65807 457722008-01-15 Robert Millan <rmh@aybabtu.com>
45773
45774 * include/grub/ieee1275/ieee1275.h
45775 (grub_ieee1275_get_integer_property): New function prototype.
45776
45777 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45778 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45779 grub_ieee1275_get_property() to handle endianness.
66a65807 45780
45781 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45782 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45783 where appropriate.
66a65807 45784 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45785 (grub_map): Likewise.
45786 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45787
a83ccafd 457882008-01-15 Bean <bean123ch@gmail.com>
45789
45790 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45791 (grub_script_execute_cmdline): Reset grub_errno.
45792
45793 * normal/main.c (read_config_file): Reset grub_errno.
45794
45795 * normal/parse.y (script_init): New.
45796 (script): Move function and menuentry here.
45797 (delimiter): New.
45798 (command): Add delimiter at the end of command.
45799 (commands): Adjust to match the new command.
45800 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45801 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45802 (if): Use the new commands.
45803
45804 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45805
df6ecfc6 458062008-01-15 Robert Millan <rmh@aybabtu.com>
45807
45808 * normal/menu.c (run_menu): Move timeout message from here ...
45809 (print_timeout): ... to here.
45810 (run_menu): Use print_timeout() once during initial draw to print
45811 the whole message, and again in every clock tick to update only
45812 the number of seconds.
45813
87ae25eb 458142008-01-15 Robert Millan <rmh@aybabtu.com>
45815
45816 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45817 actual size of `available' from grub_ieee1275_get_property(), and
45818 restrict parsing to that bound.
45819
47bf09a4 458202008-01-15 Christian Franke <franke@computer.org>
45821
45822 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45823 (argp_program_version): Remove variable.
45824 (argp_program_bug_address): Likewise.
45825 (options): Convert from struct argp_option to struct option.
45826 (struct arguments): Remove.
45827 (parse_opt): Remove.
45828 (usage): New function.
45829 (main): Replace struct args members by simple variables.
45830 Replace argp_parse() by getopt_long().
45831 Add switch to evaluate options.
45832 Add missing "(...)" around root_dev in prefix string.
45833
c86f1469 458342008-01-14 Robert Millan <rmh@aybabtu.com>
45835
45836 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45837 for grub_ieee1275_exit(), in order to improve portability.
45838
e622c559 458392008-01-14 Robert Millan <rmh@aybabtu.com>
45840
45841 * util/grub.d/10_linux.in (prefix): Define.
45842 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45843
44cb1ec8 458442008-01-13 Pavel Roskin <proski@gnu.org>
45845
45846 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45847 grub_errno if no errors have been detected.
45848
1eb8c802 458492008-01-12 Robert Millan <rmh@aybabtu.com>
45850
45851 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45852 (grub_util_get_dev_abstraction): New function prototype.
45853
45854 * util/getroot.c: Include `<grub/util/getroot.h>'
45855 (grub_util_get_grub_dev): Move detection of abstraction type to ...
45856 (grub_util_get_dev_abstraction): ... here (new function).
45857
45858 * util/grub-probe.c: Convert PRINT_* to an enum. Add
45859 `PRINT_ABSTRACTION'.
45860 (probe): Probe for abstraction type when requested.
45861 (main): Understand `--target=abstraction'.
45862
45863 * util/i386/efi/grub-install.in: Add abstraction module to core
45864 image when it is found to be necessary.
45865 * util/i386/pc/grub-install.in: Likewise.
45866 * util/powerpc/ieee1275/grub-install.in: Likewise.
45867
45868 * util/update-grub_lib.in (font_path): Return system path without
45869 converting to GRUB path.
45870 * util/update-grub.in: Convert system path returned by font_path()
45871 to a GRUB path. Use `grub-probe -t abstraction' to determine what
45872 abstraction module is needed for loading fonts (if any). Export
45873 that as `GRUB_PRELOAD_MODULES'.
45874 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
45875 insmod commands).
45876
52bd3de9 458772008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
45878
45879 Remove some unused code from reiserfs.
f19dbdb7 45880
52bd3de9 45881 * fs/reiserfs.c (struct grub_reiserfs_key)
45882 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
45883 (struct grub_reiserfs_node_body): Removed.
45884 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45885 Likewise.
45886 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45887 Likewise.
45888 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45889 Likewise.
45890 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
45891 Likewise.
45892 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
45893 Likewise.
45894 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
45895 Likewise.
45896 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45897 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45898 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
45899
2f80039d 459002008-01-10 Robert Millan <rmh@aybabtu.com>
45901
45902 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
45903 Determines if a file is garbage left by packaging systems, etc.
45904 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
45905 for processing /etc/grub.d scripts.
45906 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
45907 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
45908 as a condition for processing Linux images.
45909
87888032 459102008-01-10 Pavel Roskin <proski@gnu.org>
45911
45912 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
45913 to compile reiserfs.c on PowerPC.
45914
7e54fced 459152008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 45916
45917 * kern/device.c (grub_device_iterate): Do not abort device iteration
45918 when one of the devices cannot be opened.
45919 * kern/disk.c (grub_disk_open): Do not account previous failures of
45920 unrelated functions when grub_errno is checked for.
45921
5aa541e6 459222008-01-08 Robert Millan <rmh@aybabtu.com>
45923
45924 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
45925 `! grub_linux_is_bzimage', change order of address comparison to make
45926 it more intuitive, and improve "too big zImage" error message.
45927
7076340d 459282008-01-08 Robert Millan <rmh@aybabtu.com>
45929
45930 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
45931 `$(update-grub_DATA)'.
45932 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
45933 targets.
45934
9ca70333 459352008-01-07 Robert Millan <rmh@aybabtu.com>
45936
45937 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
45938 which instruction is modified by grub-setup during installation
45939 (since it wasn't obvious by only looking at this file).
45940
38ccf575 459412008-01-07 Robert Millan <rmh@aybabtu.com>
45942
45943 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
45944 listing actual TODO items.
45945
f5db4291 459462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45947
868967cf 45948 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
45949 correctly.
45950 (grub_reiserfs_get_key_offset): Likewise.
45951 (grub_reiserfs_set_key_offset): Likewise.
45952 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 45953 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 45954
45955 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
45956 better to remove the bitfield version completely.
f19dbdb7 45957
868967cf 459582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45959
f5db4291 45960 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
45961 allocated from the heap, due to the fshelp implementation.
45962 (grub_reiserfs_dir): Free NODE, due to the same reason.
45963
492e6d9d 459642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45965
45966 Mostly from Vincent Pelletier:
f19dbdb7 45967
492e6d9d 45968 * fs/reiserfs.c: New file.
f19dbdb7 45969
492e6d9d 45970 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
45971 (reiserfs_mod_SOURCES): New variable.
45972 (reiserfs_mod_CFLAGS): Likewise.
45973 (reiserfs_mod_LDFLAGS): Likewise.
45974
45975 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
45976 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
45977 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
45978 normal/color.c.
45979
9ce3e7c1 459802008-01-06 Robert Millan <rmh@aybabtu.com>
45981
45982 * normal/color.c: Remove `<grub/env.h>'.
45983
f3b58148 459842008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
45985
45986 * include/grub/normal.h: Include <grub/env.h>.
45987
7ac3bcfa 459882008-01-05 Robert Millan <rmh@aybabtu.com>
45989
45990 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
45991 usage example with `(hd0,1)'.
fb358190 45992 Reported by Samuel Thibault.
7ac3bcfa 45993
c8ee99d7 459942008-01-05 Robert Millan <rmh@aybabtu.com>
45995
45996 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
45997 (grub_linux_boot_zimage): Rename to ...
45998 (grub_linux_boot): ... this.
45999 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46000 (grub_linux_boot_zimage): Conditionalize zImage copy.
46001
46002 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46003 (grub_linux_boot_bzimage): Remove prototype.
46004 (grub_linux_boot_zimage): Rename to ...
46005 (grub_linux_boot): ... this.
46006
46007 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46008 (grub_linux_boot): Remove function.
46009
0ece25b1 460102008-01-05 Robert Millan <rmh@aybabtu.com>
46011
46012 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46013 (grub_env_write_color_highlight): Likewise.
46014 (grub_wait_after_message): Likewise.
46015
46016 * normal/color.c: New file.
46017
46018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46019 (normal_mod_DEPENDENCIES): Likewise.
46020
46021 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46022 (normal_mod_DEPENDENCIES): Likewise.
46023
46024 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46025 (normal_mod_DEPENDENCIES): Likewise.
46026
46027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46028 (normal_mod_DEPENDENCIES): Likewise.
46029
46030 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46031 for waiting after a message is printed.
46032 * normal/main.c (read_config_file): Likewise.
46033 (grub_normal_init): Register grub_env_write_color_normal() and
46034 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46035 `color_highlight' variables as global.
46036
46037 * normal/menu.c (grub_wait_after_message): New function.
46038 (grub_color_menu_normal): New variable. Replaces ...
46039 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46040 (grub_color_menu_highlight): New variable. Replaces ...
46041 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46042 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46043 `GRUB_TERM_COLOR_STANDARD'.
46044 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46045 `normal_code' and `highlight_code' to `old_color_normal' and
46046 `old_color_highlight', respectively.
46047 (grub_menu_init_page): Update colors when drawing the menu, based on
46048 `menu_color_normal' and `menu_color_highlight' variables.
46049 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46050 a message is printed.
46051
182dd4e5 460522008-01-05 Robert Millan <rmh@aybabtu.com>
46053
46054 * kern/env.c (grub_env_context_open): Propagate hooks for global
46055 variables to new context.
46056
46057 * kern/main.c (grub_set_root_dev): Export `root' variable.
46058
ddf8f6ad 460592008-01-05 Robert Millan <rmh@aybabtu.com>
46060
46061 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46062 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46063 them.
46064
d8b43d9b 460652008-01-05 Robert Millan <rmh@aybabtu.com>
46066
46067 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46068
2bff2de3 460692008-01-04 Christian Franke <franke@computer.org>
46070
46071 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46072 of eisa_mmap.
46073
97eab917 460742008-01-03 Pavel Roskin <proski@gnu.org>
46075
46076 * kern/i386/linuxbios/init.c: Put "void" to all function
46077 declarations with no arguments.
46078 * kern/powerpc/ieee1275/init.c: Likewise.
46079 * term/i386/pc/at_keyboard.c: Likewise.
46080 * term/i386/pc/vga_text.c: Likewise.
46081 * util/grub-mkdevicemap.c: Likewise.
46082
b9416d00 460832008-01-02 Robert Millan <rmh@aybabtu.com>
46084
46085 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46086 message when loaded image is out of bounds.
46087 (grub_multiboot_load_elf64): Likewise.
46088
92695df9 460892008-01-02 Pavel Roskin <proski@gnu.org>
46090
46091 * util/grub.d/10_linux.in: Try version without ".old" when
46092 looking for initrd. It's better to use initrd from the newer
46093 kernel of the same version than no initrd at all.
46094
d98d9cad 460952008-01-01 Robert Millan <rmh@aybabtu.com>
46096
46097 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46098
dbfdce36 460992008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46100
f19dbdb7 46101 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46102 grub_video_get_active_render_target.
46103 (grub_video_adapter): Added unmap_color and get_active_render_target.
46104
f19dbdb7 46105 * video/video.c: Added grub_video_unmap_color and
dbfdce36 46106 grub_video_get_active_render_target.
46107 (grub_video_get_info): Changed method to accept NULL pointer as an
46108 argument to allow detection of active video adapter.
46109
46110 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46111 grub_video_vbe_unmap_color_int.
46112 Added grub_video_vbe_unmap_color and
46113 grub_video_vbe_get_active_render_target.
46114 (grub_video_vbe_adapter): Added unmap_color and
46115 get_active_render_target.
46116
f19dbdb7 46117 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 46118 with grub_video_vbe_unmap_color_int.
46119
46120 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46121 (DEFAULT_NORMAL_COLOR): Likewise.
46122 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46123 (DEFAULT_FG_COLOR): Removed.
46124 (DEFAULT_BG_COLOR): Likewise.
46125 (DEFAULT_CURSOR_COLOR): Changed value.
46126 (grub_virtual_screen): Added standard_color_setting,
46127 normal_color_setting, highlight_color_setting and term_color.
46128 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46129 (bitmap_width): Added.
46130 (bitmap_height): Likewise.
46131 (bitmap): Likewise.
46132 (set_term_color): Likewise.
46133 (grub_virtual_screen_setup): Changed to use new terminal coloring
46134 settings.
46135 (grub_gfxterm_init): Added init for bitmap.
46136 (grub_gfxterm_fini): Added destroy for bitmap.
46137 (redraw_screen_rect): Updated to use background bitmap and new
46138 terminal coloring.
46139 (scroll_up): Added optimization for case when there is no bitmap.
46140 (grub_gfxterm_cls): Fixed to use correct background color.
46141 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46142 coloring.
46143 (grub_virtual_screen_setcolor): Likewise.
46144 (grub_virtual_screen_getcolor): Added.
46145 (grub_gfxterm_background_image_cmd): Likewise.
46146 (grub_video_term): Added setcolor and getcolor.
46147 (MOD_INIT): Added registration of background_image command.
46148 (MOD_TERM): Added unregistration for background_image command.
46149
c3c20931 461502007-12-30 Pavel Roskin <proski@gnu.org>
46151
46152 * loader/multiboot_loader.c: Fix multiboot command
46153 unregistration. Fix all typos in the word "multiboot".
46154
df266716 461552007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46156
46157 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46158 support for initrd names used in Fedora.
46159
fc6e896c 461602007-12-26 Bean <bean123ch@gmail.com>
46161
46162 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46163 (cpio_mod_SOURCES): New variable.
46164 (cpio_mod_CFLAGS): Likewise.
46165 (cpio_mod_LDFLAGS): Likewise.
46166
46167 * fs/cpio.c: New file.
46168
46169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46170
46171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46172
46173 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46174
46175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46176
533110ad 461772007-12-25 Robert Millan <rmh@aybabtu.com>
46178
46179 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46180 (grub_getcolor): New function.
46181
46182 * kern/term.c (grub_getcolor): New function.
46183 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46184 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46185 (print_entry): Set normal and highlight colors to
46186 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46187 respectively, before printing and restore them to old
46188 values afterwards.
46189 (grub_menu_init_page): Likewise. Fill an additional colored space
46190 that would otherwise be left blank.
46191
46192 * term/efi/console.c (grub_console_getcolor): New function.
46193 (struct grub_console_term.getcolor): New variable.
46194 * term/i386/pc/console.c (grub_console_getcolor): New function.
46195 (struct grub_console_term.getcolor): New variable.
46196 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46197 (struct grub_console_term.getcolor): New variable.
46198
46199 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46200 (struct grub_console_term.setcolor): Remove variable.
46201 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46202 (struct grub_console_term.setcolor): Remove variable.
46203 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46204 (struct grub_console_term.setcolor): Remove variable.
46205 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46206 (struct grub_console_term.setcolor): Remove variable.
46207
4931827f 462082007-12-25 Robert Millan <rmh@aybabtu.com>
46209
46210 * configure.ac: Search for possible unifont.hex locations, and
46211 define UNIFONT_HEX if found.
46212
46213 * Makefile.in (UNIFONT_HEX): Define variable.
46214 (DATA): Rename to ...
46215 (PKGLIB): ... this. Update all users.
46216 (PKGDATA): New variable.
46217 (pkgdata_IMAGES): Rename to ...
46218 (pkglib_IMAGES): ... this. Update all users.
46219 (pkgdata_MODULES): Rename to ...
46220 (pkglib_MODULES): ... this. Update all users.
46221 (pkgdata_PROGRAMS): Rename to ...
46222 (pkglib_PROGRAMS): ... this. Update all users.
46223 (pkgdata_DATA): Rename to ...
46224 (pkglib_DATA): ... this. Update all users.
46225 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46226 (unicode.pff, ascii.pff): New rules.
46227 (all-local): Add `$(PKGDATA)' dependency.
46228 (install-local): Process `$(PKGDATA)'.
46229
46230 * util/update-grub_lib.in (font_path): Search for *.pff files in
46231 a few more locations, including `${pkgdata}'.
46232
57e57e31 462332007-12-23 Robert Millan <rmh@aybabtu.com>
46234
46235 Patch from Bean <bean123ch@gmail.com>:
46236 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46237 `size'.
46238
4bc72aa9 462392007-12-21 Bean <bean123ch@gmail.com>
46240
46241 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46242 (ntfscomp_mod_SOURCES): New variable.
46243 (ntfscomp_mod_CFLAGS): Likewise.
46244 (ntfscomp_mod_LDFLAGS): Likewise.
46245
46246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46247 (grub_probe_SOURCES): Likewise.
46248 (grub_emu_SOURCES): Likewise.
46249
46250 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46251 (grub_emu_SOURCES): Likewise.
46252
46253 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46254 (grub_emu_SOURCES): Likewise.
46255
46256 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46257 (grub_emu_SOURCES): Likewise.
46258
46259 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46260 (read_run_list): Renamed to grub_ntfs_read_run_list.
46261 (decomp_nextvcn): Moved to ntfscomp.c.
46262 (decomp_getch): Likewise.
46263 (decomp_get16): Likewise.
46264 (decomp_block): Likewise.
46265 (read_block): Likewise.
46266 (read_data): Partially moved to ntfscomp.c.
46267 (fixup): Change unsigned to grub_uint16_t.
46268 (read_mft): Change unsigned long to grub_uint32_t.
46269 (read_attr): Likewise.
46270 (read_data): Likewise.
46271 (read_run_data): Likewise.
46272 (read_run_list): Likewise.
46273 (read_mft): Likewise.
46274
46275 * fs/ntfscomp.c: New file.
46276
46277 * include/grub/ntfs.h: New file.
46278
af680a87 462792007-12-16 Robert Millan <rmh@aybabtu.com>
46280
46281 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46282 IDE disk check, since Linux is known to support 20 IDE disks.
46283 Reported by Colin Watson.
46284
84be7599 462852007-12-15 Bean <bean123ch@gmail.com>
46286
46287 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46288 (lnxboot_img_SOURCES): New variable.
46289 (lnxboot_img_ASFLAGS): Likewise.
46290 (lnxboot_img_LDFLAGS): Likewise.
46291
46292 * boot/i386/pc/lnxboot.S: New file.
46293
6af9db01 462942007-11-24 Pavel Roskin <proski@gnu.org>
46295
46296 * configure.ac: Test if '--build-id=none' is supported by the
46297 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46298 objcopy to generate incorrect binary files (binutils
46299 2.17.50.0.18-1 as shipped by Fedora 8).
46300 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46301 linking, so that build ID doesn't break the test.
46302
7361cfe6 463032007-11-24 Pavel Roskin <proski@gnu.org>
46304
46305 * include/grub/i386/time.h: use "void" in the argument list
46306 of grub_cpu_idle().
46307 * include/grub/powerpc/time.h: Likewise.
46308 * include/grub/sparc64/time.h: Likewise.
46309
1593e10c 463102007-11-18 Christian Franke <franke@computer.org>
46311
46312 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46313 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46314 This fixes the problem that function keys did not work in grub-emu.
46315
3b8db1a8 463162007-11-18 Christian Franke <franke@computer.org>
46317
46318 * disk/host.c (grub_host_open): Remove attribute unused from
46319 name parameter. Add check for "host". This fixes the problem
46320 that grub-emu does not find partitions.
46321
2e29408d 463222007-11-18 Christian Franke <franke@computer.org>
46323
46324 * util/hostfs.c (is_dir): New function.
46325 (grub_hostfs_dir): Handle missing dirent.d_type case.
46326 (grub_hostfs_read): Add missing fseek().
46327 (grub_hostfs_label): Clear label pointer. This fixes a crash
46328 of grub-emu on "ls (host)".
46329
398cd047 463302007-11-18 Christian Franke <franke@computer.org>
46331
46332 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46333 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46334 to 64 bit boundary by default.
46335
c405c391 463362007-11-18 Bean <bean123ch@gmail.com>
46337
46338 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46339 (hexdump_mod_SOURCES): New variable.
46340 (hexdump_mod_CFLAGS): Likewise.
46341 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46342
c405c391 46343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46344
46345 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46346
46347 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46348
46349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46350
46351 * include/grub/hexdump.h: New file.
46352
46353 * commands/hexdump.c: New file.
46354
5cced7fd 463552007-11-10 Robert Millan <rmh@aybabtu.com>
46356
46357 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46358 in grub_outb() calls.
46359 (beep_on): Likewise.
46360
8b714eb0 463612007-11-10 Christian Franke <franke@computer.org>
46362
46363 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46364 (grub_menu_run): Likewise.
46365
ce0f1839 463662007-11-10 Robert Millan <rmh@aybabtu.com>
46367
46368 * include/grub/i386/efi/machine.h: New file.
46369 * include/grub/i386/linuxbios/machine.h: Likewise.
46370 * include/grub/i386/pc/machine.h: Likewise.
46371 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46372 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46373
46374 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46375 (serial_hw_io_addr): New variable.
46376 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46377 instead of `(unsigned short *) 0x400'.
46378
270c237d 463792007-11-10 Bean <bean123ch@gmail.com>
46380
46381 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46382
a87783bf 463832007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46384
46385 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46386 (vga_mod_SOURCES): Added.
46387 (vga_mod_CFLAGS): Likewise.
46388 (vga_mod_LDFLAGS): Likewise.
46389
46390 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46391 grub_outb() calls.
46392 (set_map_mask): Likewise.
46393 (set_read_map): Likewise.
46394 (set_read_address): Likewise.
46395 (vga_font): Removed variable.
46396 (get_vga_glyph): Removed function.
46397 (invalidate_char): Likewise.
46398 (write_char): Changed to use grub_font_get_glyph() for font
46399 information.
46400 (grub_vga_putchar): Likewise.
46401 (grub_vga_getcharwidth): Likewise.
46402
6433b448 464032007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46404
46405 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46406 flags.
46407 (pxeboot_img_LDFLAGS): Likewise.
46408 (diskboot_img_LDFLAGS): Likewise.
46409 (kernel_img_LDFLAGS): Likewise.
46410
49178511 464112007-11-06 Robert Millan <rmh@aybabtu.com>
46412
46413 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46414 in grub_outb() calls.
46415 (serial_hw_init): Likewise.
46416
53b052de 464172007-11-05 Robert Millan <rmh@aybabtu.com>
46418
46419 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46420 spaces. Skip non-regular files.
46421
5ab33bba 464222007-11-05 Robert Millan <rmh@aybabtu.com>
46423
46424 * kern/disk.c (grub_disk_firmware_fini)
46425 (grub_disk_firmware_is_tainted): New variables.
46426
46427 * include/grub/disk.h (grub_disk_firmware_fini)
46428 (grub_disk_firmware_is_tainted): Likewise.
46429
46430 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46431 (grub_disk_biosdisk_fini): ... to here.
46432 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46433 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46434 is set. Register grub_disk_biosdisk_fini() in
46435 `grub_disk_firmware_fini'.
46436
46437 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46438 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46439 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46440 to finish existing firmware disk interface.
46441
46442 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46443 (ata_mod_SOURCES): New variable.
46444 (ata_mod_CFLAGS): Likewise.
46445 (ata_mod_LDFLAGS): Likewise.
46446
0149ab7c 464472007-11-05 Robert Millan <rmh@aybabtu.com>
46448
46449 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46450 (grub_ata_wait): Reimplement using grub_millisleep().
46451
46452 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46453 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46454
be7ac41e 464552007-11-03 Marco Gerards <marco@gnu.org>
46456
46457 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46458 (CRTC_ADDR_PORT): New macro.
46459 (CRTC_DATA_PORT): Likewise.
46460 (CRTC_CURSOR): Likewise.
46461 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46462 (CRTC_CURSOR_ADDR_LOW): Likewise.
46463 (update_cursor): New function.
46464 (grub_console_real_putchar): Call `update_cursor'.
46465 (grub_console_gotoxy): Likewise.
46466 (grub_console_cls): Set the default color when clearing the
46467 screen.
46468 (grub_console_setcursor): Implemented.
46469
bb06ab2e 464702007-11-03 Marco Gerards <marco@gnu.org>
46471
46472 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46473 become activate.
46474 (grub_ata_pio_write): Likewise.
46475
46476 (grub_atapi_identify): Wait after issuing an ATA command.
46477 (grub_atapi_packet): Likewise.
46478 (grub_ata_identify): Likewise.
46479 (grub_ata_readwrite): Likewise.
46480
cf8f780b 464812007-11-03 Marco Gerards <marco@gnu.org>
46482
46483 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46484 (grub_ata_pio_write): Likewise.
46485 (grub_ata_readwrite): Use `grub_error', instead of
46486 returning `grub_errno'.
46487
ed649e54 464882007-11-03 Marco Gerards <marco@gnu.org>
46489
46490 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46491 grub_ata_pio_write once for every single sector, instead of for
46492 multiple sectors.
46493
ca25d8f0 464942007-10-31 Robert Millan <rmh@aybabtu.com>
46495
46496 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46497
46498 * conf/i386-linuxbios.rmk: New file.
46499
46500 * kern/i386/pc/hardware.c: Likewise.
46501 * term/i386/pc/at_keyboard.c: Likewise.
46502 * term/i386/pc/vga_text.c: Likewise.
46503
46504 * include/grub/i386/linuxbios/boot.h: Likewise.
46505 * include/grub/i386/linuxbios/console.h: Likewise.
46506 * include/grub/i386/linuxbios/init.h: Likewise.
46507 * include/grub/i386/linuxbios/kernel.h: Likewise.
46508 * include/grub/i386/linuxbios/loader.h: Likewise.
46509 * include/grub/i386/linuxbios/memory.h: Likewise.
46510 * include/grub/i386/linuxbios/serial.h: Likewise.
46511 * include/grub/i386/linuxbios/time.h: Likewise.
46512
46513 * kern/i386/linuxbios/init.c: Likewise.
46514 * kern/i386/linuxbios/startup.S: Likewise.
46515 * kern/i386/linuxbios/table.c: Likewise.
46516
e911ecc1 465172007-10-31 Marco Gerards <marco@gnu.org>
46518
46519 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46520 (ata_mod_SOURCES): New variable.
46521 (ata_mod_CFLAGS): Likewise.
46522 (ata_mod_LDFLAGS): Likewise.
46523
46524 * disk/ata.c: New file.
46525
46526 * include/grub/disk.h (grub_disk_dev_id): Add
46527 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46528
7f66d0e0 465292007-10-31 Robert Millan <rmh@aybabtu.com>
46530
46531 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46532 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46533
46534 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46535 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46536
46537 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46538 `<grub/types.h>'.
46539
46540 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46541
5cd7dd46 465422007-10-27 Robert Millan <rmh@aybabtu.com>
46543
3236ca65 46544 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46545
2ebfc90f 465462007-10-22 Robert Millan <rmh@aybabtu.com>
46547
46548 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46549 `"../realmode.S"'.
46550 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46551
73fcb0f3 465522007-10-22 Robert Millan <rmh@aybabtu.com>
46553
46554 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46555 (pkgdata_MODULES): Add `biosdisk.mod'.
46556 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46557 variables.
46558
46559 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46560 (grub_biosdisk_init): Replace with ...
46561 (GRUB_MOD_INIT(biosdisk)): ... this.
46562 (grub_biosdisk_fini): Replace with ...
46563 (GRUB_MOD_FINI(biosdisk)): ... this.
46564
46565 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46566 (grub_machine_init): Remove call to grub_biosdisk_init().
46567 (grub_machine_fini): Remove call to grub_machine_fini().
46568
46569 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46570
3381d274 465712007-10-22 Robert Millan <rmh@aybabtu.com>
46572
46573 * include/grub/time.h: New file.
46574 * include/grub/i386/time.h: Likewise.
46575 * include/grub/powerpc/time.h: Likewise.
46576 * include/grub/sparc64/time.h: Likewise.
46577
46578 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46579 instances to ...
46580 (KERNEL_MACHINE_TIME_HEADER): ... this.
46581 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46582 instances to ...
46583 (KERNEL_MACHINE_TIME_HEADER): ... this.
46584 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46585 instances to ...
46586 (KERNEL_MACHINE_TIME_HEADER): ... this.
46587
46588 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46589 (grub_millisleep): New function.
46590 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46591 (grub_millisleep): New function.
46592 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46593 Remove `grub/machine/time.h' include.
46594 (grub_millisleep): New function.
46595 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46596 Remove `grub/machine/time.h' include.
46597 (grub_millisleep): New function.
46598
46599 * include/grub/misc.h (grub_div_roundup): New function.
46600
46601 * kern/misc.c: Include `<grub/time.h>'.
46602 (grub_millisleep_generic): New function.
46603
46604 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46605 Add `time.h'.
46606 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46607 Add `time.h'.
46608 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46609 `machine/time.h'. Add `time.h'.
46610 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46611
a39a0312 466122007-10-21 Robert Millan <rmh@aybabtu.com>
46613
46614 * include/grub/misc.h (grub_max): New function.
46615
2aad70e2 466162007-10-21 Robert Millan <rmh@aybabtu.com>
46617
46618 * util/misc.c (grub_util_info): Call fflush() before returning.
46619
54b71c4b 466202007-10-20 Robert Millan <rmh@aybabtu.com>
46621
46622 * genmk.rb (Image): Copy `extra_flags' from here ...
46623 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46624
46625 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46626 to `argc' and `args' arguments.
46627
a979f513 466282007-10-17 Robert Millan <rmh@aybabtu.com>
46629
46630 * kern/i386/loader.S: New file.
46631
46632 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46633 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46634 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46635 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46636 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46637 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46638 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46639 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46640 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46641 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46642 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46643 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46644 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46645 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46646
46647 * kern/i386/realmode.S: New file.
46648
46649 * kern/i386/pc/startup.S (protstack): Moved from here ...
46650 * kern/i386/realmode.S (protstack)... to here.
46651 * kern/i386/pc/startup.S (gdt): Moved from here ...
46652 * kern/i386/realmode.S (gdt)... to here.
46653 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46654 * kern/i386/realmode.S (prot_to_real)... to here.
46655
46656 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46657 `kern/i386/realmode.S'.
46658
825fc8fd 466592007-10-17 Robert Millan <rmh@aybabtu.com>
46660
46661 * include/grub/i386/loader.h: New file.
46662
46663 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46664 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46665 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46666 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46667 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46668 * include/grub/i386/loader.h (grub_linux_prot_size)
46669 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46670 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46671 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46672 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46673
46674 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46675
e179b2f4 466762007-10-15 Robert Millan <rmh@aybabtu.com>
46677
46678 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46679 filesystem when dev->disk is unset.
46680 Do probe for filesystem even when dev->disk->has_partitions is set.
46681 In case a filesystem is found, always report it.
46682 In case it isn't, if dev->disk->has_partitions is set, report that
46683 a partition table was found instead of reporting that no filesystem
46684 could be identified.
46685
5db82af6 466862007-10-12 Robert Millan <rmh@aybabtu.com>
46687
46688 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46689 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46690
68f6ac74 46691 * include/grub/types.h (grub_host_to_target16): New macro.
46692 (grub_host_to_target32): Likewise.
46693 (grub_host_to_target64): Likewise.
46694 (grub_target_to_host16): Likewise.
46695 (grub_target_to_host32): Likewise.
46696 (grub_target_to_host64): Likewise.
5db82af6 46697
46698 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46699 Renamed from to ...
46700 (GRUB_MOD_ALIGN): ...this. Update all users.
46701
68f6ac74 46702 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46703 grub_host_to_target32.
46704 Replace grub_be_to_cpu32 with grub_target_to_host32.
46705 (load_modules): Likewise.
46706 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46707 Replace grub_be_to_cpu32 with grub_target_to_host32.
46708 Replace grub_cpu_to_be16 with grub_host_to_target16.
46709 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46710
3cf497cc 467112007-10-12 Robert Millan <rmh@aybabtu.com>
46712
46713 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46714 * util/elf/grub-mkimage.c: ... here.
46715
46716 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46717 `util/powerpc/ieee1275/grub-mkimage.c'.
46718
c8cc3692 467192007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46720
c8cc3692 46721 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46722 and make it easier to figure out.
46723 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46724 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46725 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46726 leave us with less than HEAP_MIN_SIZE total heap.
46727 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46728
5c58b791 467292007-10-03 Robert Millan <rmh@aybabtu.com>
46730
46731 * include/grub/i386/io.h: New file.
46732 * commands/i386/pc/play.c (inb): Removed.
46733 (outb): Removed.
46734 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46735 with grub_outb().
afcd2ef8 46736 * term/i386/pc/serial.c (inb): Removed.
46737 (outb): Removed.
46738 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46739 with grub_outb().
46740 * term/i386/pc/vga.c (inb): Removed.
46741 (outb): Removed.
46742 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46743 with grub_outb().
5c58b791 46744
1a477ed6 467452007-10-02 Robert Millan <rmh@aybabtu.com>
46746
46747 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46749 Reported by Marcin Kurek.
46750
6b5d80fa 467512007-09-07 Robert Millan <rmh@aybabtu.com>
46752
46753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46754 SmartFirmware version updates (as released by Sven Luther), and avoid
46755 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46756 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46757 known broken.
46758
5618afbf 467592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46760
46761 From Hitoshi Ozeki:
46762 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46763 when merging two regions.
46764
6139dcd9 467652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46766
508e39ee 46767 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46768 * normal/completion.c (grub_normal_do_completion): Likewise.
46769 Reported by Hitoshi Ozeki.
46770
467712007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46772
6139dcd9 46773 Do not use devices at boot in chainloading.
f19dbdb7 46774
6139dcd9 46775 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46776 (boot_part_addr): Likewise.
46777 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46778 with BOOT_DRIVE and BOOT_PART_ADDR.
46779 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46780 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46781
38da6516 467822007-08-29 Robert Millan <rmh@aybabtu.com>
46783
46784 Patch from Simon Peter <dn.tlp@gmx.net>:
46785 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46786 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46787 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46788 util/i386/pc/grub-setup.c_DEPENDENCIES.
46789 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46790 util/grub-probe.c_DEPENDENCIES.
46791 * conf/powerpc-ieee1275.rmk: Likewise.
46792
29d0928c 467932007-08-28 Robert Millan <rmh@aybabtu.com>
46794
46795 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46796 to tell grub-mkdevicemap how to name devices.
46797 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46798 feature).
46799
46800 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46801 util/i386/get_disk_name.c.
46802 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46803 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46804 util/ieee1275/get_disk_name.c.
46805
46806 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46807
46808 * DISTLIST: Add util/i386/get_disk_name.c and
46809 util/ieee1275/get_disk_name.c.
46810
46811 * util/grub-mkdevicemap.c: Replace device naming logic with
46812 grub_util_get_disk_name() calls.
46813
5a0d3cca 468142007-08-20 Robert Millan <rmh@aybabtu.com>
46815
46816 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46817 (so that it works for both plural and singular quantities).
46818
8b72db2f 468192007-08-05 Robert Millan <rmh@aybabtu.com>
46820
46821 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46822 so that [xz] isn't taken into account when determining order.
46823
352466bf 468242007-08-02 Marco Gerards <marco@gnu.org>
46825
46826 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46827 `include/multiboot2.h', `include/grub/elfload.h',
46828 `include/multiboot.h', `include/grub/multiboot.h',
46829 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46830 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46831 `kern/elf.c', `loader/multiboot_loader.c',
46832 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46833 `loader/i386/pc/multiboot2.c',
46834 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46835 `util/i386/pc/grub-mkrescue.in'. Remove
46836 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46837 `include/grub/i386/pc/util/biosdisk.h' and
46838 `include/grub/powerpc/ieee1275/multiboot.h'.
46839
8f096014 468402007-08-02 Bean <bean123ch@gmail.com>
46841
46842 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46843 (ntfs_mod_SOURCES): New variable.
46844 (ntfs_mod_CFLAGS): Likewise.
46845 (ntfs_mod_LDFLAGS): Likewise.
46846
46847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46848 (grub_probe_SOURCES): Likewise.
46849 (grub_emu_SOURCES): Likewise.
46850
46851 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46852 (grub_emu_SOURCES): Likewise.
46853
46854 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46855 (grub_emu_SOURCES): Likewise.
f19dbdb7 46856
8f096014 46857 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
46858
46859 * fs/ntfs.c: New file.
46860
9959f7db 468612007-08-02 Bean <bean123ch@gmail.com>
46862
46863 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
46864
46865 * file.h (grub_file): Likewise.
46866
46867 * fshelp.h (grub_fshelp_read_file): Likewise.
46868
46869 * util/i386/pc/grub-setup.c (setup): Likewise.
46870 (save_first_sector): Likewise.
46871 (save_blocklists): Likewise.
f19dbdb7 46872
9959f7db 46873 * fs/affs.c (grub_affs_read_file): Likewise.
46874
46875 * fs/ext2.c (grub_ext2_read_file): Likewise.
46876
46877 * fs/fat.c (grub_fat_read_data): Likewise.
46878
46879 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
46880
46881 * fs/hfs.c (grub_hfs_read_file): Likewise.
46882
46883 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46884
46885 * fs/jfs.c (grub_jfs_read_file): Likewise.
46886
46887 * fs/minix.c (grub_minix_read_file): Likewise.
46888
46889 * fs/sfs.c (grub_sfs_read_file): Likewise.
46890
46891 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 46892
9959f7db 46893 * fs/xfs.c (grub_xfs_read_file): Likewise.
46894
46895 * command/blocklist.c (read_blocklist): Likewise.
46896 (print_blocklist): Likewise.
46897
0a203f83 468982007-08-02 Marco Gerards <marco@gnu.org>
46899
46900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
46901 `util/hostfs.c'.
46902
46903 * disk/host.c: New file.
46904
46905 * util/hostfs.c: Likewise.
46906
46907 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
46908 return `GRUB_ERR_BAD_FS'.
46909 * fs/sfs.c (grub_sfs_mount): Likewise.
46910 * fs/xfs.c (grub_xfs_mount): Likewise.
46911
46912 * include/grub/disk.h (enum grub_disk_dev_id): Add
46913 `GRUB_DISK_DEVICE_HOST_ID'.
46914
46915 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
46916
e5dfe777 469172007-07-24 Jerone Young <jerone@gmail.com>
46918
f19dbdb7 46919 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 46920 modules for compilation.
46921 * conf/powerpc-ieee1275.rmk: Likewise.
46922
46923 * include/multiboot.h: Move multiboot definitions to one file. Rename
46924 many definitions to not get grub specific.
46925 * include/multiboot2.h: Create header with multiboot 2 definitions.
46926 * include/grub/multiboot.h: Header for grub specific function
46927 prototypes and definitions.
46928 * include/grub/multiboot2.h: Likewise.
46929 * include/grub/multiboot_loader.h: Likewise.
46930 * include/grub/i386/pc/multiboot.h: Removed.
46931 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
46932
46933 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
46934 and 2 to allow for one multiboot and module commands.
46935 * loader/multiboot2.c: Add multiboot2 functionality.
46936 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
46937 and definition names.
46938 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
46939 2 functions.
46940 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
46941 ieee1275 specific multiboot2 code.
46942
46943 * kern/i386/pc/startup.S: Change headers and definition names for
46944 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
46945
daf0f0ba 469462007-07-22 Robert Millan <rmh@aybabtu.com>
46947
46948 * geninitheader.sh: Process file specified in first parameter rather
46949 than hardcoding grub_modules_init.lst.
fe6b695a 46950 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 46951 than hardcoding grub_modules_init.h.
46952
46953 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
46954 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
46955 grub_probe_init.[ch] and grub_setup_init.[ch].
46956
46957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
46958 grub_modules_init.h with grub_emu_init.h.
46959 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
46960 grub_probe_init.[ch] files.
46961 * conf/i386-efi.rmk: Likewise.
46962 * conf/i386-pc.rmk: Likewise.
46963 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
46964 grub_setup_init.[ch] files.
46965
46966 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
46967 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
46968 to initialize modules rather than a list of hardcoded functions.
46969 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
46970 grub_init_all() to initialize modules rather than a list of hardcoded
46971 functions.
46972
54cdc1cc 469732007-07-22 Robert Millan <rmh@aybabtu.com>
46974
46975 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
46976 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
46977
ad0686cc 469782007-07-22 Robert Millan <rmh@aybabtu.com>
46979
46980 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46981 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
46982 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
46983 flag when running on SmartFirmware.
46984 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
46985 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
46986 was set.
46987
46988 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46989 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
46990 rather than decreasing it.
46991
46992 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
46993 there's not enough space to do it, fail in the same way as when it
46994 can't be done because there are no partitions.
46995
46996 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
46997 when nvsetenv failed.
46998
969c02ec 469992007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47000
47001 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47002 because this rule is automatically generated.
47003 (grub-mkrescue): Removed for the same reason as above.
47004
5a79f472 470052007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47006
47007 Migrate to GNU General Public License Version 3.
f19dbdb7 47008
5a79f472 47009 * COPYING: Replaced with the plain text version of GPLv3.
47010
47011 * config.guess: Updated from gnulib.
47012 * config.sub: Likewise.
47013
47014 * geninit.sh: Output a GPLv3 copyright notice.
47015 * geninitheader.sh: Likewise.
47016 * genmodsrc.sh: Likewise.
47017 * gensymlist.sh.in: Likewise.
47018
47019 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47020 * boot/i386/pc/diskboot.S: Likewise.
47021 * boot/i386/pc/pxeboot.S: Likewise.
47022 * commands/blocklist.c: Likewise.
47023 * commands/boot.c: Likewise.
47024 * commands/cat.c: Likewise.
47025 * commands/cmp.c: Likewise.
47026 * commands/configfile.c: Likewise.
47027 * commands/echo.c: Likewise.
47028 * commands/help.c: Likewise.
47029 * commands/ls.c: Likewise.
47030 * commands/search.c: Likewise.
47031 * commands/terminal.c: Likewise.
47032 * commands/test.c: Likewise.
47033 * commands/videotest.c: Likewise.
47034 * commands/i386/cpuid.c: Likewise.
47035 * commands/i386/pc/halt.c: Likewise.
47036 * commands/i386/pc/play.c: Likewise.
47037 * commands/i386/pc/reboot.c: Likewise.
47038 * commands/i386/pc/vbeinfo.c: Likewise.
47039 * commands/i386/pc/vbetest.c: Likewise.
47040 * commands/ieee1275/halt.c: Likewise.
47041 * commands/ieee1275/reboot.c: Likewise.
47042 * commands/ieee1275/suspend.c: Likewise.
47043 * disk/loopback.c: Likewise.
47044 * disk/lvm.c: Likewise.
47045 * disk/raid.c: Likewise.
47046 * disk/efi/efidisk.c: Likewise.
47047 * disk/i386/pc/biosdisk.c: Likewise.
47048 * disk/ieee1275/ofdisk.c: Likewise.
47049 * font/manager.c: Likewise.
47050 * fs/affs.c: Likewise.
47051 * fs/ext2.c: Likewise.
47052 * fs/fat.c: Likewise.
47053 * fs/fshelp.c: Likewise.
47054 * fs/hfs.c: Likewise.
47055 * fs/hfsplus.c: Likewise.
47056 * fs/iso9660.c: Likewise.
47057 * fs/jfs.c: Likewise.
47058 * fs/minix.c: Likewise.
47059 * fs/sfs.c: Likewise.
47060 * fs/ufs.c: Likewise.
47061 * fs/xfs.c: Likewise.
47062 * hello/hello.c: Likewise.
47063 * include/grub/acorn_filecore.h: Likewise.
47064 * include/grub/arg.h: Likewise.
47065 * include/grub/bitmap.h: Likewise.
47066 * include/grub/boot.h: Likewise.
47067 * include/grub/cache.h: Likewise.
47068 * include/grub/device.h: Likewise.
47069 * include/grub/disk.h: Likewise.
47070 * include/grub/dl.h: Likewise.
47071 * include/grub/elfload.h: Likewise.
47072 * include/grub/env.h: Likewise.
47073 * include/grub/err.h: Likewise.
47074 * include/grub/file.h: Likewise.
47075 * include/grub/font.h: Likewise.
47076 * include/grub/fs.h: Likewise.
47077 * include/grub/fshelp.h: Likewise.
47078 * include/grub/gzio.h: Likewise.
47079 * include/grub/hfs.h: Likewise.
47080 * include/grub/kernel.h: Likewise.
47081 * include/grub/loader.h: Likewise.
47082 * include/grub/lvm.h: Likewise.
47083 * include/grub/misc.h: Likewise.
47084 * include/grub/mm.h: Likewise.
47085 * include/grub/net.h: Likewise.
47086 * include/grub/normal.h: Likewise.
47087 * include/grub/parser.h: Likewise.
47088 * include/grub/partition.h: Likewise.
47089 * include/grub/pc_partition.h: Likewise.
47090 * include/grub/raid.h: Likewise.
47091 * include/grub/rescue.h: Likewise.
47092 * include/grub/script.h: Likewise.
47093 * include/grub/setjmp.h: Likewise.
47094 * include/grub/symbol.h: Likewise.
47095 * include/grub/term.h: Likewise.
47096 * include/grub/terminfo.h: Likewise.
47097 * include/grub/tparm.h: Likewise.
47098 * include/grub/types.h: Likewise.
47099 * include/grub/video.h: Likewise.
47100 * include/grub/efi/api.h: Likewise.
47101 * include/grub/efi/chainloader.h: Likewise.
47102 * include/grub/efi/console.h: Likewise.
47103 * include/grub/efi/console_control.h: Likewise.
47104 * include/grub/efi/disk.h: Likewise.
47105 * include/grub/efi/efi.h: Likewise.
47106 * include/grub/efi/pe32.h: Likewise.
47107 * include/grub/efi/time.h: Likewise.
47108 * include/grub/i386/linux.h: Likewise.
47109 * include/grub/i386/setjmp.h: Likewise.
47110 * include/grub/i386/types.h: Likewise.
47111 * include/grub/i386/efi/kernel.h: Likewise.
47112 * include/grub/i386/efi/loader.h: Likewise.
47113 * include/grub/i386/efi/time.h: Likewise.
47114 * include/grub/i386/pc/biosdisk.h: Likewise.
47115 * include/grub/i386/pc/boot.h: Likewise.
47116 * include/grub/i386/pc/chainloader.h: Likewise.
47117 * include/grub/i386/pc/console.h: Likewise.
47118 * include/grub/i386/pc/init.h: Likewise.
47119 * include/grub/i386/pc/kernel.h: Likewise.
47120 * include/grub/i386/pc/loader.h: Likewise.
47121 * include/grub/i386/pc/memory.h: Likewise.
47122 * include/grub/i386/pc/multiboot.h: Likewise.
47123 * include/grub/i386/pc/serial.h: Likewise.
47124 * include/grub/i386/pc/time.h: Likewise.
47125 * include/grub/i386/pc/vbe.h: Likewise.
47126 * include/grub/i386/pc/vbeblit.h: Likewise.
47127 * include/grub/i386/pc/vbefill.h: Likewise.
47128 * include/grub/i386/pc/vbeutil.h: Likewise.
47129 * include/grub/i386/pc/vga.h: Likewise.
47130 * include/grub/ieee1275/ieee1275.h: Likewise.
47131 * include/grub/ieee1275/ofdisk.h: Likewise.
47132 * include/grub/powerpc/libgcc.h: Likewise.
47133 * include/grub/powerpc/setjmp.h: Likewise.
47134 * include/grub/powerpc/types.h: Likewise.
47135 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47136 * include/grub/powerpc/ieee1275/console.h: Likewise.
47137 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47138 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47139 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47140 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47141 * include/grub/powerpc/ieee1275/time.h: Likewise.
47142 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47143 * include/grub/sparc64/libgcc.h: Likewise.
47144 * include/grub/sparc64/setjmp.h: Likewise.
47145 * include/grub/sparc64/types.h: Likewise.
47146 * include/grub/sparc64/ieee1275/console.h: Likewise.
47147 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47148 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47149 * include/grub/sparc64/ieee1275/time.h: Likewise.
47150 * include/grub/util/biosdisk.h: Likewise.
47151 * include/grub/util/getroot.h: Likewise.
47152 * include/grub/util/lvm.h: Likewise.
47153 * include/grub/util/misc.h: Likewise.
47154 * include/grub/util/raid.h: Likewise.
47155 * include/grub/util/resolve.h: Likewise.
47156 * io/gzio.c: Likewise.
47157 * kern/device.c: Likewise.
47158 * kern/disk.c: Likewise.
47159 * kern/dl.c: Likewise.
47160 * kern/elf.c: Likewise.
47161 * kern/env.c: Likewise.
47162 * kern/err.c: Likewise.
47163 * kern/file.c: Likewise.
47164 * kern/fs.c: Likewise.
47165 * kern/loader.c: Likewise.
47166 * kern/main.c: Likewise.
47167 * kern/misc.c: Likewise.
47168 * kern/mm.c: Likewise.
47169 * kern/parser.c: Likewise.
47170 * kern/partition.c: Likewise.
47171 * kern/rescue.c: Likewise.
47172 * kern/term.c: Likewise.
47173 * kern/efi/efi.c: Likewise.
47174 * kern/efi/init.c: Likewise.
47175 * kern/efi/mm.c: Likewise.
47176 * kern/i386/dl.c: Likewise.
47177 * kern/i386/efi/init.c: Likewise.
47178 * kern/i386/efi/startup.S: Likewise.
47179 * kern/i386/pc/init.c: Likewise.
47180 * kern/i386/pc/lzo1x.S: Likewise.
47181 * kern/i386/pc/startup.S: Likewise.
47182 * kern/ieee1275/ieee1275.c: Likewise.
47183 * kern/powerpc/cache.S: Likewise.
47184 * kern/powerpc/dl.c: Likewise.
47185 * kern/powerpc/ieee1275/cmain.c: Likewise.
47186 * kern/powerpc/ieee1275/crt0.S: Likewise.
47187 * kern/powerpc/ieee1275/init.c: Likewise.
47188 * kern/powerpc/ieee1275/openfw.c: Likewise.
47189 * kern/sparc64/cache.S: Likewise.
47190 * kern/sparc64/dl.c: Likewise.
47191 * kern/sparc64/ieee1275/init.c: Likewise.
47192 * kern/sparc64/ieee1275/openfw.c: Likewise.
47193 * loader/efi/chainloader.c: Likewise.
47194 * loader/efi/chainloader_normal.c: Likewise.
47195 * loader/i386/efi/linux.c: Likewise.
47196 * loader/i386/efi/linux_normal.c: Likewise.
47197 * loader/i386/pc/chainloader.c: Likewise.
47198 * loader/i386/pc/chainloader_normal.c: Likewise.
47199 * loader/i386/pc/linux.c: Likewise.
47200 * loader/i386/pc/linux_normal.c: Likewise.
47201 * loader/i386/pc/multiboot.c: Likewise.
47202 * loader/i386/pc/multiboot_normal.c: Likewise.
47203 * loader/powerpc/ieee1275/linux.c: Likewise.
47204 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47205 * normal/arg.c: Likewise.
47206 * normal/cmdline.c: Likewise.
47207 * normal/command.c: Likewise.
47208 * normal/completion.c: Likewise.
47209 * normal/execute.c: Likewise.
47210 * normal/function.c: Likewise.
47211 * normal/lexer.c: Likewise.
47212 * normal/main.c: Likewise.
47213 * normal/menu.c: Likewise.
47214 * normal/menu_entry.c: Likewise.
47215 * normal/misc.c: Likewise.
47216 * normal/parser.y: Likewise.
47217 * normal/script.c: Likewise.
47218 * normal/i386/setjmp.S: Likewise.
47219 * normal/powerpc/setjmp.S: Likewise.
47220 * normal/sparc64/setjmp.S: Likewise.
47221 * partmap/acorn.c: Likewise.
47222 * partmap/amiga.c: Likewise.
47223 * partmap/apple.c: Likewise.
47224 * partmap/gpt.c: Likewise.
47225 * partmap/pc.c: Likewise.
47226 * partmap/sun.c: Likewise.
47227 * term/gfxterm.c: Likewise.
47228 * term/terminfo.c: Likewise.
47229 * term/efi/console.c: Likewise.
47230 * term/i386/pc/console.c: Likewise.
47231 * term/i386/pc/serial.c: Likewise.
47232 * term/i386/pc/vesafb.c: Likewise.
47233 * term/i386/pc/vga.c: Likewise.
47234 * term/ieee1275/ofconsole.c: Likewise.
47235 * util/biosdisk.c: Likewise.
47236 * util/console.c: Likewise.
47237 * util/genmoddep.c: Likewise.
47238 * util/getroot.c: Likewise.
47239 * util/grub-emu.c: Likewise.
47240 * util/grub-mkdevicemap.c: Likewise.
47241 * util/grub-probe.c: Likewise.
47242 * util/lvm.c: Likewise.
47243 * util/misc.c: Likewise.
47244 * util/raid.c: Likewise.
47245 * util/resolve.c: Likewise.
47246 * util/update-grub.in: Likewise.
47247 * util/update-grub_lib.in: Likewise.
47248 * util/grub.d/00_header.in: Likewise.
47249 * util/grub.d/10_hurd.in: Likewise.
47250 * util/grub.d/10_linux.in: Likewise.
47251 * util/i386/efi/grub-install.in: Likewise.
47252 * util/i386/efi/grub-mkimage.c: Likewise.
47253 * util/i386/pc/grub-install.in: Likewise.
47254 * util/i386/pc/grub-mkimage.c: Likewise.
47255 * util/i386/pc/grub-mkrescue.in: Likewise.
47256 * util/i386/pc/grub-setup.c: Likewise.
47257 * util/i386/pc/misc.c: Likewise.
47258 * util/powerpc/ieee1275/grub-install.in: Likewise.
47259 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47260 * util/powerpc/ieee1275/misc.c: Likewise.
47261 * video/bitmap.c: Likewise.
47262 * video/video.c: Likewise.
47263 * video/i386/pc/vbe.c: Likewise.
47264 * video/i386/pc/vbeblit.c: Likewise.
47265 * video/i386/pc/vbefill.c: Likewise.
47266 * video/i386/pc/vbeutil.c: Likewise.
47267 * video/readers/tga.c: Likewise.
47268
3572d015 472692007-07-02 Robert Millan <rmh@aybabtu.com>
47270
47271 * conf/i386-efi.rmk: Replace obsolete reference to
47272 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47273 with util/getroot.c.
47274 * conf/powerpc-ieee1275.rmk: Likewise.
47275 * conf/sparc64-ieee1275.rmk: Likewise.
47276
47277 * util/grub-emu.c (main): Fix unchecked pointer handling.
47278
2c2a681b 472792007-07-02 Robert Millan <rmh@aybabtu.com>
47280
47281 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47282 invocation to fail, in order to support partition-less media.
47283
47284 * util/i386/pc/grub-install.in: Likewise.
47285
47286 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47287 which fs or partmap modules are needed (akin to its sister scripts).
47288
47289 Also use grub-probe to get rid of unportable /proc/mounts check.
47290
47291 Print the same informational message that the other scripts do, before
fe6b695a 47292 exiting.
2c2a681b 47293
6193defe 472942007-06-23 Robert Millan <rmh@aybabtu.com>
47295
fe6b695a 47296 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47297 a font file can be found and, if so, echo the GRUB path to it.
47298
47299 * util/update-grub.in: Handle multiple terminals depending on user
47300 input, platform availability and font file presence. Propagate
47301 variables of our findings to /etc/grub.d/ children.
47302
47303 * util/grub.d/00_header.in: Handle multiple terminals, based on
47304 environment setup by update-grub.
47305
eface1dc 473062007-06-23 Robert Millan <rmh@aybabtu.com>
47307
ba50d28f 47308 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47309
bf697e28 473102007-06-21 Robert Millan <rmh@aybabtu.com>
47311
47312 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47313 indicate end of data section in kernel image.
47314 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47315 GRUB_KERNEL_MACHINE_DATA_END.
47316
47317 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47318 space for it.
47319 * kern/i386/efi/startup.S: Likewise.
47320
47321 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47322 during image generation. Implement --prefix option to override this
47323 patch.
47324 * util/i386/efi/grub-mkimage.c: Likewise.
47325
47326 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47327 code to make path relative to its root into a separate function.
47328
47329 * util/i386/pc/grub-install.in: Use newly provided
47330 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47331 pass the result to grub-install --prefix.
47332
baa574b4 473332007-06-13 Robert Millan <rmh@aybabtu.com>
47334
47335 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47336 DEFAULT_DEVICE_MAP.
47337 * util/grub-emu.c: Use above definitions from misc.h instead of
47338 defining them.
47339 * util/grub-mkdevicemap.c: Likewise.
47340 * util/i386/pc/grub-setup.c: Likewise.
47341 * util/grub-probe.c: Likewise.
47342 (probe): Abort with grub_util_error() when either
47343 grub_guess_root_device or grub_util_get_grub_dev fails.
47344
0215dcbf 473452007-06-12 Robert Millan <rmh@aybabtu.com>
47346
47347 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47348 "pager" assignment.
47349 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47350 "pcdata".
47351 * util/grub-probe.c (probe): Likewise for "drive_name".
47352
8af2ab7b 473532007-06-11 Robert Millan <rmh@aybabtu.com>
47354
47355 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47356 not just the cdrom one.
47357
59d31694 473582007-06-11 Robert Millan <rmh@aybabtu.com>
47359
47360 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47361 Add --pkglibdir=DIR option to override pkglibdir.
47362 Mention --image-type=TYPE in help output.
47363 Fix --grub-mkimage (it was a no-op).
fe6b695a 47364 Abort gracefully when no parameter is given.
59d31694 47365
7ee367e4 473662007-06-11 Robert Millan <rmh@aybabtu.com>
47367
47368 * util/i386/pc/grub-mkrescue.in: New file.
47369 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47370 * Makefile.in: Handle bin_SCRIPTS.
47371
29b0ed46 473722007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47373
47374 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47375 list of video modes.
47376
c0f90770 473772007-06-06 Robert Millan <rmh@aybabtu.com>
47378
47379 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47380 file doesn't exist, or if it is in a filesystem grub can't read.
47381
47382 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47383 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47384 header comment to fit in 80 columns when the variables are resolved.
47385
47386 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47387 could be identified by update-grub. Remove redundant check for
fe6b695a 47388 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47389 handles that).
47390
fb36dc26 473912007-06-04 Robert Millan <rmh@aybabtu.com>
47392
47393 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47394
47395 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47396
47397 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47398
0c68c93e 473992007-06-04 Robert Millan <rmh@aybabtu.com>
47400
47401 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47402
47403 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47404 grub_apple_partition_map_fini.
47405
47406 * util/biosdisk.c
47407 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47408 to access >2 TiB disks).
47409
47410 Print disk->total_sectors with %llu instead of %lu, since this
47411 variable is always 64-bit (prevents wrong disk size from being displayed
47412 on either >2 TiB disk or big-endian CPU).
47413
47414 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47415 into a generic case that supports all (sane) partition maps.
47416
47417 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47418 breaks big-endian.
47419
47420 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47421 and grub_apple_partition_map_fini() after that.
47422
0f23eb74 474232007-06-01 Robert Millan <rmh@aybabtu.com>
47424
47425 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47426
47427 * util/grub.d/00_header.in: Only enable gfxterm when
47428 convert_system_path_to_grub_path() succeeds.
47429
42c71976 474302007-05-20 Robert Millan <rmh@aybabtu.com>
47431
47432 * util/update-grub_lib.in: New file.
47433 * DISTLIST: Add update-grub_lib.in.
47434 * conf/common.rmk: Generate update-grub_lib and install it in
47435 $(lib_DATA).
47436 * Makefile.in: Add install routine for $(lib_DATA).
47437
47438 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47439 function provided by update-grub_lib to support arbitrary paths of
47440 unifont.pff.
47441 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47442 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47443
5beb2291 474442007-05-19 Robert Millan <rmh@aybabtu.com>
47445
47446 * commands/i386/cpuid.c: New module.
47447 * DISTLIST: Add it.
47448 * conf/i386-efi.rmk: Enable cpuid.mod.
47449 * conf/i386-pc.rmk: Likewise.
47450
7262eca1 474512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47452
47453 * kern/disk.c (grub_disk_read): Check return value of
47454 grub_realloc().
47455
260ba823 474562007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47457
47458 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47459 arrays.
47460 * disk/raid.c (grub_raid_open): Likewise.
47461
1ecb6cf2 474622007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47463
47464 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47465 stack instead of on the heap.
47466
47467 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47468 before doing a read on it.
47469
47470 * configure.ac: Only use -fno-stack-protector for the target
47471 environment.
f19dbdb7 47472
21c8cbb1 474732007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47474
47475 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47476 __attribute_ ((unused)) to mode_type argument.
47477
47478 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47479
21c8cbb1 47480 * kern/misc.c (memcmp): Fix prototype.
47481
47482 * include/grub/partition.h [GRUB_UTIL]
47483 (grub_gpt_partition_map_init): Add prototype.
47484 (grub_gpt_partition_map_fini): Likewise.
47485
47486 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47487 at the right place.
47488
47489 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47490 (grub_fat_read_data): Likewise.
47491 (grub_fat_find_dir): Likewise.
47492
47493 * font/manager.c (find_glyph): Make table a const.
47494 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47495
849d55d3 474962007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47497
47498 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47499 code, first search for device in /dev/mapper, then in /dev.
47500 (grub_util_get_grub_dev): New function.
47501 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47502 prototype.
47503 * util/grub-probe.c (probe): Remove check for RAID, call
47504 grub_util_get_grub_dev() instead of
47505 grub_util_biosdisk_get_grub_dev().
47506 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47507 grub_util_biosdisk_get_grub_dev().
47508 * util/i386/pc/grub-setup.c (main): Likewise.
47509
8fff7c2f 475102007-05-16 Robert Millan <rmh@aybabtu.com>
47511
47512 * DISTLIST: Update for the latest changes.
47513 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47514 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47515 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47516 grub/util/biosdisk.h.
47517 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47518 grub/util/biosdisk.h.
47519
48e12b52 475202007-05-16 Robert Millan <rmh@aybabtu.com>
47521
47522 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47523
46b9d128 475242007-05-16 Robert Millan <rmh@aybabtu.com>
47525
47526 * util/i386/efi/grub-install.in: New.
47527 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47528 newly added grub-install.
47529 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47530 include.
47531 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47532 grub/util/biosdisk.h.
47533 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47534 grub/util/biosdisk.h.
47535
2d1a40a9 475362007-05-16 Robert Millan <rmh@aybabtu.com>
47537
47538 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47539 * include/grub/util/biosdisk.h: ... here.
47540 * util/i386/pc/biosdisk.c: Moved to ...
47541 * util/biosdisk.c: ... here.
47542 * util/i386/pc/getroot.c: Moved to ...
47543 * util/getroot.c: ... here.
47544 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47545 * util/grub-mkdevicemap.c: ... here.
47546 * util/i386/pc/grub-probe.c: Moved to ...
47547 * util/grub-probe.c: ... here.
47548
9e26e3bc 475492007-05-15 Robert Millan <rmh@aybabtu.com>
47550
47551 * util/update-grub.in: Remove duplicated line in grub.cfg header
47552 message.
47553
57f96397 475542007-05-13 Robert Millan <rmh@aybabtu.com>
47555
47556 * util/update-grub.in: Fix a few assumptions about the devices holding
47557 /, /boot and /boot/grub being the same.
47558 * util/grub.d/00_header.in: Likewise.
47559 * util/grub.d/10_hurd.in: Likewise.
47560 * util/grub.d/10_linux.in: Likewise.
47561
47562 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47563 patterns. Use that to define the `.old' suffix as older than `'.
47564
47565 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47566
47567 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47568 the grub.cfg header message.
47569
2e610d62 475702007-05-11 Robert Millan <rmh@aybabtu.com>
47571
47572 * util/update-grub.in: Create device.map if it doesn't already exist,
47573 before attempting to run grub-probe.
47574 Check for grub-probe and grub-mkdevicemap with the same code
47575 grub-install is using.
47576 Remove test mode.
47577
3f6a10ef 475782007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47579
47580 * Makefile.in: Add the datarootdir autoconf variable.
47581
02e7b75e 475822007-05-09 Robert Millan <rmh@aybabtu.com>
47583
47584 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47585 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47586
75f396cc 475872007-05-07 Robert Millan <rmh@aybabtu.com>
47588
47589 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47590 determine partition map module.
47591 * util/i386/pc/grub-install.in: Use this feature to decide which
47592 partition module to load, instead of hardcoding pc and gpt.
47593
da65cb36 475942007-05-07 Robert Millan <rmh@aybabtu.com>
47595
47596 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47597 source directory differs from build directory.
47598
b57d6a91 475992007-05-05 Robert Millan <rmh@aybabtu.com>
47600
47601 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47602 initialisation.
47603
509d00f1 476042007-05-05 Robert Millan <rmh@aybabtu.com>
47605
47606 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47607
c48f23ef 476082007-05-05 Robert Millan <rmh@aybabtu.com>
47609
47610 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47611 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47612
20b97658 476132007-05-05 Robert Millan <rmh@aybabtu.com>
47614
47615 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47616 (grub_probe_SOURCES): Likewise.
47617 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47618 GPT and initialize dos_part and bsd_part accordingly.
47619 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47620 install_bsd_part.
47621 (main): Activate gpt module for use during partition identification,
47622 and deactivate it afterwards.
47623 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47624 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47625 partition identification, and deactivate it afterwards.
47626
99123174 476272007-05-05 Robert Millan <rmh@aybabtu.com>
47628
47629 * term/i386/pc/console.c (grub_console_fini): Call
47630 grub_term_set_current() before grub_term_unregister().
47631
ebd97f6e 476322007-05-04 Robert Millan <rmh@aybabtu.com>
47633
47634 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47635 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47636 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47637 and update-grub_DATA.
47638 * conf/common.rmk: Build and install update-grub components.
47639 * conf/common.mk: Regenerate.
47640 * util/update-grub.in: New. Core of update-grub.
47641 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47642 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47643 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47644 * util/grub.d/README: New. Document grub.d directory layout.
47645
b06a264d 476462007-05-01 Robert Millan <rmh@aybabtu.com>
47647
47648 * util/grub-emu.c: Move initialization functions
47649 grub_util_biosdisk_init() and grub_init_all() before
47650 grub_util_biosdisk_get_grub_dev(), which relies on them.
47651
41f0050e 476522007-04-19 Robert Millan <rmh@aybabtu.com>
47653
47654 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47655 it is used later.
47656
04582bb3 476572007-04-18 Jerone Young <jerone@gmail.com>
47658
f19dbdb7 47659 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47660 stanza.
47661
08db4632 476622007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47663
08db4632 47664 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47665 continue on and look for device node with real device name.
47666
801b76be 476672007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47668
fe6b695a 47669 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47670 ability.
47671 * Makefile.in: Add autoconf package transformation code.
47672 * util/i386/pc/grub-install.in: Likewise.
47673 * util/powerpc/ieee1275/grub-install.in: Likewise.
47674
6795c4e1 476752007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47676
47677 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47678 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47679 (EXT2_REVISION): Likewise.
47680 (EXT2_INODE_SIZE): Likewise.
47681 (struct grub_ext2_block_group): Added a missing member
47682 "used_dirs".
47683 (grub_ext2_read_inode): Divide by the inode size in a superblock
47684 instead of 128 to obtain INODES_PER_BLOCK.
47685 Use the macro EXT2_INODE_SIZE instead of directly using
47686 SBLOCK->INODE_SIZE.
47687
d70af616 476882007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47689
47690 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47691 superblock instead of the structure size to compute an
47692 offset. This fixes the problem that GRUB could not read a
47693 filesystem when inode size is different from 128-byte.
47694
3b801603 476952007-03-05 Marco Gerards <marco@gnu.org>
47696
47697 * normal/main.c (read_config_file): When "menu" is not set, create
47698 an initial context.
47699
4785bfe4 477002007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47701
47702 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47703 (HEAP_LIMIT): New macro.
47704 (grub_claim_heap): Claim memory up to `heaplimit'.
47705
a0cbb023 477062007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47707
47708 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47709 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47710 (_start): Likewise.
47711 (grub_arch_modules_addr): Return address after `_end'.
47712 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47713 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47714 (add_segments): Calculate `_end' from phdr size and location.
47715 (ALIGN_UP): Moved to ...
47716 * include/grub/misc.h: here.
47717 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47718 New macro.
47719 (GRUB_IEEE1275_MODULE_BASE): Removed.
47720
fd7d8eba 477212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47722
47723 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47724 loop boundary.
47725
9b09e6fc 477262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47727
47728 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47729 All users updated.
47730 (grub_elf64_load_hook_t): Likewise.
47731 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47732 debug output.
47733
3ce27299 477342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47735
47736 * kern/mm.c: Update copyright.
47737 (grub_mm_debug): Correct syntax error.
47738 (grub_mm_dump_free): New function.
47739 (grub_debug_free): Call `grub_free'.
47740 * include/grub/mm.h: Update copyright.
47741 (grub_mm_dump_free): Add declaration.
47742
077d5fee 477432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47744
47745 * include/grub/ieee1275/ieee1275.h: Update copyright.
47746 * kern/powerpc/ieee1275/init.c: Likewise.
47747 * kern/powerpc/ieee1275/openfw.c: Likewise.
47748
47749 * loader/powerpc/ieee1275/linux.c: Likewise.
47750 * include/grub/elfload.h: Likewise.
47751 * kern/elf.c: Likewise.
47752 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47753 callers.
47754 (grub_elf64_load): Likewise.
47755 (grub_elf32_load_segment): Move to a nested function.
47756 (grub_elf64_load_segment): Likewise.
47757
dc946850 477582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47759
47760 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47761 prototype.
47762 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47763 (grub_heap_len): Likewise.
47764 (HEAP_SIZE): New macro.
47765 (grub_claim_heap): New function.
47766 (grub_machine_init): Don't claim heap directly. Call
47767 `grub_claim_heap'.
47768 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47769 (grub_available_iterate): New function.
47770
baa2a121 477712007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47772
47773 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47774 * configure.ac: Use it for testing the HOST and TARGET compilers.
47775
4fe9862e 477762006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47777
47778 * Makefile.in (enable_grub_emu): New variable.
47779 * configure.ac (--enable-grub-emu): New option.
47780 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47781 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47782 * conf/i386-pc.rmk: Likewise.
47783 * conf/powerpc-ieee1275.rmk: Likewise.
47784 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47785
a8aa5762 477862006-12-12 Marco Gerards <marco@gnu.org>
47787
47788 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47789
47790 * kern/env.c (grub_env_unset): Don't free the member `value' when
47791 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47792 pointer.
47793
47794 * normal/main.c (current_menu): Removed.
47795 (free_menu): Unset the `menu' environment variable.
47796 (grub_normal_menu_addentry): Make use of the environment variable
47797 `menu', instead of using the global `current_menu'. Allocate
47798 memory for the sourcecode of this entry.
47799 (read_config_file): New argument `nested', changed all callers.
47800 Only in the case of a new context, initialize a new menu. Set the
47801 `menu' environment variable.
47802 (grub_normal_execute): Don't set and unset the environment
47803 variable `menu' here anymore. Only free the menu when leaving the
47804 context.
47805
47806 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47807 leak.
47808
957b3a3e 478092006-12-11 Marco Gerards <marco@gnu.org>
47810
47811 * normal/menu_entry.c (run): Fix off by one bug so the last line
47812 is executed. Move the loader check to outside the loop.
47813
ef875714 478142006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47815
47816 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47817
4e739985 478182006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47819
47820 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47821 the number of sectors. Reported by Andrey Shuvikov
47822 <mr_hyro@yahoo.com>.
f19dbdb7 47823
790707f2 478242006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47825
47826 * kern/disk.c (grub_disk_read): When there is a read error, always
47827 try to read only the necessary data.
f19dbdb7 47828
790707f2 47829 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47830 disk/raid.c.
47831 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47832 prototype.
47833 [GRUB_UTIL] (grub_raid_fini): Likewise.
47834 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47835 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47836 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47837 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47838 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47839 and grub_raid_fini().
f19dbdb7 47840
03e58196 478412006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47842
47843 * include/grub/types.h (__unused): Rename to UNUSED.
47844 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47845 (grub_elf64_size): Likewise.
f19dbdb7 47846
ae4f23bf 478472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47848
47849 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47850 grub_error_push and grub_error_pop in the error-handling path.
47851 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47852 length.
47853
2166cc83 478542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47855
47856 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
47857 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47859 (kernel_elf_SOURCES): Likewise.
47860 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
47861 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
47862 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47863 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47864 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
47865 (elf_mod_SOURCES): New variable.
47866 (elf_mod_CFLAGS): Likewise.
47867 (elf_mod_LDFLAGS): Likewise.
47868 * include/grub/types.h (__unused): New macro.
47869 * include/grub/elfload.h: New file.
47870 * kern/elf.c: Likewise.
47871 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
47872 (ELF32_LOADMASK): New macro.
47873 (ELF64_LOADMASK): Likewise.
47874 (vmlinux): Removed.
47875 (grub_linux_load32): New function.
47876 (grub_linux_load64): Likewise.
47877 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
47878 Use grub_elf_t instead of grub_file_t.
47879
a09d5aa5 478802006-11-02 Hollis Blanchard <hollis@penguinppc.org>
47881
47882 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
47883 `catch_result' to struct set_color_args.
47884
d976fc51 478852006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47886
47887 * normal/menu.c: Include grub/script.h.
47888 * normal/menu_entry.c: Likewise.
47889 * include/grub/normal.h: Do not include grub/script.h.
47890
67507549 478912006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47892
47893 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
47894
69203a99 478952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47896
47897 * kern/disk.c (grub_disk_open): Print debug messages when opening a
47898 disk.
47899 (grub_disk_close): Print debug messages when closing a disk.
47900 (grub_disk_read): Print debug messages when disk read fails.
47901 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
47902 filesystem type.
47903 * kern/partition.c: Include misc.h.
47904 (grub_partition_iterate): Print debug messages when detecting
47905 partition type.
47906
e2b8278c 479072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
47908
47909 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
47910 is negative.
47911 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
47912
97b2f2ff 479132006-10-26 Hollis Blanchard <hollis@penguinppc.org>
47914
47915 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47916 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
47917
6555d655 479182006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
47919
47920 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
47921 instead of sizeof(lv). Patch by Michael Guntsche.
47922
4d42b77f 479232006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
47924
47925 * disk/lvm.c: Rename VGS to VG_LIST.
47926 (grub_lvm_iterate): Change VGS->LV to VG-LV.
47927 (grub_lvm_open): Likewise.
47928 Thanks to Michael Guntsche for finding this bug.
47929
5d74d927 479302006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47931
47932 * configure.ac (AC_INIT): Bumped to 1.95.
47933
a1bb27e4 479342006-10-14 Robert Millan <rmh@aybabtu.com>
47935
47936 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
47937 with "/dev/.static/dev/md".
47938
e0994b8b 479392006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47940
47941 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
47942 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
47943 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
47944 DRIVE_NAME are always freed.
47945
47946 * util/i386/pc/biosdisk.c (make_device_name): Add one into
47947 DOS_PART, as a DOS partition is counted from one instead of zero
47948 now. Reported by Robert Millan.
47949
ddd5cee9 479502006-10-14 Robert Millan <rmh@aybabtu.com>
47951
47952 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
47953 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
47954 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
47955 string returned by grub_guess_root_device.
47956 * util/i386/pc/grub-setup.c: Likewise.
47957 * util/i386/pc/grub-probefs.c: Likewise.
47958
47959 * util/i386/pc/grub-probefs.c: Rename to ...
47960 * util/i386/pc/grub-probe.c: ... this.
47961 * DISTLIST: Remove grub-probefs, add grub-probe.
47962 * conf/i386-efi.rmk: Likewise.
47963 * conf/i386-pc.rmk: Likewise.
47964 * util/i386/pc/grub-install.in: Likewise.
47965
47966 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
47967 choose which information we want to print.
47968
2b002173 479692006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
47970
47971 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
47972 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
47973 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
47974 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
47975 video/readers/tga.c and video/i386/pc/vbeutil.c.
47976
479772006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
47978
47979 Added support for RAID and LVM.
f19dbdb7 47980
2b002173 47981 * disk/lvm.c: New file.
47982 * disk/raid.c: Likewise.
47983 * include/grub/lvm.h: Likewise.
f19dbdb7 47984 * include/grub/raid.h: Likewise.
2b002173 47985 * include/grub/util/lvm.h: Likewise.
47986 * include/grub/util/raid.h: Likewise.
47987 * util/lvm.c: Likewise.
47988 * util/raid.c: Likewise.
47989
47990 * include/grub/disk.h (grub_disk_dev_id): Add
47991 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
47992 (grub_disk_get_size): New prototype.
47993 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
47994 returns a partition.
47995 (grub_disk_get_size): New function.
f19dbdb7 47996
2b002173 47997 * kern/i386/pc/init.c (make_install_device): Copy the prefix
47998 verbatim if grub_install_dos_part is -2.
47999
48000 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48001 and LVM devices.
48002
48003 * util/i386/pc/grub-setup.c (setup): New argument
48004 MUST_EMBED. Force embedding of GRUB when the argument is
48005 true. Close FILE before returning.
48006 (main): Add support for RAID and LVM.
f19dbdb7 48007
2b002173 48008 * conf/common.rmk: Add RAID and LVM modules.
48009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48010 util/lvm.c.
48011 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48012
48013 * kern/misc.c (grub_strstr): New function.
48014 * include/grub/misc.h (grub_strstr): New prototype.
48015
050548d0 480162006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48017
48018 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48019
da849d2d 480202006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48021
48022 * kern/misc.c (grub_strtoull): Guess the base only if not
48023 specified.
48024
97b2f2ff 480252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 48026
48027 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48028 PowerMac support.
48029
97b2f2ff 480302006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 48031
48032 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48033
48034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48035 Remove `flags' argument. All callers changed.
48036 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48037 (IEEE1275_IHANDLE_INVALID): New variable.
48038 (IEEE1275_CELL_INVALID): New variable.
48039 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48040 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48041 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48042 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48043 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48044 codes from Open Firmware. All callers updated.
48045 (grub_ieee1275_next_property): Directly return Open Firmware return
48046 code.
48047 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48048 Standardize error checking from `grub_ieee1275_get_property'.
48049 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48050 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48051
97b2f2ff 480522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48053
48054 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48055 `instance_to_package_args' to `instance_to_path_args'.
48056
48057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48058 `grub_ieee1275_chosen'.
48059
48060 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48061 `grub_ieee1275_interpret'.
48062
97b2f2ff 480632006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48064
48065 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48066
97b2f2ff 480672006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48068
48069 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48070 (__cmpdi): Likewise.
48071
48072 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48073 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48074 `grub_ssize_t'.
48075
02bb8acc 48076 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48077
48078 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48079 to type `grub_ssize_t'.
48080 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48081
7f9a8531 480822006-09-22 Marco Gerards <marco@gnu.org>
48083
48084 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48085 newlines.
48086
b5ef1102 480872006-09-22 Marco Gerards <marco@gnu.org>
48088
48089 * commands/echo.c: New file.
48090
48091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48092
48093 * conf/common.rmk (echo_mod_SOURCES): New variable.
48094 (echo_mod_CFLAGS): Likewise.
48095 (echo_mod_LDFLAGS): Likewise.
48096
2cff3677 480972006-09-22 Marco Gerards <marco@gnu.org>
48098
48099 * normal/main.c (get_line): Malloc memory instead of using
48100 preallocated memory. Removed the arguments `cmdline' and
48101 `max_len'. Updated all callers.
48102
6ba4688b 481032006-09-22 Marco Gerards <marco@gnu.org>
48104
48105 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48106 (normal_mod_DEPENDENCIES): Likewise.
48107
48108 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48109 (normal_mod_DEPENDENCIES): Likewise.
48110
48111 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48112
e02ac02c 481132006-09-22 Johan Rydberg <jrydberg@gnu.org>
48114
48115 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48116 programs.
48117 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48118 (normal_mod_DEPENDENCIES): Likewise.
48119 * conf/i386-pc.mk: Regenerate.
48120 * conf/i386-efi.mk: Likewise
48121 * conf/common.mk: Likewise.
48122 * conf/powerpc-ieee1275.mk: Likewise.
48123 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48124
8d252e44 481252006-09-22 Robert Millan <rmh@aybabtu.com>
48126
48127 Sync with i386 version.
48128 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48129 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48130
209bf7ac 481312006-09-21 Robert Millan <rmh@aybabtu.com>
48132
48133 Import from GRUB Legacy (lib/device.c):
48134 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48135 (init_device_map) [__linux__]: Add support for I2O devices.
48136
6b146090 481372006-09-14 Marco Gerards <marco@gnu.org>
48138
48139 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48140 `-melf_i386'.
48141
e38600a8 481422006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48143
48144 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48145 /boot/grub/*.lst.
78fa1790 48146
2952da5d 48147 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48148
2952da5d 48149 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48150 before adding it to device.map.
48151
01b82a64 481522006-08-15 Johan Rydberg <jrydberg@gnu.org>
48153
fe6b695a 48154 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48155 compiles a file; using the -MD option.
48156 * conf/common.mk: Regenerate.
48157 * conf/i386-pc.mk: Likewise.
48158 * conf/i386-efi.mk: Likewise.
48159 * conf/powerpc-ieee1275.mk: Likewise.
48160 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48161
1064790d 481622006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48163
48164 Move the prototypes of grub_setjmp and grub_longjmp to
48165 cpu/setjmp.h, so that each architecture may specify different
48166 attributes.
f19dbdb7 48167
1064790d 48168 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48169 (grub_longjmp): Likewise.
48170 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48171 (grub_longjmp): Likewise.
48172 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48173 (grub_longjmp): Likewise.
48174
48175 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48176 [!GRUB_UTIL] (grub_longjmp): Removed.
48177
29dda3ed 481782006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48179
48180 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48181 "color!" method does not return any value.
48182
ad2a06ed 481832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48184
48185 * include/grub/bitmap.h: New file.
48186
48187 * include/grub/i386/pc/vbeutil.h: Likewise.
48188
48189 * video/bitmap.c: Likewise.
48190
48191 * video/readers/tga.c: Likewise.
48192
48193 * video/i386/pc/vbeutil.c: Likewise.
48194
48195 * commands/videotest.c: Code cleanup and updated to reflect to new
48196 video API.
48197
48198 * term/gfxterm.c: Likewise.
48199
48200 * video/video.c: Likewise.
48201
48202 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48203 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48204 (bitmap_mod_SOURCES): New entry.
48205 (bitmap_mod_CFLAGS): Likewise.
48206 (bitmap_mod_LDFLAGS): Likewise.
48207 (tga_mod_SOURCES): Likewise.
48208 (tga_mod_CFLAGS): Likewise.
48209 (tga_mod_LDFLAGS): Likewise.
48210
48211 * include/grub/video.h (grub_video_blit_operators): New enum type.
48212 (grub_video_render_target): Changed as forward declaration and moved
48213 actual definition to be video driver specific.
48214 (grub_video_adapter.blit_bitmap): Added blitting operator.
48215 (grub_video_adapter.blit_render_target): Likewise.
48216 (grub_video_blit_bitmap): Likewise.
48217 (grub_video_blit_render_target): Likewise.
48218
48219 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48220 driver specific render target definition.
48221 (grub_video_vbe_map_rgba): Added driver internal helper.
48222 (grub_video_vbe_unmap_color): Updated to use
48223 grub_video_i386_vbeblit_info.
48224 (grub_video_vbe_get_video_ptr): Likewise.
48225
48226 * include/grub/i386/pc/vbeblit.h
48227 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48228 grub_video_i386_vbeblit_info.
48229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48230 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48231 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48232 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48233 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48234 (grub_video_i386_vbeblit_index_index): Likewise.
48235 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48237 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48238 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48239 operator.
48240 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48241 operator.
48242
48243 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48244 include/grub/i386/pc/vbeblit.h.
48245
48246 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48247 Updated to use grub_video_i386_vbeblit_info.
48248 (grub_video_i386_vbefill_R8G8B8): Likewise.
48249 (grub_video_i386_vbefill_index): Likewise.
48250 (grub_video_i386_vbefill): Added generic filler.
48251
48252 * video/i386/pc/vbefill.c: Updated to reflect changes on
48253 include/grub/i386/pc/vbefill.h.
48254
48255 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48256 grub_video_i386_vbeblit_info.
48257 (grub_video_vbe_unmap_color): Likewise.
48258 (grub_video_vbe_blit_glyph): Likewise.
48259 (grub_video_vbe_scroll): Likewise.
48260 (grub_video_vbe_draw_pixel): Removed function.
48261 (grub_video_vbe_get_pixel): Likewise.
48262 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48263 updated code to use it.
48264 (common_blitter): Added common blitter for render target and bitmap.
48265 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48266 (grub_video_vbe_blit_render_target): Likewise.
48267
bc8c036d 482682006-07-30 Johan Rydberg <jrydberg@gnu.org>
48269
48270 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48271 is in text mode if there is no console control protocol instance
48272 available.
48273
684a8eff 482742006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48275
48276 * include/grub/video.h: Code cleanup.
48277
48278 * include/grub/i386/pc/vbe.h: Likewise.
48279
48280 * video/i386/pc/vbe.c: Likewise.
48281
48282 * video/i386/pc/vbeblit.c: Likewise.
48283
48284 * video/i386/pc/vbefill.c: Likewise.
48285
48286 * video/video.c: Likewise. Also added more comments.
48287
5915059b 482882006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48289
48290 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48291 (struct grub_biosdisk_dap): Likewise.
48292
48293 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48294 linkage settings for all functions.
48295
90ce5d56 482962006-07-12 Marco Gerards <marco@gnu.org>
48297
48298 * configure.ac (--enable-mm-debug): Fix typo.
48299
48300 * genkernsyms.sh.in: Use proper quoting for `CC'.
48301
43e7f879 483022006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48303
48304 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48305 (normal_mod_ASFLAGS): Remove "-m32".
48306
4889bdec 483072006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48308
48309 * util/misc.c: Include config.h.
48310 [!HAVE_MEMALIGN]: Do not include malloc.h.
48311 (grub_memalign): Use posix_memalign, if present. Then, use
48312 memalign, if present. Otherwise, emit an error.
48313
48314 * util/grub-emu.c: Do not include malloc.h.
48315
48316 * include/grub/util/misc.h: Include unistd.h. This is required for
48317 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48318 D. Eades III <hde@foobar-qux.org>.
48319
48320 * configure.ac (AC_GNU_SOURCE): Added.
48321 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48322 type.
48323
fd39d4da 483242006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48325
48326 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48327 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48328
b786f3b5 483292006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48330
48331 * include/grub/types.h (grub_host_addr_t): Rename to
48332 grub_target_addr_t.
48333 (grub_host_off_t): Rename to grub_target_off_t.
48334 (grub_host_size_t): Rename to grub_target_size_t.
48335 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48336 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48337
48338 * include/grub/kernel.h (struct grub_module_header): Change type
48339 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48340 (grub_module_info): Likewise.
f19dbdb7 48341
051988bb 483422006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48343
48344 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48345 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48346 Velazquez <jesus.velazquez@gmail.com>.
48347
deae281b 483482006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48349
48350 Count partitions from 1 instead of 0 in the string representation
48351 of partitions. Still use 0-based internally.
f19dbdb7 48352
deae281b 48353 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48354 (sun_partition_map_iterate): Use grub_partition_t instead of
48355 struct grub_partition *. Cast DESC->START_CYLINDER to
48356 grub_uint64_t after converting the endian.
48357 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48358 (sun_partition_map_get_name): Add 1 to P->INDEX.
48359
48360 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48361 PCDATA->DOS_PART.
48362 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48363
48364 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48365 zero instead of one.
48366 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48367 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48368
48369 * partmap/apple.c (apple_partition_map_iterate): Change the type
48370 of POS to unsigned.
48371 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48372 (apple_partition_map_get_name): Add 1 into P->INDEX.
48373
48374 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48375 of POS to unsigned.
48376 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48377 calculate the offset of a partition.
48378 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48379 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48380
48381 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48382 SECTOR to grub_disk_addr_t.
48383 (acorn_partition_map_iterate): Likewise.
48384 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48385 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48386 top.
48387 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48388
48389 * kern/i386/pc/init.c (make_install_device): Add 1 into
48390 GRUB_INSTALL_DOS_PART.
48391
48392 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48393 conditional.
48394
524a1e6a 483952006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48396
48397 Clean up the code to support 64-bit addressing in disks and
48398 files. This change is not enough for filesystems yet.
f19dbdb7 48399
524a1e6a 48400 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48401 type of "start" to grub_uint64_t.
48402 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48403 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48404 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48405 convert addresses.
48406
48407 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48408 to grub_disk_addr_t.
48409
48410 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48411 string.
48412
48413 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48414
48415 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48416 to char *.
48417
48418 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48419
48420 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48421
48422 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48423
48424 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48425 to grub_off_t, to detect an error from grub_file_seek.
48426 (grub_multiboot_load_elf32): Likewise.
48427
48428 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48429 maximum unsigned long value when an overflow is detected.
48430 (grub_strtoull): New function.
48431 (grub_divmod64): Likewise.
48432 (grub_lltoa): use grub_divmod64.
48433
48434 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48435 grub_disk_addr_t.
48436 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48437 the pointer to next character. Use grub_strtoull instead of
48438 grub_strtoul.
48439 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48440 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48441 respectively.
48442
fe6b695a 48443 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48444 return value is signed.
48445 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48446 test if OFFSET is less than zero, as OFFSET is unsigned now.
48447
48448 * kern/disk.c (struct grub_disk_cache): Change the type of
48449 "sector" to grub_disk_addr_t.
48450 (grub_disk_cache_get_index): Change the type of SECTOR to
48451 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48452 unsigned after shifting.
48453 (grub_disk_cache_invalidate): Change the type of SECTOR to
48454 grub_disk_addr_t.
48455 (grub_disk_cache_unlock): Likewise.
48456 (grub_disk_cache_store): Likewise.
48457 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48458 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48459 grub_disk_addr_t and grub_uint64_t, respectively.
48460 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48461 body, as the value of OFFSET is tweaked by
48462 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48463 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48464 respectively.
48465 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48466 body, as the value of OFFSET is tweaked by
48467 grub_disk_check_range. Change the types of LEN and N to
48468 grub_size_t.
48469
48470 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48471 and "saved_offset" to grub_off_t.
48472 (test_header): Cast BUF to char *.
48473 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48474 to char *.
48475 (grub_gzio_read): Change the types of OFFSET and SIZE to
48476 grub_off_t and grub_size_t, respectively.
48477
48478 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48479 Removed.
48480 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48481 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48482 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48483 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48484 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48485
48486 * include/grub/types.h (grub_off_t): Unconditionally set to
48487 grub_uint64_t.
48488 (grub_disk_addr_t): Changed to grub_uint64_t.
48489
48490 * include/grub/partition.h (struct grub_partition): Change the
48491 types of "start", "len" and "offset" to grub_disk_addr_t,
48492 grub_uint64_t and grub_disk_addr_t, respectively.
48493 (grub_partition_get_start): Return grub_disk_addr_t.
48494 (grub_partition_get_len): Return grub_uint64_t.
48495
48496 * include/grub/misc.h (grub_strtoull): New prototype.
48497 (grub_divmod64): Likewise.
48498
48499 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48500 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48501 grub_off_t, respectively.
48502 All callers and references changed.
48503
48504 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48505 grub_size_t in "read".
48506 All callers and references changed.
48507
48508 * include/grub/file.h (struct grub_file): Change the types of
48509 "offset" and "size" to grub_off_t and grub_off_t,
48510 respectively. Change the type of SECTOR to grub_disk_addr_t in
48511 "read_hook".
48512 (grub_file_read): Change the type of LEN to grub_size_t.
48513 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48514 grub_off_t.
48515 (grub_file_size): Return grub_off_t.
48516 (grub_file_tell): Likewise.
48517 All callers and references changed.
48518
48519 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48520 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48521 "write".
48522 (struct grub_disk): Change the type of "total_sectors" to
48523 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48524 "read_hook".
524a1e6a 48525 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48526 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48527 (grub_disk_write): Likewise.
48528 All callers and references changed.
48529
48530 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48531 char * for grub_strncmp to silence gcc.
48532 (grub_iso9660_mount): Likewise.
48533 (grub_iso9660_mount): Likewise.
48534 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48535 return statement.
48536 (grub_iso9660_iterate_dir): Likewise.
48537 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48538
48539 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48540 LEN to grub_disk_addr_t and grub_size_t, respectively.
48541
48542 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48543
48544 * fs/jfs.c (grub_jfs_read_file): Likewise.
48545
48546 * fs/minix.c (grub_jfs_read_file): Likewise.
48547
48548 * fs/sfs.c (grub_jfs_read_file): Likewise.
48549
48550 * fs/ufs.c (grub_jfs_read_file): Likewise.
48551
48552 * fs/xfs.c (grub_jfs_read_file): Likewise.
48553
48554 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48555 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48556 respectively.
48557
48558 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48559 BLKNR to -1 instead of returning GRUB_ERRNO.
48560 (grub_ext2_read_file): Change the types of SECTOR and
48561 LEN to grub_disk_addr_t and grub_size_t, respectively.
48562
48563 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48564 LEN to grub_disk_addr_t and grub_size_t, respectively.
48565
48566 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48567 grub_file_read.
48568
48569 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48570 string. Do not cast SECTOR explicitly.
48571
48572 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48573 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48574 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48575 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48576 over 2TB and LBA mode is not supported, raise an error.
48577 (get_safe_sectors): New function.
48578 (grub_biosdisk_read): Use get_safe_sectors.
48579 (grub_biosdisk_write): Likewise.
48580
48581 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48582 (grub_efidisk_write): Likewise.
48583
48584 * disk/loopback.c (delete_loopback): Cosmetic changes.
48585 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48586 correctly.
48587 (grub_loopback_open): Likewise.
48588 (grub_loopback_read): Likewise. Also, change the type of POS to
48589 grub_off_t, and fix the usage of grub_memset.
48590
48591 * commands/i386/pc/play.c: Include grub/machine/time.h.
48592
48593 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48594 print FILE->SIZE.
48595
48596 * commands/configfile.c: Include grub/env.h.
48597
48598 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48599 GRUB_ERRNO directly instead. Change the type of POS to
48600 grub_off_t. Follow the coding standard.
48601
48602 * commands/blocklist.c: Include grub/partition.h.
48603 (grub_cmd_blocklist): Return an error if the underlying device is
48604 not a disk. Take the starting sector of a partition into account,
48605 if a partition is used.
48606
48607 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48608 a length field.
48609 (lba_mode): Support 64-bit addresses.
48610 (chs_mode): Likewise.
48611 (copy_buffer): Adapted to the new offsets of a length field and a
48612 segment field.
48613 (blocklist_default_start): Allocate 64-bit space.
48614
48615 * boot/i386/pc/boot.S (force_lba): Removed.
48616 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48617 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48618 space.
48619 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48620 is useless.
48621 (lba_mode): Refactored to support a 64-bit address. More size
48622 optimization.
48623 (setup_sectors): Likewise.
48624
53af98ad 486252006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48626
48627 * DISTLIST: Added include/grub/i386/linux.h. Removed
48628 include/grub/i386/pc/linux.h
48629
48630 * configure.ac (AC_INIT): Bumped to 1.94.
48631
48632 * config.guess: Updated from gnulib.
48633 * config.sub: Likewise.
48634 * install-sh: Likewise.
48635 * mkinstalldirs: Likewise.
48636
b4c1940a 486372006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48638
48639 * conf/common.rmk (grub_modules_init.lst): Depended on
48640 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48641 MODSRCFILES.
48642
48643 * genmk.rb (PModule::rule): Reverted the previous change.
48644
cfca1cfd 486452006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48646
48647 * conf/common.rmk (grub_modules_init.lst): Depends on
48648 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48649 that the target does not exist before producing.
48650 (grub_modules_init.h): Remove the target before generating.
48651 (grub_emu_init.c): Likewise.
48652
48653 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48654
aa6d7826 486552006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48656
48657 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48658 for the target-specific tests. Make sure that we also have the
48659 up-to-date target variables for those tests.
48660
26c607b9 486612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48662
48663 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48664 (PModule::rule): Likewise.
48665
0162321a 486662006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48667
48668 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48669 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48670 target-specific flags should be prefixed.
48671 (PModule::rule): Likewise.
48672
6c826348 486732006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48674
48675 * configure.ac (CMP): Check if cmp is available explicitly.
48676
b977bf01 486772006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48678
48679 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48680 (target_cpu): New variable.
48681 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48682
b977bf01 48683 * util/i386/pc/grub-install.in (host_cpu): Removed.
48684 (target_cpu): New variable.
48685 (pkglibdir): Use target_cpu instead of host_cpu.
48686
48687 * util/genmoddep.c: Removed.
f19dbdb7 48688
b977bf01 48689 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48690 instead of GRUB_HOST_SIZEOF_VOID_P.
48691 * kern/dl.c: Likewise.
48692
48693 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48694 ...
48695 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48696 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48697 (GRUB_TARGET_SIZEOF_LONG): ... this.
48698 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48699 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48700 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48701 to ...
48702 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48703 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48704 (GRUB_TARGET_SIZEOF_LONG): ... this.
48705 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48706 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48707 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48708 to ...
48709 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48710 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48711 (GRUB_TARGET_SIZEOF_LONG): ... this.
48712 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48713 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48714
48715 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48716 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48717 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48718 instead of GRUB_HOST_SIZEOF_LONG.
48719 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48720 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48721 GRUB_CPU_WORDS_BIGENDIAN.
48722 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48723 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48724 grub_host_ssize_t.
48725
48726 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48727 (genmoddep_SOURCES): Likewise.
48728 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48729 (genmoddep_SOURCES): Likewise.
48730 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48731 (genmoddep_SOURCES): Likewise.
48732 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48733 Likewise.
48734 (genmoddep_SOURCES): Likewise.
48735
48736 * genmoddep.awk: New file.
48737
48738 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48739 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48740 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48741 (PModule::rule): Likewise.
48742 (Program::rule): Likewise.
48743 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48744 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48745 respectively.
48746
48747 * configure.ac: Rewritten intensively to use host and target
48748 instead of build and host, respectively.
48749
48750 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48751 (host_cpu): Removed.
48752 (target_cpu): New variable.
48753 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48754 (BUILD_CC): Removed.
48755 (BUILD_CFLAGS): Likewise.
48756 (BUILD_CPPFLAGS): Likewise.
48757 (TARGET_CC): New variable.
48758 (TARGET_CFLAGS): Likewise.
48759 (TARGET_CPPFLAGS): Likewise.
48760 (TARGET_LDFLAGS): Likewise.
48761 (AWK): Likewise.
48762 (include): Use target_cpu instead of host_cpu.
48763 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48764
b977bf01 48765 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48766
f09771a1 487672006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48768
48769 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48770 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48771 field 'false' to 'exec_on_false'.
48772 (grub_script_create_cmdif): Renamed argument names to reflect above
48773 changes.
48774
48775 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48776
48777 * normal/script.c (grub_script_create_cmdif): Likewise.
48778
118f4fb3 487792006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48780
48781 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48782 top.
48783 (grub_hfsplus_btree_recptr): Likewise.
48784 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48785 FILEBLOCK both to pass a block number and store next block
48786 number.
48787 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48788 overflow file correctly. Specify errors appropriately, because
48789 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48790 grub_hfsplus_btree_recptr to get the pointer to a found key.
48791 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48792 is found.
48793
48794 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48795 linux.mod.
48796 (_linux_mod_SOURCES): New variable.
48797 (_linux_mod_CFLAGS): Likewise.
48798 (_linux_mod_LDFLAGS): Likewise.
48799 (linux_mod_SOURCES): Likewise.
48800 (linux_mod_CFLAGS): Likewise.
48801 (linux_mod_LDFLAGS): Likewise.
48802
48803 * DISTLIST: Added loader/i386/efi/linux.c,
48804 loader/i386/efi/linux_normal.c and
48805 include/grub/i386/efi/loader.h.
48806
48807 * loader/i386/efi/linux.c: New file.
48808 * loader/i386/efi/linux_normal.c: Likewise.
48809 * include/grub/i386/efi/loader.h: Likewise.
48810
89a7d726 488112006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48812
48813 * commands/blocklist.c: New file.
48814
48815 * DISTLIST: Added commands/blocklist.c.
48816
48817 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48818 color for the background, and a darker color for the foreground.
89a7d726 48819 (grub_console_checkkey): Return READ_KEY.
48820 (grub_console_cls): Set the background to
48821 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48822
48823 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48824
48825 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48826 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48827
48828 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48829 prototype.
48830
48831 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48832 BG. The spec is wrong again.
48833
48834 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48835 prototype.
48836 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48837
48838 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48839 commands/blocklist.c.
48840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48841
89a7d726 48842 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48843 (blocklist_mod_SOURCES): New variable.
48844 (blocklist_mod_CFLAGS): Likewise.
48845 (blocklist_mod_LDFLAGS): Likewise.
48846
75c8f258 488472006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48848
48849 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48850 duplication.
48851 (lba_mode): Use %eax more intensively to reduce the code size.
48852
da2eb181 488532006-05-20 Marco Gerards <marco@gnu.org>
48854
48855 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
48856
48857 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
48858 for `menuentry'.
48859 (script): Accept leading newlines.
48860 (newlines): New rule to describe 0 or more newlines.
48861 (commands): Accept `command' with trailing newline. Fixed the
48862 order in which arguments were passed to `grub_script_add_cmd'.
48863 Accept commands separated by newlines.
48864 (function): Changed to accept newlines.
48865 (menuentry) Rewritten.
48866
48867 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
48868 front of the list, instead of to the end.
48869
577b4050 488702006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
48871
48872 * util/i386/pc/grub-install.in (bindir): New variable.
48873 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
48874 Shaver <lbgwjl@gmail.com>.
48875
0d6e1189 488762006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
48877
48878 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
48879 grub/machine/linux.h
48880 * loader/i386/pc/linux.c: Likewise.
48881
48882 * include/grub/i386/pc/linux.h: Moved to ...
48883 * include/grub/i386/linux.h: ... here.
48884
48885 * include/grub/i386/linux.h (struct linux_kernel_params): New
48886 struct.
f19dbdb7 48887
31b86e9f 488882006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
48889
48890 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
48891 checking.
48892 (grub_video_vbe_blit_glyph): Likewise.
48893 (grub_video_vbe_blit_bitmap): Likewise.
48894 (grub_video_vbe_blit_render_target): Likewise.
48895
83b984de 488962006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
48897
48898 * configure.ac (--with-platform): Properly quote the square
48899 brackets.
48900
5f0413bd 489012006-05-08 Marco Gerards <marco@gnu.org>
48902
48903 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
48904 this...
48905 (kernel_elf_HEADERS): ...to this. Updated all users.
48906 (grubof_symlist.c): Renamed from this...
48907 (kernel_elf_symlist.c): ...to this. Updated all users.
48908 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48909 (grubof_SOURCES): Renamed from this...
48910 (kernel_elf_SOURCES): ...to this.
48911 (grubof_HEADERS): Renamed from this...
48912 (kernel_elf_HEADERS): ...to this.
48913 (grubof_CFLAGS): Renamed from this...
48914 (kernel_elf_CFLAGS): ...to this.
48915 (grubof_ASFLAGS): Renamed from this...
48916 (kernel_elf_ASFLAGS): ...to this.
48917 (grubof_LDFLAGS): Renamed from this...
48918 (kernel_elf_LDFLAGS): ...to this.
48919
48920 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
48921 this...
48922 (kernel_elf_HEADERS): ...to this. Updated all users.
48923 (grubof_symlist.c): Renamed from this...
48924 (kernel_elf_symlist.c): ...to this. Updated all users.
48925 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
48926 (grubof_SOURCES): Renamed from this...
48927 (kernel_elf_SOURCES): ...to this.
48928 (grubof_HEADERS): Renamed from this...
48929 (kernel_elf_HEADERS): ...to this.
48930 (grubof_CFLAGS): Renamed from this...
48931 (kernel_elf_CFLAGS): ...to this.
48932 (grubof_ASFLAGS): Renamed from this...
48933 (kernel_elf_ASFLAGS): ...to this.
48934 (grubof_LDFLAGS): Renamed from this...
48935 (kernel_elf_LDFLAGS): ...to this.
48936
48937 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
48938 `kernel.elf' instead of `grubof'.
48939
05568c2e 489402006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
48941
48942 Add --with-platform to configure. Use pkglibdir instead of
48943 pkgdatadir. This is reported by Roger Leigh.
48944
48945 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
48946 (host_vendor): Likewise.
48947 (host_os): Likewise.
48948 (pkgdatadir): Likewise.
48949 (platform): New variable.
48950 (pkglibdir): Likewise.
48951 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 48952
05568c2e 48953 * util/i386/pc/grub-install.in (datadir): Removed.
48954 (host_vendor): Likewise.
48955 (host_os): Likewise.
48956 (pkgdatadir): Likewise.
48957 (platform): New variable.
48958 (pkglibdir): Likewise.
48959 Use PKGLIBDIR instead of PKGDATADIR.
48960
48961 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
48962 instead of GRUB_DATADIR.
48963 (main): Likewise.
48964 * util/i386/pc/grub-mkimage.c (usage): Likewise.
48965 (main): Likewise.
48966 * util/i386/efi/grub-mkimage.c (usage): Likewise.
48967 (main): Likewise.
48968
48969 * configure.ac (--with-platform): New option.
48970 Use PLATFORM instead of HOST_VENDOR to specify a platform.
48971
48972 * Makefile.in: Include a makefile based on PLATFORM instead of
48973 HOST_VENDOR.
48974 (pkgdatadir): Not appended by the machine type.
48975 (pkglibdir): Appended by the machine type.
48976 (host_vendor): Removed.
48977 (platform): New variable.
48978 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
48979 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
48980 (uninstall): Likewise.
48981
4e93851c 489822006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
48983
48984 Use the environment context in the menu. Remove the commands
48985 "default" and "timeout", and use variables instead.
f19dbdb7 48986
4e93851c 48987 * normal/menu.c: Include grub/env.h.
48988 (print_entry): Cast TITLE to silence gcc.
48989 (get_timeout): New function.
48990 (set_timeout): Likewise.
48991 (get_entry_number): Likewise.
48992 (run_menu): Use a default entry, a fallback entry and a timeout
48993 in the environment variables "default", "fallback" and
48994 "timeout". Also, tweak the default entry if it is not within the
48995 current menu entries.
48996 (grub_menu_run): Use a fallback entry in the environment variable
48997 "fallback".
48998
48999 * normal/main.c (read_config_file): Do not initialize
49000 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49001 NEWMENU->TIMEOUT.
49002 (grub_normal_execute): Use a data slot to store the menu.
49003
49004 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49005 fallback_entry and timeout.
49006 (struct grub_menu_list): Removed.
49007 (grub_menu_list_t): Likewise.
49008 (struct grub_context): Likewise.
49009 (grub_context_t): Likewise.
49010 (grub_context_get): Likewise.
49011 (grub_context_get_current_menu): Likewise.
49012 (grub_context_push_menu): Likewise.
49013 (grub_context_pop_menu): Likewise.
49014 (grub_default_init): Likewise.
49015 (grub_default_fini): Likewise.
49016 (grub_timeout_init): Likewise.
49017 (grub_timeout_fini): Likewise.
49018
49019 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49020 and timeout.mod.
49021 (normal_mod_SOURCES): Removed normal/context.c.
49022
49023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49024 commands/default.c, commands/timeout.c and normal/context.c.
49025 (normal_mod_SOURCES): Removed normal/context.c.
49026
49027 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49028 commands/timeout.c and normal/context.c.
49029 (normal_mod_SOURCES): Removed normal/context.c.
49030
49031 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49032 commands/default.c, commands/timeout.c and normal/context.c.
49033 (normal_mod_SOURCES): Removed normal/context.c.
49034
49035 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49036 timeout.mod.
49037 (default_mod_SOURCES): Removed.
49038 (default_mod_CFLAGS): Likewise.
49039 (default_mod_LDFLAGS): Likewise.
49040 (timeout_mod_SOURCES): Removed.
49041 (timeout_mod_CFLAGS): Likewise.
49042 (timeout_mod_LDFLAGS): Likewise.
49043
49044 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49045 normal/context.c.
49046
49047 * commands/default.c: Removed.
49048 * commands/timeout.c: Likewise.
49049 * normal/context.c: Likewise.
49050
1eb9cc1d 490512006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49052
49053 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49054
385bd9c1 490552006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49056
49057 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49058 "next" to "prev" for readability.
49059 (struct grub_env_sorted_var): New struct.
49060 (grub_env_context): Renamed to ...
49061 (initial_context): ... this.
49062 (grub_env_var_context): Renamed to ...
49063 (current_context): ... this.
49064 (grub_env_find): Look only at CURRENT_CONTEXT.
49065 (grub_env_context_open): Rewritten to copy exported variables from
49066 previous context.
49067 (grub_env_context_close): Rewritten according to the new
49068 scheme. Also, add an assertion to prevent the initial context from
49069 removed.
49070 (grub_env_insert): Removed the code for the sorted list.
49071 (grub_env_remove): Likewise.
49072 (grub_env_export): Simply mark the variable with
49073 GRUB_ENV_VAR_GLOBAL.
49074 (grub_env_set): A cosmetic change for naming consistency.
49075 (grub_env_get): Likewise.
49076 (grub_env_unset): Likewise.
49077 (grub_env_iterate): Rewritten to sort variables within this
49078 function.
49079 (grub_register_variable_hook): Fixed for naming consistency. Call
49080 grub_env_find again, only if NAME is not found at the first time.
49081 (mangle_data_slot_name): New function.
49082 (grub_env_set_data_slot): Likewise.
49083 (grub_env_get_data_slot): Likewise.
49084 (grub_env_unset_data_slot): Likewise.
49085
49086 * include/grub/env.h (grub_env_var_type): New enum.
49087 (GRUB_ENV_VAR_LOCAL): New constant.
49088 (GRUB_ENV_VAR_GLOBAL): Likewise.
49089 (GRUB_ENV_VAR_DATA): Likewise.
49090 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49091 "type".
49092 (grub_env_set): Replace VAR with NAME for consistency.
49093 (grub_register_variable_hook): Likewise.
49094 (grub_env_export): Specify the name of the argument.
49095 (grub_env_set_data_slot): New prototype.
49096 (grub_env_get_data_slot): Likewise.
49097 (grub_env_unset_data_slot): Likewise.
49098
7f362539 490992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49100
49101 Extend the loader so that GRUB can accept a loader which comes
49102 back to GRUB when a loaded image exits. Also, this change adds
49103 support for a chainloader on EFI.
f19dbdb7 49104
7f362539 49105 * term/efi/console.c: Include grub/misc.h.
49106 (grub_console_checkkey): Display a scan code on the top for
49107 debugging. This will be removed once the EFI port gets stable.
49108 Correct the scan code mapping.
49109
49110 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49111 allocate memory from larger regions, in order to reduce the number
49112 of allocated regions. Otherwise, the MacOSX loader panics.
49113 (filter_memory_map): Avoid less than 1MB for compatibility with
49114 other loaders.
49115 (add_memory_regions): Allocate from the tail of a region, if
49116 possible, to avoid allocating a region near to 1MB, for the MacOSX
49117 loader.
49118
49119 * kern/efi/init.c (grub_efi_set_prefix): Specify
49120 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49121
49122 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49123 argument IMAGE_HANDLE and specify it to get a loaded image.
49124 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49125 grub_efi_get_loaded_image.
fe6b695a 49126 (grub_efi_get_filename): Divide the length by the size of
7f362539 49127 grub_efi_char16_t.
49128 (grub_efi_get_device_path): New function.
49129 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49130 the length by the size of grub_efi_char16_t for a file path device
49131 path node.
49132
49133 * kern/loader.c (grub_loader_noreturn): New variable.
49134 (grub_loader_set): Accept a new argument NORETURN. Set
49135 GRUB_LOADER_NORETURN to NORETURN.
49136 All callers changed.
49137 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49138 grub_machine_fini.
49139
49140 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49141 prototype.
49142 (grub_efi_get_loaded_image): Take an argument to specify an image
49143 handle.
49144
49145 * include/grub/loader.h (grub_loader_set): Added one more argument
49146 NORETURN.
49147
49148 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49149 instead of grub_efi_open_protocol.
49150 (grub_efidisk_get_device_name): Likewise.
49151 (grub_efidisk_close): Print a newline.
49152 (grub_efidisk_get_device_handle): Fixed to use
49153 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49154 GRUB_EFI_DEVICE_PATH_TYPE.
49155
49156 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49157 * kern/efi/efi.c (device_path_guid): ... here.
49158
49159 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49160 chain.mod.
49161 (kernel_mod_HEADERS): Added efi/disk.h.
49162 (_chain_mod_SOURCES): New variable.
49163 (_chain_mod_CFLAGS): Likewise.
49164 (_chain_mod_LDFLAGS): Likewise.
49165 (chain_mod_SOURCES): Likewise.
49166 (chain_mod_CFLAGS): Likewise.
49167 (chain_mod_LDFLAGS): Likewise.
49168
49169 * DISTLIST: Added include/grub/efi/chainloader.h,
49170 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49171
49172 * include/grub/efi/chainloader.h: New file.
49173 * loader/efi/chainloader.c: Likewise.
49174 * loader/efi/chainloader_normal.c: Likewise.
49175
c0111d6e 491762006-04-30 Marco Gerards <marco@gnu.org>
49177
49178 * commands/configfile.c (grub_cmd_source): New function.
49179 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49180 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49181
df5341da 491822006-04-30 Marco Gerards <marco@gnu.org>
49183
49184 * normal/execute.c (grub_script_execute_cmd): Change the return
49185 type to `grub_err_t'. Correctly return the error.
49186 (grub_script_execute_cmdline): In case a command line is not a
49187 command or a function, try to interpret it as an assignment.
49188
f85934bd 491892006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49190
49191 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49192 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49193 skip a node whose name is obviously invalid as UTF-16,
49194 i.e. contains a NUL character. Stop the iteration when the last
49195 directory entry is found. Instead of using the return value of
49196 grub_hfsplus_btree_iterate_node, store the value in RET and use
49197 it, because the iterator can be stopped by the last directory
49198 entry.
49199
8f8a2cf8 492002006-04-30 Marco Gerards <marco@gnu.org>
49201
49202 * include/grub/env.h (grub_env_export): New prototype. Reported
49203 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49204
a27e84ce 492052006-04-30 Marco Gerards <marco@gnu.org>
49206
49207 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49208 size of the extents in a catalog file record.
49209
eaef0553 492102006-04-29 Marco Gerards <marco@gnu.org>
49211
49212 * commands/configfile.c (grub_cmd_configfile): Execute the
49213 configfile within its own context.
49214
49215 * include/grub/env.h (grub_env_context_open): New prototype.
49216 (grub_env_context_close): Likewise.
49217
49218 * kern/env.c (grub_env): Removed.
49219 (grub_env_sorted): Likewise.
49220 (grub_env_context): New variable.
49221 (grub_env_var_context): Likewise.
49222 (grub_env_find): Search both the active context and the global
49223 context.
49224 (grub_env_context_open): New function.
49225 (grub_env_context_close): Likewise.
49226 (grub_env_insert): Likewise.
49227 (grub_env_remove): Likewise.
49228 (grub_env_export): Likewise.
49229 (grub_env_set): Changed to use helper functions to avoid code
49230 duplication.
49231 (grub_env_iterate): Rewritten so both the current context and the
49232 global context are being used.
49233
49234 * normal/command.c (export_command): New function.
49235 (grub_command_init): Register the `export' function.
49236
7b455f4d 492372006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49238
49239 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49240 explicitly to suppress gcc's warnings.
49241 * fs/fat.c (grub_fat_find_dir): Likewise.
49242 (grub_fat_label): Likewise.
49243 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49244 (grub_xfs_mount): Likewise.
49245 (grub_xfs_label): Likewise.
49246 * fs/affs.c (grub_affs_mount): Likewise.
49247 (grub_affs_label): Likewise.
49248 (grub_affs_iterate_dir): Likewise.
49249 * fs/sfs.c (grub_sfs_mount): Likewise.
49250 (grub_sfs_iterate_dir): Likewise.
49251 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49252 * fs/hfs.c (grub_hfs_mount): Likewise.
49253 (grub_hfs_cmp_catkeys): Likewise.
49254 (grub_hfs_find_dir): Likewise.
49255 (grub_hfs_dir): Likewise.
49256 (grub_hfs_label): Likewise.
49257 * fs/jfs.c (grub_jfs_mount): Likewise.
49258 (grub_jfs_opendir): Likewise.
49259 (grub_jfs_getent): Likewise.
49260 (grub_jfs_lookup_symlink): Likewise.
49261 (grub_jfs_label): Likewise.
49262 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49263 (grub_hfsplus_iterate_dir): Likewise.
49264 (grub_hfsplus_btree_iterate_node): Made static.
49265
49266 * util/grub-emu.c (prefix): New variable.
49267 (grub_machine_set_prefix): New function.
49268 (main): Do not set the environment variable "prefix" here. Only
49269 set PREFIX, which is used later by grub_machine_set_prefix.
49270
49271 * include/grub/video.h: Do not include grub/symbol.h.
49272 (grub_video_register): Not exported. This symbol is not defined in
49273 the kernel.
49274 (grub_video_unregister): Likewise.
49275 (grub_video_iterate): Likewise.
49276 (grub_video_setup): Likewise.
49277 (grub_video_restore): Likewise.
49278 (grub_video_get_info): Likewise.
49279 (grub_video_get_blit_format): Likewise.
49280 (grub_video_set_palette): Likewise.
49281 (grub_video_get_palette): Likewise.
49282 (grub_video_set_viewport): Likewise.
49283 (grub_video_get_viewport): Likewise.
49284 (grub_video_map_color): Likewise.
49285 (grub_video_map_rgb): Likewise.
49286 (grub_video_map_rgba): Likewise.
49287 (grub_video_fill_rect): Likewise.
49288 (grub_video_blit_glyph): Likewise.
49289 (grub_video_blit_bitmap): Likewise.
49290 (grub_video_blit_render_target): Likewise.
49291 (grub_video_scroll): Likewise.
49292 (grub_video_swap_buffers): Likewise.
49293 (grub_video_create_render_target): Likewise.
49294 (grub_video_delete_render_target): Likewise.
49295 (grub_video_set_active_render_target): Likewise.
49296
49297 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49298 Undefined.
49299 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49300
49301 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49302 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49304 instead of $(srcdir)/genkernsyms.sh.
49305
49306 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49307 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49309 instead of $(srcdir)/genkernsyms.sh.
49310
49311 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49312 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49314 instead of $(srcdir)/genkernsyms.sh.
49315
49316 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49317 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49318 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49319 instead of $(srcdir)/genkernsyms.sh.
49320
49321 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49322 genkernsyms.sh.
49323
49324 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49325 genkernsyms.sh.
49326 (gensymlist.sh): New target.
49327 (genkernsyms.sh): Likewise.
49328
49329 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49330 genkernsyms.sh.in and gensymlist.sh.in.
49331
49332 * genkernsyms.sh: Removed.
49333 * gensymlist.sh: Likewise.
f19dbdb7 49334
7b455f4d 49335 * genkernsyms.sh.in: New file.
49336 * gensymlist.sh.in: Likewise.
49337
1885bb27 493382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49339
49340 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49341 clobber "prefix", since we may have already set it manually.
49342
71538dff 493432006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49344
49345 * kern/misc.c (abort): New alias for grub_abort.
49346
2965c7cc 493472006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49348
49349 A new machine-specific function "grub_machine_set_prefix" is
49350 defined. This is called after loading modules, so that a prefix
49351 initialization can use modules. Also, this change adds an
49352 intensive debugging feature for the memory manager via the
49353 configure option "--enable-mm-debug".
f19dbdb7 49354
2965c7cc 49355 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49356 PART.LEN.
49357
49358 * kern/sparc64/ieee1275/init.c (abort): Removed.
49359 (grub_stop): Likewise.
49360 (grub_exit): New function.
49361 (grub_set_prefix): Renamed to ...
49362 (grub_machine_set_prefix): ... this.
49363 (grub_machine_init): Do not call grub_set_prefix.
49364
49365 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49366 (grub_machine_set_prefix): ... this.
49367 (grub_machine_init): Do not call grub_set_prefix.
49368
49369 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49370 (grub_machine_init): Do not set the prefix here.
49371
49372 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49373
49374 * kern/efi/init.c: Include grub/mm.h.
49375 (grub_efi_set_prefix): New function.
49376
49377 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49378 (grub_efi_get_filename): New function.
49379 (grub_print_device_path): Renamed to ...
49380 (grub_efi_print_device_path): ... this.
49381
49382 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49383 [MM_DEBUG] (grub_realloc): Likewise.
49384 [MM_DEBUG] (grub_free): Likewise.
49385 [MM_DEBUG] (grub_memalign): Likewise.
49386 [MM_DEBUG] (grub_mm_debug): New variable.
49387 [MM_DEBUG] (grub_debug_malloc): New function.
49388 [MM_DEBUG] (grub_debug_free): New function.
49389 [MM_DEBUG] (grub_debug_realloc): New function.
49390 [MM_DEBUG] (grub_debug_memalign): New function.
49391
49392 * kern/misc.c (grub_abort): Print a newline to distinguish
49393 the message.
49394
49395 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49396 grub_set_root_dev after loading modules. This is necessary when
49397 setting a prefix depends on modules.
49398
49399 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49400 (grub_efi_print_device_path): ... this.
49401 (grub_efi_get_filename): New prototype.
49402 (grub_efi_set_prefix): Likewise.
49403
49404 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49405 and grub/disk.h.
49406 (grub_efidisk_get_device_handle): New prototype.
49407 (grub_efidisk_get_device_name): Likewise.
49408
49409 * include/grub/mm.h: Include config.h.
49410 (MM_DEBUG): Removed.
49411 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49412 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49413 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49414 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49415 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49416 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49417 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49418 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49419 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49420
49421 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49422
49423 * disk/efi/efidisk.c: Include grub/partition.h.
49424 (iterate_child_devices): New function.
49425 (add_device): First, compare only last device path nodes, so that
49426 devices are sorted by the types.
49427 (grub_efidisk_get_device_handle): New function.
49428 (grub_efidisk_get_device_name): Likewise.
49429
49430 * configure.ac (--enable-mm-debug): New option to enable the
49431 memory manager debugging feature. This makes the binary much
49432 bigger, so is disabled by default.
49433
9cacaa17 494342006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49435
49436 Use grub_abort instead of grub_stop, and grub_exit must be
49437 define in each architecture now. Also, this change adds support
49438 for EFI disks.
f19dbdb7 49439
9cacaa17 49440 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49441 (grub_getkey): New function.
49442 (grub_term_get_current): Likewise.
49443
49444 * util/i386/pc/grub-setup.c: Include grub/term.h.
49445 (grub_getkey): New function.
49446 (grub_term_get_current): Likewise.
49447
49448 * util/misc.c (grub_stop): Renamed to ...
49449 (grub_exit): ... this.
49450
49451 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49452 (grub_exit): ... this.
49453 (grub_machine_init): Use grub_abort instead of abort.
49454 (grub_stop): Removed.
49455
49456 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49457 abort.
49458
49459 * kern/i386/pc/startup.S (grub_exit): New function.
49460 (cold_reboot): New label.
49461
49462 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49463 (grub_efi_init): Call grub_efidisk_init.
49464 (grub_efi_fini): Call grub_efidisk_fini.
49465
49466 * kern/efi/efi.c: Include grub/mm.h.
49467 (grub_efi_console_control_guid): Renamed to ...
49468 (console_control_guid): ... this.
49469 (grub_efi_loaded_image_guid): Renamed to ...
49470 (loaded_image_guid): ... this.
49471 (grub_efi_locate_handle): New function.
49472 (grub_efi_open_protocol): Likewise.
49473 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49474 GRUB_EFI_CONSOLE_CONTROL_GUID.
49475 (grub_efi_exit): Removed.
49476 (grub_stop): Likewise.
49477 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49478 (grub_exit): New function.
49479 (grub_print_device_path): Likewise.
49480
49481 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49482 (grub_enter_rescue_mode): Register "exit".
49483
49484 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49485 (grub_abort): New function.
49486
49487 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49488
49489 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49490
49491 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49492
49493 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49494 (grub_print_device_path): New prototype.
49495 (grub_efi_locate_handle): Likewise.
49496 (grub_efi_open_protocol): Likewise.
49497
49498 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49499 * disk/efi/efidisk.c: Likewise.
49500
49501 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49502
49503 * include/grub/efi/console_control.h
49504 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49505
49506 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49507 last 8 bytes as an array.
49508 (GRUB_EFI_DISK_IO_GUID): New macro.
49509 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49510 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49511 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49512 grub_uint8_t.
49513 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49514 (struct grub_efi_device_path): Rename the member "sub_type" to
49515 "subtype".
49516 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49517 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49518 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49519 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49520 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49521 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49522 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49523 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49524 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49525 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49526 (struct grub_efi_pci_device_path): New structure.
49527 (grub_efi_pci_device_path_t): New type.
49528 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49529 (struct grub_efi_pccard_device_path): New structure.
49530 (grub_efi_pccard_device_path_t): New type.
49531 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49532 (struct grub_efi_memory_mapped_device_path): New structure.
49533 (grub_efi_memory_mapped_device_path_t): New type.
49534 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49535 (struct grub_efi_vendor_device_path): New structure.
49536 (grub_efi_vendor_device_path_t): New type.
49537 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49538 (struct grub_efi_controller_device_path): New structure.
49539 (grub_efi_controller_device_path_t): New type.
49540 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49541 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49542 (struct grub_efi_acpi_device_path): New structure.
49543 (grub_efi_acpi_device_path_t): New type.
49544 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49545 (struct grub_efi_expanded_acpi_device_path): New structure.
49546 (grub_efi_expanded_acpi_device_path_t): New type.
49547 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49548 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49549 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49550 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49551 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49552 (struct grub_efi_atapi_device_path): New structure.
49553 (grub_efi_atapi_device_path_t): New type.
49554 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49555 (struct grub_efi_fibre_channel_device_path): New structure.
49556 (grub_efi_fibre_channel_device_path_t): New type.
49557 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49558 (struct grub_efi_1394_device_path): New structure.
49559 (grub_efi_1394_device_path_t): New type.
49560 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49561 (struct grub_efi_usb_device_path): New structure.
49562 (grub_efi_usb_device_path_t): New type.
49563 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49564 (struct grub_efi_usb_class_device_path): New structure.
49565 (grub_efi_usb_class_device_path_t): New type.
49566 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49567 (struct grub_efi_i2o_device_path): New structure.
49568 (grub_efi_i2o_device_path_t): New type.
49569 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49570 (struct grub_efi_mac_address_device_path): New structure.
49571 (grub_efi_mac_address_device_path_t): New type.
49572 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49573 (struct grub_efi_ipv4_device_path): New structure.
49574 (grub_efi_ipv4_device_path_t): New type.
49575 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49576 (struct grub_efi_ipv6_device_path): New structure.
49577 (grub_efi_ipv6_device_path_t): New type.
49578 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49579 (struct grub_efi_infiniband_device_path): New structure.
49580 (grub_efi_infiniband_device_path_t): New type.
49581 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49582 (struct grub_efi_uart_device_path): New structure.
49583 (grub_efi_uart_device_path_t): New type.
49584 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49585 (struct grub_efi_vendor_messaging_device_path): New structure.
49586 (grub_efi_vendor_messaging_device_path_t): New type.
49587 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49588 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49589 (struct grub_efi_hard_drive_device_path): New structure.
49590 (grub_efi_hard_drive_device_path_t): New type.
49591 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49592 (struct grub_efi_cdrom_device_path): New structure.
49593 (grub_efi_cdrom_device_path_t): New type.
49594 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49595 (struct grub_efi_vendor_media_device_path): New structure.
49596 (grub_efi_vendor_media_device_path_t): New type.
49597 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49598 (struct grub_efi_file_path_device_path): New structure.
49599 (grub_efi_file_path_device_path_t): New type.
49600 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49601 (struct grub_efi_protocol_device_path): New structure.
49602 (grub_efi_protocol_device_path_t): New type.
49603 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49604 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49605 (struct grub_efi_bios_device_path): New structure.
49606 (grub_efi_bios_device_path_t): New type.
49607 (struct grub_efi_disk_io): New structure.
49608 (grub_efi_disk_io_t): New type.
49609 (struct grub_efi_block_io_media): New structure.
49610 (grub_efi_block_io_media_t): New type.
49611 (struct grub_efi_block_io): New structure.
49612 (grub_efi_block_io_t): New type.
49613
49614 * include/grub/misc.h (grub_stop): Removed.
49615 (grub_exit): New prototype.
49616 (grub_abort): Likewise.
49617
49618 * include/grub/disk.h (enum grub_disk_dev_id): Added
49619 GRUB_DISK_DEVICE_EFIDISK_ID.
49620
49621 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49622 disk/efi/efidisk.c.
49623 (kernel_syms.lst): Remove the target if an error occurs.
49624
49986a9f 496252006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49626
49627 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49628 as it was simply too buggy.
49629
970d3b8a 496302006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49631
49632 * kern/misc.c (grub_lltoa): New function.
49633 (grub_vsprintf): Added support for the long long suffix,
49634 i.e. "ll".
49635
ff04ec24 496362006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49637
49638 * Makefile.in (LDFLAGS): Add variable.
49639 (LD): Remove variable.
49640 * configure.ac: Add -m32 to LDFLAGS.
49641 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49642 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49643 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49644 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49645 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49646 variables.
49647 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49648 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49649 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49650
37e5e1a4 496512006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49652
49653 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49654 length for unknown glyph.
49655
c352d8dd 496562006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49657
2eab1c0d 49658 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49659
2eab1c0d 49660 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49661 completely. Accept one more argument DIR. The caller has changed.
49662
49663 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49664
49665 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49666 (grub_efi_loaded_image_guid): New variable.
49667 (grub_efi_get_loaded_image): New function.
49668 (grub_arch_modules_addr): Likewise.
49669
49670 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49671 prototype.
49672
49673 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49674 (struct grub_efi_loaded_image): New structure.
49675 (grub_efi_loaded_image_t): New type.
49676
496772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49678
c352d8dd 49679 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49680 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49681 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49682
6d01d6b4 496832006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49684
49685 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49686
976a4ea0 496872006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49688
49689 * DISTLIST: Added include/grub/efi/console.h,
49690 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49691 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49692
49693 * include/grub/efi/console.h: New file.
49694 * include/grub/efi/time.h: Likewise.
49695 * include/grub/i386/efi/kernel.h: Likewise.
49696 * kern/efi/init.c: Likewise.
49697 * kern/efi/mm.c: Likewise.
49698 * term/efi/console.c: Likewise.
f19dbdb7 49699
976a4ea0 49700 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49701 (grub_stop): Removed.
49702 (grub_get_rtc): Likewise.
49703 (grub_machine_init): Simply call grub_efi_init.
49704 (grub_machine_fini): Call grub_efi_fini.
49705
49706 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49707 (grub_efi_output_string): Removed.
49708 (grub_efi_stall): New function.
49709 (grub_stop): Likewise.
49710 (grub_get_rtc): Likewise.
49711
49712 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49713 (grub_efi_stall): New prototype.
49714 (grub_efi_allocate_pages): Likewise.
49715 (grub_efi_free_pages): Likewise.
49716 (grub_efi_get_memory_map): Likewise.
49717 (grub_efi_mm_init): Likewise.
49718 (grub_efi_mm_fini): Likewise.
49719 (grub_efi_init): Likewise.
49720 (grub_efi_fini): Likewise.
49721
49722 * include/grub/i386/efi/time.h: Do not include
49723 grub/symbol.h. Include grub/efi/time.h.
49724 (GRUB_TICKS_PER_SECOND): Removed.
49725 (grub_get_rtc): Likewise.
49726
49727 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49728 Added padding. The EFI spec is buggy.
49729 (GRUB_EFI_BLACK): New macro.
49730 (GRUB_EFI_BLUE): Likewise.
49731 (GRUB_EFI_GREEN): Likewise.
49732 (GRUB_EFI_CYAN): Likewise.
49733 (GRUB_EFI_RED): Likewise.
49734 (GRUB_EFI_MAGENTA): Likewise.
49735 (GRUB_EFI_BROWN): Likewise.
49736 (GRUB_EFI_LIGHTGRAY): Likewise.
49737 (GRUB_EFI_BRIGHT): Likewise.
49738 (GRUB_EFI_DARKGRAY): Likewise.
49739 (GRUB_EFI_LIGHTBLUE): Likewise.
49740 (GRUB_EFI_LIGHTGREEN): Likewise.
49741 (GRUB_EFI_LIGHTCYAN): Likewise.
49742 (GRUB_EFI_LIGHTRED): Likewise.
49743 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49744 (GRUB_EFI_YELLOW): Likewise.
49745 (GRUB_EFI_WHITE): Likewise.
49746 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49747 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49748 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49749 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49750 (GRUB_EFI_BACKGROUND_RED): Likewise.
49751 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49752 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49753 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49754 (GRUB_EFI_TEXT_ATTR): Likewise.
49755
49756 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49757 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49758 (kernel_mod_HEADERS): Added efi/time.h.
49759
83709125 497602006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49761
49762 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49763 include/grub/efi/api.h, include/grub/efi/console_control.h,
49764 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49765 include/grub/i386/efi/time.h, kern/efi/efi.c,
49766 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49767 and util/i386/efi/grub-mkimage.c.
49768
49769 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49770
49771 * genmk.rb (PModule#rule): Do not export symbols if
49772 #{prefix}_EXPORTS is set to "no".
49773
49774 * conf/i386-efi.mk: New file.
49775 * conf/i386-efi.rmk: Likewise.
49776 * include/grub/efi/api.h: Likewise.
49777 * include/grub/efi/console_control.h: Likewise.
49778 * include/grub/efi/efi.h: Likewise.
49779 * include/grub/efi/pe32.h: Likewise.
49780 * include/grub/i386/efi/time.h: Likewise.
49781 * kern/efi/efi.c: Likewise.
49782 * kern/i386/efi/init.c: Likewise.
49783 * kern/i386/efi/startup.S: Likewise.
49784 * util/i386/efi/grub-mkimage.c: Likewise.
49785
497862006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49787
49788 * include/grub/script.h: Include <grub/parser.h> and
49789 "grub_script.tab.h".
49790 (struct grub_lexer_param): New struct.
49791 (struct grub_parser_param): Likewise.
49792 (grub_script_create_arglist): Pass the state in an argument.
49793 (grub_script_add_arglist): Likewise.
49794 (grub_script_create_cmdline): Likewise.
49795 (grub_script_create_cmdblock): Likewise.
49796 (grub_script_create_cmdif): Likewise.
49797 (grub_script_create_cmdmenu): Likewise.
49798 (grub_script_add_cmd): Likewise.
49799 (grub_script_arg_add): Likewise.
49800 (grub_script_lexer_ref): Likewise.
49801 (grub_script_lexer_deref): Likewise.
49802 (grub_script_lexer_record_start): Likewise.
49803 (grub_script_lexer_record_stop): Likewise.
49804 (grub_script_mem_record): Likewise.
49805 (grub_script_mem_record_stop): Likewise.
49806 (grub_script_malloc): Likewise.
49807 (grub_script_yylex): Likewise.
49808 (grub_script_yyparse): Likewise.
49809 (grub_script_yyerror): Likewise.
49810 (grub_script_yylex): Likewise.
49811 (grub_script_lexer_init): Return the state.
49812
49813 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49814 (grub_script_lexer_done): Likewise.
49815 (grub_script_lexer_getline): Likewise.
49816 (grub_script_lexer_refs): Likewise.
49817 (script): Likewise.
49818 (newscript): Likewise.
49819 (record): Likewise.
49820 (recording): Likewise.
49821 (recordpos): Likewise.
49822 (recordlen): Likewise.
49823 (grub_script_lexer_init): Return the state instead of setting
49824 global variables.
49825 (grub_script_lexer_ref): Use the newly added argument for state
49826 instead of globals.
49827 (grub_script_lexer_deref): Likewise.
49828 (grub_script_lexer_record_start): Likewise.
49829 (grub_script_lexer_record_stop): Likewise.
49830 (recordchar): Likewise.
49831 (nextchar): Likewise.
49832 (grub_script_yylex2): Likewise.
49833 (grub_script_yylex): Likewise.
49834 (grub_script_yyerror): Likewise.
49835
49836 * normal/parser.y (func_mem): Removed variable.
49837 (menu_entry): Likewise.
49838 (err): Likewise.
49839 (%lex-param): New parser option.
49840 (%parse-param): Likewise.
49841 (script): Always return the AST.
49842 (argument): Pass the state around.
49843 (arguments): Likewise.
49844 (grubcmd): Likewise.
49845 (commands): Likewise.
49846 (function): Likewise.
49847 (menuentry): Likewise.
49848 (if_statement): Likewise.
49849 (if): Likewise.
49850
49851 * normal/script.c (grub_script_memused): Removed variable.
49852 (grub_script_parsed): Likewise.
49853 (grub_script_malloc): Added a state argument. Use that instead of
49854 global variables.
49855 (grub_script_mem_record): Likewise.
49856 (grub_script_mem_record_stop): Likewise.
49857 (grub_script_arg_add): Likewise.
49858 (grub_script_add_arglist): Likewise.
49859 (grub_script_create_cmdline): Likewise.
49860 (grub_script_create_cmdif): Likewise.
49861 (grub_script_create_cmdmenu): Likewise.
49862 (grub_script_add_cmd): Likewise.
49863 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 49864
e2a8c904 498652006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 49866
49867 * normal/command.c (grub_command_init): Remove the title command.
49868
49869 * normal/lexer.c (grub_script_yylex): Renamed from this...
49870 (grub_script_yylex2): ... to this.
49871 (grub_script_yylex): New function. Temporary
49872 introduced to filter some tokens.
49873 (grub_script_yyerror): Print a newline.
49874
49875 * normal/main.c (read_config_file): Output information about the
49876 lines that contain errors. Wait for a key after all lines have
49877 been processed. Don't return an empty menu.
49878
49879 * normal/parser.y (func_mem): Don't initialize.
49880 (menu_entry): Likewise.
49881 (err): New variable.
49882 (script): Don't return anything when an error was encountered.
49883 (ws, returns): Removed rules.
49884 (argument): Disabled concatenated variable support.
49885 (arguments): Remove explicit separators.
49886 (grubcmd): Likewise.
49887 (function): Likewise.
49888 (menuentry): Likewise.
49889 (if): Likewise.
49890 (commands): Likewise. Add error handling.
49891
49892 * normal/script.c (grub_script_create_cmdline): If
49893 `grub_script_parsed' is 0, assume the parser encountered an error.
49894
c9a86192 498952006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
49896
49897 * configure.ac: Add support for EFI. Fix the typo
49898 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
49899
70f3b243 499002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49901
49902 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
49903 foreign multibyte characters should be shown correctly.
49904
65f201ad 499052006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
49906
49907 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
49908 calculation.
49909 (read_config_file): Made it to close file before returning.
49910
b4b93674 499112006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
49912
49913 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
49914 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
49915 video/i386/pc/vbefill.c.
49916
49917 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
49918 video/i386/pc/vbefill.c.
49919
49920 * include/grub/video.h (grub_video_blit_format): New enum.
49921 (grub_video_mode_info): Added new member blit_format.
49922 (grub_video_get_blit_format): New function prototype.
49923
49924 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
49925 function prototype.
49926 (grub_video_vbe_map_rgb): Likewise.
49927 (grub_video_vbe_unmap_color): Likewise.
49928
49929 * include/grub/i386/pc/vbeblit.h: New file.
49930
49931 * include/grub/i386/pc/vbefill.h: New file.
49932
49933 * video/video.c (grub_video_get_blit_format): New function.
49934 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
49935 (grub_video_vbe_map_rgb): Likewise.
49936 (grub_video_vbe_unmap_color): Likewise.
49937
49938 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
49939 optimized fills.
49940 (grub_video_vbe_blit_render_target): Changed to use more optimized
49941 blits.
49942 (grub_video_vbe_setup): Added detection for optimized settings.
49943 (grub_video_vbe_create_render_target): Likewise.
49944
49945 * video/i386/pc/vbeblit.c: New file.
49946
49947 * video/i386/pc/vbefill.c: New file.
49948
c2379b9c 499492006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
49950
49951 * font/manager.c (grub_font_get_glyph): Removed font fixup from
49952 here...
49953
49954 * util/unifont2pff.rb: ... and moved it to here. Improved argument
49955 parsing to support both hex and dec ranges. If filename was missing
49956 show usage information.
49957
bd0d7896 499582006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
49959
49960 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
49961 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
49962
49963 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
49964 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
49965 (video_mod_SOURCES): Added.
49966 (video_mod_CFLAGS): Likewise.
49967 (video_mod_LDFLAGS): Likewise.
49968 (gfxterm_mod_SOURCES): Likewise.
49969 (gfxterm_mod_CFLAGS): Likewise.
49970 (gfxterm_mod_LDFLAGS): Likewise.
49971 (videotest_mod_SOURCES): Likewise.
49972 (videotest_mod_CFLAGS): Likewise.
49973 (videotest_mod_LDFLAGS): Likewise.
49974 (vesafb_mod_SOURCES): Removed.
49975 (vesafb_mod_CFLAGS): Likewise.
49976 (vesafb_mod_LDFLAGS): Likewise.
49977 (vga_mod_SOURCES): Likewise.
49978 (vga_mod_CFLAGS): Likewise.
49979 (vga_mod_LDFLAGS): Likewise.
49980
49981 * commands/videotest.c: New file.
49982
49983 * font/manager.c (fill_with_default_glyph): Modified to use
49984 grub_font_glyph.
49985 (grub_font_get_glyph): Likewise.
49986 (fontmanager): Renamed from this...
49987 (font_manager): ... to this.
49988
49989 * include/grub/font.h (grub_font_glyph): Added new structure.
49990 (grub_font_get_glyph): Modified to use grub_font_glyph.
49991
49992 * include/grub/misc.h (grub_abs): Added as inline function.
49993
49994 * include/grub/video.h: New file.
49995
49996 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
49997 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
49998 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
49999 (grub_vbe_get_controller_info): Renamed from this...
50000 (grub_vbe_bios_get_controller_info): ... to this.
50001 (grub_vbe_get_mode_info): Renamed from this...
50002 (grub_vbe_bios_get_mode_info): ... to this.
50003 (grub_vbe_set_mode): Renamed from this...
50004 (grub_vbe_bios_set_mode): ... to this.
50005 (grub_vbe_get_mode): Renamed from this...
50006 (grub_vbe_bios_get_mode): ... to this.
50007 (grub_vbe_set_memory_window): Renamed from this...
50008 (grub_vbe_bios_set_memory_window): ... to this.
50009 (grub_vbe_get_memory_window): Renamed from this...
50010 (grub_vbe_bios_get_memory_window): ... to this.
50011 (grub_vbe_set_scanline_length): Renamed from this...
50012 (grub_vbe_set_scanline_length): ... to this.
50013 (grub_vbe_get_scanline_length): Renamed from this...
50014 (grub_vbe_bios_get_scanline_length): ... to this.
50015 (grub_vbe_set_display_start): Renamed from this...
50016 (grub_vbe_bios_set_display_start): ... to this.
50017 (grub_vbe_get_display_start): Renamed from this...
50018 (grub_vbe_bios_get_display_start): ... to this.
50019 (grub_vbe_set_palette_data): Renamed from this...
50020 (grub_vbe_bios_set_palette_data): ... to this.
50021 (grub_vbe_set_pixel_rgb): Removed.
50022 (grub_vbe_set_pixel_index): Likewise.
50023
50024 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50025 from this...
50026 (grub_vbe_bios_get_controller_info): ... to this.
50027 (grub_vbe_get_mode_info): Renamed from this...
50028 (grub_vbe_bios_get_mode_info): ... to this.
50029 (grub_vbe_set_mode): Renamed from this...
50030 (grub_vbe_bios_set_mode): ... to this.
50031 (grub_vbe_get_mode): Renamed from this...
50032 (grub_vbe_bios_get_mode): ... to this.
50033 (grub_vbe_set_memory_window): Renamed from this...
50034 (grub_vbe_bios_set_memory_window): ... to this.
50035 (grub_vbe_get_memory_window): Renamed from this...
50036 (grub_vbe_bios_get_memory_window): ... to this.
50037 (grub_vbe_set_scanline_length): Renamed from this...
50038 (grub_vbe_set_scanline_length): ... to this.
50039 (grub_vbe_get_scanline_length): Renamed from this...
50040 (grub_vbe_bios_get_scanline_length): ... to this.
50041 (grub_vbe_set_display_start): Renamed from this...
50042 (grub_vbe_bios_set_display_start): ... to this.
50043 (grub_vbe_get_display_start): Renamed from this...
50044 (grub_vbe_bios_get_display_start): ... to this.
50045 (grub_vbe_set_palette_data): Renamed from this...
50046 (grub_vbe_bios_set_palette_data): ... to this.
50047 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50048 getting corrupted after calling it. Added more pushes and pops.
50049 (grub_vbe_bios_set_mode): Likewise.
50050 (grub_vbe_bios_get_mode): Likewise.
50051 (grub_vbe_bios_get_memory_window): Likewise.
50052 (grub_vbe_bios_set_scanline_length): Likewise.
50053 (grub_vbe_bios_get_scanline_length): Likewise.
50054 (grub_vbe_bios_get_display_start): Likewise.
50055 (grub_vbe_bios_set_palette_data): Likewise.
50056
50057 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50058 (cl_insert): Likewise.
50059 (cl_delete): Likewise.
50060
50061 * term/gfxterm.c: New file.
50062
50063 * term/i386/pc/vesafb.c: Removed file.
50064
50065 * video/video.c: New file.
50066
50067 * video/i386/pc/vbe.c (real2pm): Added new function.
50068 (grub_video_vbe_draw_pixel): Likewise.
50069 (grub_video_vbe_get_video_ptr): Likewise.
50070 (grub_video_vbe_get_pixel): Likewise
50071 (grub_video_vbe_init): Likewise.
50072 (grub_video_vbe_fini): Likewise.
50073 (grub_video_vbe_setup): Likewise.
50074 (grub_video_vbe_get_info): Likewise.
50075 (grub_video_vbe_set_palette): Likewise.
50076 (grub_video_vbe_get_palette): Likewise.
50077 (grub_video_vbe_set_viewport): Likewise.
50078 (grub_video_vbe_get_viewport): Likewise.
50079 (grub_video_vbe_map_color): Likewise.
50080 (grub_video_vbe_map_rgb): Likewise.
50081 (grub_video_vbe_map_rgba): Likewise.
50082 (grub_video_vbe_unmap_color): Likewise.
50083 (grub_video_vbe_fill_rect): Likewise.
50084 (grub_video_vbe_blit_glyph): Likewise.
50085 (grub_video_vbe_blit_bitmap): Likewise.
50086 (grub_video_vbe_blit_render_target): Likewise.
50087 (grub_video_vbe_scroll): Likewise.
50088 (grub_video_vbe_swap_buffers): Likewise.
50089 (grub_video_vbe_create_render_target): Likewise.
50090 (grub_video_vbe_delete_render_target): Likewise.
50091 (grub_video_vbe_set_active_render_target): Likewise.
50092 (grub_vbe_set_pixel_rgb): Remove function.
50093 (grub_vbe_set_pixel_index): Likewise.
50094 (index_color_mode): Remove static variable.
50095 (active_mode): Likewise.
50096 (framebuffer): Likewise.
50097 (bytes_per_scan_line): Likewise.
50098 (grub_video_vbe_adapter): Added new static variable.
50099 (framebuffer): Likewise.
50100 (render_target): Likewise.
50101 (initial_mode): Likewise.
50102 (mode_in_use): Likewise.
50103 (mode_list): Likewise.
50104
5f97350b 501052006-03-10 Marco Gerards <marco@gnu.org>
50106
50107 * configure.ac (AC_INIT): Bumped to 1.93.
50108
50109 * DISTLIST: Added `include/grub/hfs.h'.
50110
a3c5c6f8 501112006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50112
50113 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50114 18H, which might help the BIOS falling back to next boot media.
50115
6de53d26 501162006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50117
50118 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50119 Poe Chen <poe.poechen@gmail.com>.
50120
77c4a393 501212006-01-17 Marco Gerards <marco@gnu.org>
50122
50123 * include/grub/normal.h: Include <grub/script.h>.
50124 (grub_command_list): Removed struct.
50125 (grub_command_list_t): Removed type.
50126 (grub_menu_entry): Remove members `num' and `command_list'. Add
50127 members `commands' and `sourcecode'.
50128 * include/grub/script.h: Add inclusion guards.
50129 (grub_script_cmd_menuentry): New struct.
50130 (grub_script_execute_menuentry): New prototype.
50131 (grub_script_lexer_record_start): Likewise.
50132 (grub_script_lexer_record_stop): Likewise.
50133 * normal/execute.c (grub_script_execute_menuentry): New function.
50134 * normal/lexer.c (record, recording, recordpos, recordlen): New
50135 variables.
50136 (grub_script_lexer_record_start): New function.
50137 (grub_script_lexer_record_stop): Likewise.
50138 (recordchar): Likewise.
50139 (nextchar): Likewise.
50140 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50141 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50142 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50143 (current_menu): New variable.
50144 (free_menu): Mainly rewritten.
50145 (grub_normal_menu_addentry): New function.
50146 (read_config_file): Rewritten.
50147 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50148 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50149 the menu entry.
50150 (run): Mainly rewritten.
50151 * normal/parser.y (menu_entry): New variable.
50152 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50153 (menuentry): New rule.
50154 (command): Add `menuentry'.
50155 (if_statement): Allow additional returns before `fi'.
50156 * normal/script.c (grub_script_create_cmdmenu): New function.
50157
144f1f98 501582006-01-03 Marco Gerards <marco@gnu.org>
50159
50160 * INSTALL: GNU Bison is required.
50161 * configure.ac: Rewritten the test to detect Bison.
50162 * Makefile.in (YACC): New variable. Reported by Xun Sun
50163 <xun.sun.cn@gmail.com>.
50164
af4b2d89 501652006-01-03 Marco Gerards <marco@gnu.org>
50166
50167 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50168 the HFS+ filesystem to filesystem blocks.
50169 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50170 GCC warning is silenced.
50171
15643b71 501722006-01-03 Marco Gerards <marco@gnu.org>
50173
50174 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50175 read from disk from big endian to host byte order.
50176
00905879 501772006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50178
50179 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50180 documentation.
50181 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50182 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50183 embedded HFS+ filesystem.
50184 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50185 (grub_hfs_sblock): Move from here...
50186 * include/grub/hfs.h: To here... New file.
50187 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50188 documentation.
50189 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50190 New macros.
50191 (grub_hfsplus_volheader): Change type of member `magic' to
50192 `grub_uint16_t'.
50193 (grub_hfsplus_data): Add new member `embedded_offset'.
50194 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50195 returned block.
50196 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50197 Calculate the offset.
50198
8899bc3e 501992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50200
50201 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50202 Removed.
50203 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50204
ae8c0277 502052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50206
50207 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50208 ENV->NAME is NULL after allocating ENV->VALUE.
50209
07084456 502102005-12-25 Marco Gerards <marco@gnu.org>
50211
50212 * kern/env.c (grub_env_set): Rewritten the error handling code.
50213
4750f5f1 502142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50215
50216 * geninit.sh: Made more robust, and more portable.
50217
50214199 502182005-12-25 Marco Gerards <marco@gnu.org>
50219
50220 Add support for Apple HFS+ filesystems.
f19dbdb7 50221
50214199 50222 * fs/hfsplus.c: New file.
50223
50224 * DISTLIST: Added `fs/hfsplus.c'.
50225
50226 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50227 (hfsplus_mod_SOURCES): New variable.
50228 (hfsplus_mod_CFLAGS): Likewise.
50229 (hfsplus_mod_LDFLAGS): Likewise.
50230 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50231 (grub_setup_SOURCES): Likewise.
50232 (grub_mkdevicemap_SOURCES): Likewise.
50233 (grub_emu_SOURCES): Likewise.
50234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50235
50236 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50237
50238 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50239
befaed6c 502402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50241
50242 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50243 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50244 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50245 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50246 normal/lexer.c, normal/parser.y, normal/script.c, and
50247 partmap/gpt.c.
50248 Removed kern/sparc64/cache.c.
50249
50250 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50251 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50252 grub_emu_init.c.
50253
50254 * configure.ac (AC_INIT): Bumped to 1.92.
50255
6a124103 502562005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50257
50258 * kern/err.c (grub_error_push): Added new function to support error
50259 stacks.
50260 (grub_error_pop): Likewise.
50261 (grub_error_stack_items): New local variable to support error stacks.
50262 (grub_error_stack_pos): Likewise.
50263 (grub_error_stack_assert): Likewise.
50264 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50265 stack depth.
50266 (grub_print_error): Added support to print errors from error stack.
50267
50268 * include/grub/err.h (grub_error_push): Added function prototype.
50269 (grub_error_pop): Likewise.
50270
be973c1b 502712005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50272
50273 * configure.ac: Accept `powerpc64' as host_cpu.
50274 (amd64): Rename to `biarch32'.
50275
50276 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50277 non-cacheline-aligned addresses.
50278
50279 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50280 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50281 if `size' is non-zero.
50282
b04216ab 502832005-12-03 Marco Gerards <mgerards@xs4all.nl>
50284
50285 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50286 and `cd' to make sure the filename is not prefixed with a
50287 directory name.
50288 (pkgdata_MODULES): Add `gpt.mod'.
50289 (gpt_mod_SOURCES): New variable.
50290 (gpt_mod_CFLAGS): Likewise.
50291 (gpt_mod_LDFLAGS): Likewise.
50292
50293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50294
50295 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50296 New macro.
50297
50298 * partmap/gpt.c: New file.
50299
50300 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50301 GPT partition map is detected.
50302
41730ed9 503032005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50304
50305 * commands/i386/pc/play.c: New file.
50306 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50307 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50308 macros.
f19dbdb7 50309
95dc3643 503102005-11-27 Marco Gerards <mgerards@xs4all.nl>
50311
50312 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50313 ((unused))' to silence gcc warning.
50314
1569ec51 503152005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50316
50317 * configure.ac: Correct `AC_PROG_YACC' test.
50318
9abde152 503192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50320
50321 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50322 check before installing files.
50323
44b83271 503242005-11-22 Mike Small <smallm@panix.com>
50325
50326 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50327 number regex so multidigit numbers are recognized correctly.
50328
503292005-11-22 Mike Small <smallm@panix.com>
50330
50331 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50332 debugging message before attempting to claim memory.
50333 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50334 multiple addresses in case of failure.
50335
9c12956b 503362005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50337
50338 * term/tparm.c (get_space): Remove empty `if' statement.
50339
50340 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50341
50342 * kern/parser.c (check_varstate): Rename `state' to 's'.
50343
aeaf81d9 503442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50345
50346 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50347 variable definitions to the beginning of each function. Sort stack
50348 variables by size.
50349 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50350 `buf' argument to `char *'.
50351
79bbb63f 503522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50353
50354 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50355 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50356 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50357 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50358 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50359 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50360 configfile.mod, search.mod, gzio.mod and test.mod.
50361 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50362 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50363 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50364 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50365 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50366 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50367 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50368 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50369 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50370 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50371 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50372 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50373 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50374 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50375 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50376 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50377 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50378 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50379 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50380 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50381 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50382 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50383 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50384
50385 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50386 `grep --include'.
50387 (pkgdata_MODULES): Add test.mod.
50388
233b1628 503892005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50390
50391 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50392 appending to variables with "+=".
50393 (PModule): Use full pathname to generate *.lst filenames.
50394
50395 * Makefile.in: Fixed list rules moved from genmk.rb.
50396 (.DELETE_ON_ERROR): New special target.
50397 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50398
50399 * conf/i386-pc.rmk: Include conf/common.mk.
50400 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50401 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50402 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50403 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50404 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50405 configfile.mod, search.mod, gzio.mod and test.mod.
50406 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50407 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50408 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50409 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50410 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50411 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50412 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50413 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50414 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50415 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50416 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50417 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50418 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50419 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50420 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50421 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50422 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50423 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50424 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50425 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50426 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50427 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50428 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50429 here...
50430 * conf/common.rmk: ... to here. New file.
50431
50432 * conf/common.mk: New file.
50433
16f820c8 504342005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50435
50436 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50437 (grub_script.tab.c): ... here.
50438
50439 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50440 (grub_script.tab.c): ... here.
50441
50442 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50443 (grub_script.tab.c): ... here.
50444
50445 * normal/command.c (grub_command_find): Fixed a memory leak of
50446 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50447
63ba1554 504482005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50449
50450 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50451 "@" which marks the start of a comment on ARM.
50452 (VARIABLE): Likewise.
50453
7f67dc13 504542005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50455
79bbb63f 50456 Add support for Linux/ADFS partition tables.
7f67dc13 50457
50458 * partmap/acorn.c: New file.
50459
50460 * include/grub/acorn_filecore.h: Likewise.
50461
50462 * DISTLIST: Added `partmap/acorn.c' and
50463 `include/grub/acorn_filecore.h'.
f19dbdb7 50464
7f67dc13 50465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50466 `partmap/acorn.c'.
50467 (pkgdata_MODULES): Add `acorn.mod'.
50468 (acorn_mod_SOURCES): New variable.
50469 (acorn_mod_CFLAGS): Likewise.
50470
50471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50472 `partmap/acorn.c'.
50473 (pkgdata_MODULES): Add `acorn.mod'.
50474 (acorn_mod_SOURCES): New variable.
50475 (acorn_mod_CFLAGS): Likewise.
50476
50477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50478 (pkgdata_MODULES): Add `acorn.mod'.
50479 (acorn_mod_SOURCES): New variable.
50480 (acorn_mod_CFLAGS): Likewise.
50481 (acorn_mod_LDFLAGS): Likewise.
50482
50483 * include/types.h (grub_disk_addr_t): New typedef.
50484
6d099807 504852005-11-13 Marco Gerards <mgerards@xs4all.nl>
50486
50487 * geninit.sh: New file.
50488
50489 * geninitheader.sh: Likewise.
50490
50491 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50492 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50493 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50494 * commands/configfile.c (grub_configfile_init)
50495 (grub_configfile_fini): Likewise.
50496 * commands/default.c (grub_default_init, grub_default_fini):
50497 Likewise.
50498 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50499 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50500 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50501 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50502 Likewise.
50503 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50504 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50505 Likewise.
50506 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50507 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50508 Likewise.
50509 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50510 Likewise.
fe6b695a 50511 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50512 Likewise.
50513 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50514 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50515 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50516 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50517 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50518 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50519 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50520 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50521 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50522 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50523 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50524 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50525 * partmap/amiga.c (grub_amiga_partition_map_init)
50526 (grub_amiga_partition_map_fini): Likewise.
50527 * partmap/apple.c (grub_apple_partition_map_init)
50528 (grub_apple_partition_map_fini): Likewise.
50529 * partmap/pc.c (grub_pc_partition_map_init)
50530 (grub_pc_partition_map_fini): Likewise.
50531 * partmap/sun.c (grub_sun_partition_map_init,
50532 grub_sun_partition_map_fini): Likewise.
50533 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50534 Likewise.
50535
50536 * util/grub-emu.c: Include <grub_modules_init.h>.
50537 (main): Don't initialize and de-initialize any modules directly,
50538 use `grub_init_all' and `grub_fini_all' instead.
50539
50540 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50541 `grub_vesafb_mod_init'.
50542 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50543 all users.
50544 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50545 `grub_vga_mod_init'. Updated all users.
50546 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50547
6d099807 50548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50549 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50550 rules.
50551
50552 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50553 Generate a function to initialize the module in utilities.
50554 Updated all callers.
50555 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50556 initialize the module in utilities. Updated all callers.
50557
9046bcf0 505582005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50559
50560 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50561 escape sequence and a literal ^L to clear the screen.
50562
50563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50564 when returning from Open Firmware.
50565
d13ea639 505662005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50567
50568 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50569 (grub_ofconsole_height): Likewise.
50570 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50571 manually insert a '\n'.
50572 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50573 `grub_ofconsole_height'. Return early if these are already set.
50574
a8fcf206 505752005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50576
50577 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50578 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50579 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50580 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50581 and `normal/script.c'.
50582 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50583 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50584 (test_mod_SOURCES): New variable.
50585 (test_mod_CFLAGS): Likewise.
50586 (test_mod_LDFLAGS): Likewise.
50587 (pkgdata_MODULES): Add `test.mod'.
50588 (grub_script.tab.c): New rule.
50589 (grub_script.tab.h): Likewise.
50590
b6b32745 505912005-11-07 Marco Gerards <mgerards@xs4all.nl>
50592
50593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50594 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50595 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50596 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50597 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50598 (test_mod_SOURCES): New variable.
50599 (test_mod_CFLAGS): Likewise.
50600 (pkgdata_MODULES): Add `test.mod'.
50601 (grub_script.tab.c): New rule.
50602 (grub_script.tab.h): Likewise.
50603
daac212a 506042005-11-06 Marco Gerards <mgerards@xs4all.nl>
50605
50606 Add initial scripting support.
50607
50608 * commands/test.c: New file.
50609 * include/grub/script.h: Likewise.
50610 * normal/execute.c: Likewise.
50611 * normal/function.c: Likewise.
50612 * normal/lexer.c: Likewise.
50613 * normal/parser.y: Likewise.
50614 * normal/script.c: Likewise.
50615
50616 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50617
daac212a 50618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50619 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50620 `normal/function.c' and `normal/script.c'.
50621 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50622 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50623 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50624 variables.
daac212a 50625 (pkgdata_MODULES): Add `test.mod'.
50626 (grub_script.tab.c): New rule.
50627 (grub_script.tab.h): Likewise.
50628
50629 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50630
50631 * include/grub/normal.h (grub_test_init): New prototype.
50632 (grub_test_fini): Likewise.
f19dbdb7 50633
daac212a 50634 * normal/command.c: Include <grub/script.h>.
50635 (grub_command_execute): Rewritten.
f19dbdb7 50636
daac212a 50637 * util/grub-emu.c (main): Call `grub_test_init' and
50638 `grub_test_fini'.
50639
77500b2b 506402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50641
50642 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50643 to 0.
50644 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50645 there are no pending characters.
50646
e45deb9e 506472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50648
50649 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50650 `grub_strndup' to drop device arguments. Replace unnecessary
50651 `grub_strndup' with `grub_strdup'.
50652
4ce32619 506532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50654
50655 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50656 `debug' environment variable has been set.
50657
506582005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50659
4ce32619 50660 * Makefile.in (install-local): Use $(DATA).
50661 (uninstall): Likewise.
50662 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50663 (sbin_UTILITIES): ... to here.
50664 (sbin_SCRIPTS): New variable.
50665 (grub_install_SOURCES): New variable.
50666 * util/powerpc/ieee1275/grub-install.in: New file.
50667 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50668 variable.
50669 (add_segments): Call `grub_util_get_path'.
50670
25fe6f03 506712005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50672
50673 From Timothy Baldwin:
50674 * commands/ls.c (grub_ls_list_files): Close FILE with
50675 grub_file_close.
50676 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50677
04ccf3ec 506782005-10-24 Marco Gerards <mgerards@xs4all.nl>
50679
50680 * include/grub/parser.h: New file.
50681
50682 * kern/parser.c: Likewise.
50683
50684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50685 (grub_setup_SOURCES): Likewise.
50686 (grub_probefs_SOURCES): Likewise.
50687 (grub_emu_SOURCES): Likewise.
50688 (kernel_img_HEADERS): Add `parser.h'.
50689
50690 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50691 (grub_emu_SOURCES): Add `kern/parser.c'.
50692 (grubof_SOURCES): Likewise.
50693
50694 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50695 (grubof_SOURCES): Add `kern/parser.c'.
50696
50697 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50698
50699 * kern/misc.c (grub_split_cmdline): Removed function.
50700
50701 * kern/rescue.c: Include <grub/parser.h>.
50702 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50703 of `grub_split_cmdline'.
50704
50705 * normal/command.c: Include <grub/parser.h>.
50706 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50707 of `grub_split_cmdline'.
50708
50709 * normal/completion.c: Include <grub/parser.h>.
50710 (cmdline_state): New variable.
50711 (iterate_dir): End the filename with a quote depending on the
50712 command line state.
50713 (get_state): new function.
50714 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50715 split the arguments and determine the current argument. When the
50716 argument string is not quoted, escape all spaces.
50717
6d8f4b0e 507182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50719
50720 * normal/sparc64/setjmp.S: New file.
50721
15cf03ed 507222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50723
50724 * include/grub/sparc64/libgcc.h: New file.
50725 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50726 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50727 normal/sparc64/setjmp.c.
50728
03e8661a 507292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50730
50731 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50732 * kern/sparc64/cache.S: New file.
50733 * kern/sparc64/cache.c: Removed.
50734 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50735 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50736 -mtune=ultrasparc.
50737 (COMMON_LDFLAGS): Add -melf64_sparc.
50738 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50739 (grubof_SOURCES): Use cache.S instead of cache.c.
50740 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50741 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50742 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50743 commented though.
50744 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50745 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50746 (linux_mod_CFLAGS): Commented out.
50747 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50748 out because module isn't built.
50749 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50750 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50751 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50752 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50753 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50754 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50755 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50756 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50757 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50758 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50759 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50760 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50761 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50762 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50763
34eeec8a 507642005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50765
50766 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50767 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50768 longer, because HFS should not be used on PC.
50769
708367a3 507702005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50771
50772 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50773 consistently within the loop.
50774
6fa1251a 507752005-10-15 Marco Gerards <mgerards@xs4all.nl>
50776
50777 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50778 directory can not be read.
50779
4801580b 507802005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50781
50782 * configure.ac (AC_INIT): Increase the version number to 1.91.
50783
50784 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50785 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50786 term/i386/pc/serial.c.
50787
219ad426 507882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50789
50790 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50791 file size must be permitted.
50792
50793 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50794 between %ah and %al.
50795
688e5699 507962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50797
50798 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50799 grub_uint64_t.
50800 Call the hook with a NUL-terminated filename.
50801 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50802 grub_cpu_to_be32.
50803
50804 * kern/term.c (cursor_state): New variable.
50805 (grub_term_set_current): Reset the cursor state on a new
50806 terminal.
50807 (grub_setcursor): Rewritten to use CURSOR_STATE.
50808 (grub_getcursor): New function.
50809
50810 * include/grub/term.h (grub_getcursor): New prototype.
50811
50812 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50813 integers on ARM. Reported by Timothy Baldwin
50814 <T.E.Baldwin99@members.leeds.ac.uk>.
50815
bb34586c 508162005-10-11 Marco Gerards <mgerards@xs4all.nl>
50817
50818 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50819 allocated.
50820 (grub_sfs_dir): Likewise.
50821
9a909877 508222005-10-09 Marco Gerards <mgerards@xs4all.nl>
50823
50824 Add support for the SFS filesystem.
50825
50826 * fs/sfs.c: New file.
50827
50828 * DISTLIST: Added `fs/sfs.c'.
50829
50830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50831 (grub_probefs_SOURCES): Likewise.
50832 (grub_emu_SOURCES): Likewise.
50833 (pkgdata_MODULES): Add `sfs.mod'.
50834 (sfs_mod_SOURCES): New variable.
50835 (sfs_mod_CFLAGS): Likewise.
50836 (sfs_mod_LDFLAGS): Likewise.
50837
50838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50839 (pkgdata_MODULES): Add `sfs.mod'.
50840 (sfs_mod_SOURCES): New variable.
50841 (sfs_mod_CFLAGS): Likewise.
50842
50843 * util/grub-emu.c (main): Call `grub_sfs_init' and
50844 `grub_sfs_fini'.
50845
50846 * include/grub/fs.h (grub_sfs_init): New prototype.
50847 (grub_sfs_fini): Likewise.
50848
57bdbde3 508492005-10-07 Marco Gerards <mgerards@xs4all.nl>
50850
50851 Add support for the AFFS filesystem.
50852
50853 * fs/affs.c: New file.
50854
50855 * DISTLIST: Added `fs/affs.c'.
50856
50857 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
50858 (grub_probefs_SOURCES): Likewise.
50859 (grub_emu_SOURCES): Likewise.
50860 (pkgdata_MODULES): Add `affs.mod'.
50861 (affs_mod_SOURCES): New variable.
50862 (affs_mod_CFLAGS): Likewise.
50863 (affs_mod_LDFLAGS): Likewise.
50864
50865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
50866 (pkgdata_MODULES): Add `affs.mod'.
50867 (affs_mod_SOURCES): New variable.
50868 (affs_mod_CFLAGS): Likewise.
50869
50870 * util/grub-emu.c (main): Call `grub_affs_init' and
50871 `grub_affs_fini'.
50872
50873 * include/grub/fs.h (grub_affs_init): New prototype.
50874 (grub_affs_fini): Likewise.
50875
047b67e0 508762005-10-01 Marco Gerards <mgerards@xs4all.nl>
50877
50878 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
50879
59b8208a 508802005-10-01 Marco Gerards <mgerards@xs4all.nl>
50881
50882 * configure.ac: Accept `x86_64' as host_cpu. In that case add
50883 `-m32' to CFLAGS.
50884
50885 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
50886 linking.
f19dbdb7 50887
59b8208a 50888 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
50889 (COMMON_LDFLAGS): New variable.
50890 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
50891 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
50892 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
50893 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
50894 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
50895 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
50896 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
50897 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
50898 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
50899 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
50900 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50901 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50902 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
50903 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
50904 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
50905 variables.
50906 (normal_mod_ASFLAGS): Add `-m32'.
50907
50908 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
50909 (grub_host_size_t, grub_host_ssize_t): New types.
50910 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 50911 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 50912 `GRUB_HOST_SIZEOF_VOID_P'.
50913
50914 * include/grub/kernel.h (struct grub_module_header): Type of
50915 member offset changed to `grub_host_off_t'. Type of member size
50916 changed to `grub_host_size_t'.
50917 (struct grub_module_info): Type of member offset changed to
50918 `grub_host_off_t'. Type of member size changed to
50919 `grub_host_size_t'.
50920
b4093103 509212005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
50922
50923 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 50924
b4093103 50925 * kern/i386/pc/startup.S (multiboot_header): New label.
50926 (multiboot_entry): Likewise.
50927 (multiboot_trampoline): Likewise.
50928
50929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50930 Increased to 0x4A0.
50931
50932 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
50933 put parentheses after a question mark.
50934 [!GRUB_UTIL] (my_mod): New variable.
50935
50936 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
50937
b2499b29 509382005-09-28 Marco Gerards <mgerards@xs4all.nl>
50939
50940 Adds support for the XFS filesystem. Btrees are not supported
50941 yet.
50942
50943 * fs/xfs.c: New file.
50944
50945 * DISTLIST: Added `fs/xfs.c'.
50946
50947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
50948 (grub_probefs_SOURCES): Likewise.
50949 (grub_emu_SOURCES): Likewise.
50950 (pkgdata_MODULES): Add `xfs.mod'.
50951 (xfs_mod_SOURCES): New variable.
50952 (xfs_mod_CFLAGS): Likewise.
50953
50954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
50955 (pkgdata_MODULES): Add `xfs.mod'.
50956 (xfs_mod_SOURCES): New variable.
50957 (xfs_mod_CFLAGS): Likewise.
50958
50959 * util/grub-emu.c (main): Call `grub_xfs_init' and
50960 `grub_xfs_fini'.
50961
50962 * include/grub/fs.h (grub_xfs_init): New prototype.
50963 (grub_xfs_fini): Likewise.
50964
f19dbdb7 50965
83d37a62 509662005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
50967
50968 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
50969 color modes, allow greater than 16 colors to be configured as
50970 a default palette.
50971
47d2d65e 509722005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
50973
50974 * normal/completion.c (complete_arguments): Add the qualifier
50975 const into OPTIONS.
50976
50977 From Omniflux <omniflux+lists@omniflux.com>:
50978 * include/grub/terminfo.h: New file.
50979 * include/grub/tparm.h: Likewise.
50980 * include/grub/i386/pc/serial.h: Likewise.
50981 * term/terminfo.c: Likewise.
50982 * term/tparm.c: Likewise.
50983 * term/i386/pc/serial.c: Likewise.
50984 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
50985 serial.mod.
50986 (terminfo_mod_SOURCES): New variable.
50987 (terminfo_mod_CFLAGS): Likewise.
50988 (serial_mod_SOURCES): Likewise.
50989 (serial_mod_CFLAGS): Likewise.
50990
48b671ff 509912005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
50992
50993 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
50994 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
50995 and kern/powerpc/ieee1275/cmain.c, respectively.
50996
50997 * boot/powerpc/ieee1275/crt0.S: Moved to ...
50998 * kern/powerpc/ieee1275/crt0.S: ... here.
50999
51000 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51001 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51002
48b671ff 51003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51004 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51005 instead of boot/powerpc/ieee1275/crt0.S and
51006 boot/powerpc/ieee1275/cmain.c, respectively.
51007
51008 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51009 sectors. It was not used anyway.
51010
09fc77a7 510112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51012
51013 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51014 `unused parameter' warning.
51015
003789c7 510162005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51017
51018 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51019 function.
51020 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51021 getcharwidth.
51022
67f44c86 510232005-08-28 Marco Gerards <metgerards@student.han.nl>
51024
51025 * include/grub/normal.h (enum grub_completion_type): Added
51026 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51027
51028 * normal/cmdline.c (print_completion): Handle
51029 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51030 * normal/menu_entry.c (store_completion): Likewise.
51031
51032 * normal/completion.c (complete_arguments): New function.
51033 (grub_normal_do_completion): Call `complete_arguments' when the
51034 current words start with a dash.
51035
0b5abe02 510362005-08-27 Marco Gerards <metgerards@student.han.nl>
51037
51038 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51039 `gzio.mod' instead of `io.mod').
51040
d9864ee1 510412005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51042
51043 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51044 (DISTDIRS): Added io and video.
51045 Rewrite the search routine to make an output consistently.
51046
51047 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51048 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51049 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51050 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51051 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51052 util/powerpc/ieee1275/misc.c.
f19dbdb7 51053
d9864ee1 51054 * include/grub/gzio.h: New file.
51055 * io/gzio.c: Likewise.
f19dbdb7 51056
d9864ee1 51057 * kern/file.c (grub_file_close): Call grub_device_close only if
51058 FILE->DEVICE is not NULL.
51059
51060 * include/grub/mm.h [!NULL] (NULL): New macro.
51061
51062 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51063
51064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51065 (pkgdata_MODULES): Added gzio.mod.
51066 (gzio_mod_SOURCES): New variable.
51067 (gzio_mod_CFLAGS): Likewise.
51068
51069 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51070 (pkgdata_MODULES): Added gzio.mod.
51071 (gzio_mod_SOURCES): New variable.
51072 (gzio_mod_CFLAGS): Likewise.
51073
51074 * commands/cat.c: Include grub/gzio.h.
51075 (grub_cmd_cat): Use grub_gzfile_open instead of
51076 grub_file_open.
f19dbdb7 51077
d9864ee1 51078 * commands/cmp.c: Include grub/gzio.h.
51079 (grub_cmd_cmp): Use grub_gzfile_open instead of
51080 grub_file_open.
51081
51082 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51083 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51084 grub_file_open.
51085 (grub_rescue_cmd_module): Likewise.
51086
fa46f4b5 510872005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51088
51089 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51090 kern/sparc64/ieee1275/init.c because it contains _start.
51091 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51092
e9211b5d 510932005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51094
51095 * configure.ac: Add support for sparc64 host with ieee1275
51096 firmware.
51097 * configure: Generated from configure.ac.
51098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51099 instead of int.
51100 (grub_ofdisk_read): Likewise.
51101 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51102 pointers as (void *) to remove a warning.
51103 (grub_ofdisk_close): Likewise.
51104 (grub_ofdisk_read): Likewise.
51105 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51106 returns, so make it return void to remove a warning.
51107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51108 Corresponding prototype change.
51109 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51110 values, and cast the pointers as (void *) to remove a warning.
51111 (grub_mm_dump): Likewise.
51112 * conf/sparc64-ieee1275.mk: New file.
51113 * conf/sparc64-ieee1275.rmk: Likewise.
51114 * include/grub/sparc64/setjmp.h: Likewise.
51115 * include/grub/sparc64/types.h: Likewise.
51116 * include/grub/sparc64/ieee1275/console.h: Likewise.
51117 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51118 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51119 * include/grub/sparc64/ieee1275/time.h: Likewise.
51120 * kern/sparc64/cache.c: Likewise.
51121 * kern/sparc64/dl.c: Likewise.
51122 * kern/sparc64/ieee1275/init.c: Likewise.
51123 * kern/sparc64/ieee1275/openfw.c: Likewise.
51124
385c6a92 511252005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51126
51127 * util/console.c (grub_ncurses_putchar): If C is greater than
51128 0x7f, set C to a question mark.
51129 (grub_ncurses_getcharwidth): New function.
51130 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51131 getcharwidth.
51132
51133 * normal/menu.c (print_entry): Made aware of Unicode. First,
51134 convert TITLE to UCS-4, and predict the cursor position by
51135 grub_getcharwidth.
51136
51137 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51138 const to SRC.
51139 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51140
16ccb8b1 511412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51142
51143 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51144 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51145 grub_strcat.
51146
51147 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51148 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51149 grub_strcpy and grub_strlen. Take it into account that a space
51150 character is inserted as a delimiter.
51151
6a85ce79 511522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51153
51154 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51155 invalid magic in the error.
6a85ce79 51156
51157 * commands/search.c: New file.
f19dbdb7 51158
6a85ce79 51159 * util/grub-emu.c (main): Call grub_search_init and
51160 grub_search_fini.
51161
51162 * kern/rescue.c (grub_rescue_print_disks): Removed.
51163 (grub_rescue_print_devices): New function.
51164 (grub_rescue_cmd_ls): Use grub_device_iterate with
51165 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51166 grub_rescue_print_disks.
51167
51168 * kern/partition.c (grub_partition_iterate): Return the result of
51169 PARTMAP->ITERATE instead of GRUB_ERRNO.
51170
51171 * kern/device.c: Include grub/partition.h.
51172 (grub_device_iterate): New function.
51173
51174 * include/grub/partition.h (grub_partition_iterate): Return int
51175 instead of grub_err_t.
51176
51177 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51178 prototype.
51179 [GRUB_UTIL] (grub_search_fini): Likewise.
51180
51181 * include/grub/device.h (grub_device_iterate): New prototype.
51182
51183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51184 commands/search.c.
51185 (pkgdata_MODULES): Added search.mod.
51186 (search_mod_SOURCES): New variable.
51187 (search_mod_CFLAGS): Likewise.
51188
51189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51190 (pkgdata_MODULES): Added search.mod.
51191 (search_mod_SOURCES): New variable.
51192 (search_mod_CFLAGS): Likewise.
51193
51194 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51195 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51196 All callers changed.
51197
51198 * DISTLIST: Added commands/search.c.
51199
ef095434 512002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51201
51202 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51203 conversion.
51204 (grub_getcharwidth): New function.
51205
51206 * kern/misc.c (grub_utf8_to_ucs4): New function.
51207
51208 * include/grub/term.h (struct grub_term): Added a new member
51209 "getcharwidth".
51210 (grub_getcharwidth): New prototype.
51211
51212 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51213
51214 * term/i386/pc/console.c (map_char): New function. Segregated from
51215 grub_console_putchar.
51216 (grub_console_putchar): Use map_char.
51217 (grub_console_getcharwidth): New function.
51218 (grub_console_term): Specified grub_console_getcharwidth as
51219 getcharwidth.
51220
51221 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51222 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51223
51224 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51225 GRUB_ERRNO.
51226 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51227 on grub_strtoul completely.
51228 (write_char): Declare local variables in the beginning of the
51229 function.
51230 (grub_vesafb_getcharwidth): New function.
51231 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51232 getcharwidth.
51233
1f0a95e4 512342005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51235
51236 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51237 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51238 commands/i386/pc/vbetest.c.
51239
51240 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51241 call grub_vbe_get_controller_info again, because the returned
51242 information is volatile.
51243 (grub_vbe_set_video_mode): Mostly rewritten.
51244 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51245 grub_vbe_status_t correctly.
51246 (grub_vbe_get_video_mode_info): Likewise.
51247 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51248 several if statements.
51249
51250 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51251 * commands/i386/pc/vbeinfo.c: ... this.
51252
51253 * commands/i386/pc/vbe_test.c: Renamed to ...
51254 * commands/i386/pc/vbetest.c: ... this.
51255
51256 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51257 ...
51258 (grub_cmd_vbeinfo): ... this. Save video modes before
51259 iterating. Skip a video mode, if it is not available, not enough
51260 information is given or it is monochrome. Show the memory
51261 model. Leave the interpretation of MODEVAR to grub_strtoul
51262 completely.
51263 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51264 (GRUB_MOD_FINI): Likewise.
51265
51266 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51267 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51268 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51269 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51270 grub_strtoul completely.
51271 (real2pm): Removed.
51272 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51273 (GRUB_MOD_FINI): Likewise.
51274
51275 * normal/misc.c: Include grub/mm.h.
51276
51277 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51278 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51279 (vbe_list_modes_mod_SOURCES): Removed.
51280 (vbe_list_modes_mod_CFLAGS): Likewise.
51281 (vbe_test_mod_SOURCES): Likewise.
51282 (vbe_test_mod_CFLAGS): Likewise.
51283 (vbeinfo_mod_SOURCES): New variable.
51284 (vbeinfo_mod_CFLAGS): Likewise.
51285 (vbetest_mod_SOURCES): Likewise.
51286 (vbetest_mod_CFLAGS): Likewise.
51287
992ffbbe 512882005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51289
51290 * normal/misc.c: New file.
51291
51292 * DISTLIST: Added normal/misc.c.
f19dbdb7 51293
992ffbbe 51294 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51295 DISK to HOOK. Call HOOK with DISK.
51296 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51297 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51298 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51299
51300 * normal/menu_entry.c (struct screen): Added a new member
51301 "completion_shown".
51302 (completion_buffer): New global variable.
51303 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51304 (store_completion): New function.
51305 (complete): Likewise.
51306 (clear_completions): Likewise.
51307 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51308 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51309 a tab, call complete.
51310
51311 * normal/completion.c (disk_dev): Removed.
51312 (print_simple_completion): Likewise.
51313 (print_partition_completion): Likewise.
51314 (print_func): New global variable.
51315 (add_completion): Do not take the arguments WHAT or PRINT any
51316 longer. Added a new argument TYPE. Instead of printing directly,
51317 call PRINT_FUNC if not NULL.
51318 All callers changed.
51319 (complete_device): Use a local variable DEV instead of
51320 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51321 (grub_normal_do_completion): Take a new argument HOOK. Do not
51322 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51323 empty string, return NULL instead.
51324 All callers changed.
51325
51326 * normal/cmdline.c (print_completion): New function.
51327
51328 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51329 to HOOK.
51330 All callers changed.
51331
51332 * kern/disk.c (grub_print_partinfo): Removed.
51333
51334 * include/grub/partition.h (struct grub_partition_map): Add a new
51335 argument DISK into HOOK of ITERATE.
51336 (grub_partition_iterate): Add a new argument DISK to HOOK.
51337
51338 * include/grub/normal.h (enum grub_completion_type): New enum.
51339 (grub_completion_type_t): New type.
51340 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51341 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51342 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51343 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51344 (grub_normal_do_completion): Added a new argument HOOK.
51345 (grub_normal_print_device_info): New prototype.
51346
51347 * include/grub/disk.h (grub_print_partinfo): Removed.
51348
51349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51350 (normal_mod_SOURCES): Likewise.
51351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51352 (normal_mod_SOURCES): Likewise.
51353
51354 * commands/ls.c (grub_ls_list_disks): Use
51355 grub_normal_print_device_info instead of grub_print_partinfo. Free
51356 PNAME.
51357 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51358 duplicating the code.
51359
0bd41162 513602005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51361
51362 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51363 follow GCS more precisely.
51364 * commands/i386/pc/vbe_test.c: Likewise.
51365 * include/grub/i386/pc/vbe.h: Likewise.
51366 * term/i386/pc/vesafb.c: Likewise.
51367 * video/i386/pc/vbe.c: Likewise.
0bd41162 51368
6323696a 513692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51370
51371 * DISTLIST: Added term/i386/pc/vesafb.c
51372 DISTLIST: Added video/i386/pc/vbe.c
51373 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51374 DISTLIST: Added commands/i386/pc/vbe_test.c.
51375 * commands/i386/pc/vbe_list_modes.c: New file.
51376 * commands/i386/pc/vbe_test.c: Likewise.
51377 * term/i386/pc/vesafb.c: Likewise.
51378 * video/i386/pc/vbe.c: Likewise.
51379 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51380 (grub_vbe_probe) Added prototype.
51381 (grub_vbe_set_video_mode) Likewise.
51382 (grub_vbe_get_video_mode) Likewise.
51383 (grub_vbe_get_video_mode_info) Likewise.
51384 (grub_vbe_set_pixel_rgb) Likewise.
51385 (grub_vbe_set_pixel_index) Likewise.
51386 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51387 (pkgdata_MODULES): Added vesafb.mod.
51388 (pkgdata_MODULES): Added vbe_list_modes.mod.
51389 (pkgdata_MODULES): Added vbe_test.mod.
51390 (vbe_mod_SOURCES): Added.
51391 (vbe_mod_CFLAGS): Likewise.
51392 (vesafb_mod_SOURCES): Likewise.
51393 (vesafb_mod_CFLAGS): Likewise.
51394 (vbe_list_modes_mod_SOURCES): Likewise.
51395 (vbe_list_modes_mod_CFLAGS): Likewise.
51396 (vbe_test_mod_SOURCES): Likewise.
51397 (vbe_test_mod_CFLAGS): Likewise.
51398
0a74e62f 513992005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51400
0a74e62f 51401 * normal/command.c (grub_command_execute): If INTERACTIVE is
51402 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51403 CMDLINE. Disable the pager if INTERACTIVE is true.
51404 All callers are changed.
51405
51406 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51407 before reading a config file.
51408 * normal/main.c (read_config_file): Even if a command is not
51409 found, register it if it is within an entry.
51410
51411 * util/grub-emu.c: Include sys/types.h and unistd.h.
51412 (options): Added --hold.
51413 (struct arguments): Added a new member "hold".
51414 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51415 missing.
51416 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51417 cleared by a debugger, if it is not zero.
51418
51419 * include/grub/normal.h (grub_command_execute): Add an argument
51420 INTERACTIVE.
51421
e51f85ae 514222005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51423
51424 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51425
e9c6f39b 514262005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51427
51428 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51429 program with another one, because the old one didn't detect a bug
51430 in gcc-3.4. Always use regparm 2, because the new test is still
51431 not enough for gcc-4.0. Someone must investigate a simple test
51432 case which detects a bug in gcc-4.0.
51433
8de3495c 514342005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51435
51436 * DISTLIST: Added normal/completion.c.
51437
51438 * normal/completion.c: New file.
f19dbdb7 51439
8de3495c 51440 * term/i386/pc/console.c (grub_console_getwh): New function.
51441 (grub_console_term): Assign grub_console_getwh to getwh.
51442
51443 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51444 function is defined in normal/completion.c as
51445 grub_normal_do_completion.
51446 (grub_cmdline_get): Use grub_normal_do_completion instead of
51447 grub_tab_complete.
51448
51449 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51450 returns non-zero, otherwise return 0.
51451 (grub_partition_iterate): First, probe the partition map. Then,
51452 call ITERATE only for this partition map.
51453
51454 * kern/misc.c (grub_strncmp): Rewritten.
51455
51456 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51457 returns non-zero. Otherwise return 0.
51458
51459 * include/grub/partition.h (grub_partition_map_iterate): Return
51460 int instead of void.
51461
51462 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51463
51464 * include/grub/misc.h (grub_strncmp): Change the type of N to
51465 grub_size_t.
51466
51467 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51468 of void.
51469
51470 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51471 unsigned explicitly before comparing it with I.
8de3495c 51472
51473 * kern/main.c (grub_env_write_root): Add the attribute unused into
51474 VAR.
51475
51476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51477 normal/completion.c.
51478 (normal_mod_SOURCES): Likewise.
51479 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51480 (normal_mod_SOURCES): Likewise.
51481
51482 * normal/command.c (grub_iterate_commands): If ITERATE returns
51483 non-zero, return one immediately.
51484
e85e144b 514852005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51486
51487 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51488 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51489 descriptions.
51490 (grub_vbe_get_controller_info): New function.
51491 (grub_vbe_get_mode_info): Likewise.
51492 (grub_vbe_set_mode): Likewise.
51493 (grub_vbe_get_mode): Likewise.
51494 (grub_vbe_set_memory_window): Likewise.
51495 (grub_vbe_get_memory_window): Likewise.
51496 (grub_vbe_set_scanline_length): Likewise.
51497 (grub_vbe_get_scanline_length): Likewise.
51498 (grub_vbe_set_display_start): Likewise.
51499 (grub_vbe_get_display_start): Likewise.
51500 (grub_vbe_set_palette_data): Likewise.
51501 * include/grub/i386/pc/vbe.h: New file.
51502
c46153d2 515032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51504
51505 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51506 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51507 * DISTLIST: Likewise.
51508 * kern/ieee1275/of.c: Moved to ...
51509 * kern/ieee1275/ieee1275.c: ... here.
51510
0cb90c45 515112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51512
51513 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51514 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51515 Pass 0 as `end' parameter to grub_strtoul().
51516
a19fb360 515172005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51518
51519 * include/grub/powerpc/ieee1275/console.h: Do not include
51520 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51521 ifdef.
51522 (grub_console_cur_color): Remove i386-specific prototype.
51523 (grub_console_real_putchar): Likewise.
51524 (grub_console_checkkey): Likewise.
51525 (grub_console_getkey): Likewise.
51526 (grub_console_getxy): Likewise.
51527 (grub_console_gotoxy): Likewise.
51528 (grub_console_cls): Likewise.
51529 (grub_console_setcursor): Likewise.
51530 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51531 Include <grub/machine/console.h>.
51532 * term/ieee1275/ofconsole.c: Likewise.
51533
4ac9bd04 515342005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51535
51536 * Makefile.in (LIBLZO): New variable.
51537
51538 * configure.ac: Check for LZO version 2.
51539
51540 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51541 lzo/lzo1x.h instead of lzo1x.h.
51542
51543 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51544 of -llzo.
51545
51546 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51547 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51548
51549 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51550 copying the data from PARTITION to P.
51551
f4917dfd 515522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51553
51554 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51555 negative, unload the module.
51556
51557 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51558 map is "pc_partition_map" but not "pc".
51559 (usage): Fix the description. The options are --boot-image and
51560 --core-image but not --boot-file or --core-file.
51561 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51562 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51563 DEFAULT_DIRECTORY.
51564
51565 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51566 --core-file. Specify INSTALL_DEVICE as an argument.
51567
51568 * util/console.c: Include config.h.
51569 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51570 [HAVE_NCURSES_H]: Include ncurses.h.
51571 [HAVE_CURSES_H]: Include curses.h.
51572 [!A_NORMAL] (A_NORMAL): Defined as zero.
51573 [!A_STANDOUT] (A_STANDOUT): Likewise.
51574
51575 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51576 -lncurses.
51577 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51578
51579 * configure.ac: Check for curses libraries and headers.
51580
51581 * Makefile.in (LIBCURSES): New variable.
51582
51583 * genmk.rb (Script::rule): Set the executable bits.
51584
51585 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51586 name of the PC partition map is "pc_partition_map" but not "pc".
51587
0e143073 515882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51589
51590 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51591 (modules): Likewise.
51592 (usage): Added descriptions for --modules and --grub-probefs.
51593 Handle --modules and --grub-probefs. Save the arguments in MODULES
51594 and GRUB_PROBEFS, respectively.
51595 Auto-detect a filesystem module against GRUBDIR. If the result is
51596 empty and modules are not specified explicitly, abort the
51597 installation. Add the result to MODULES.
51598
51599 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51600 disk/powerpc/ieee1275/ofdisk.c,
51601 include/grub/powerpc/ieee1275/init.h and
51602 term/powerpc/ieee1275/ofconsole.c.
51603 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51604 term/ieee1275/ofconsole.c.
51605
51606 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51607
51608 * COPYING: Upgraded to the latest version. Only the address of the
51609 FSF office has changed.
f19dbdb7 51610
efd6e6d5 516112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51612
51613 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51614 kern/ieee1275.c with kern/ieee1275/of.c.
51615
51616 * kern/ieee1275.c: Moved to ...
51617 * kern/ieee1275/of.c: ... here.
51618
8ceafda2 516192005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51620
51621 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51622 readability.
8ceafda2 51623
51624 * config.guess: Updated to the latest version from gnulib.
51625 * config.sub: Likewise.
51626 * install.sh: Likewise.
51627 * mkinstalldirs: Likewise.
51628
51629 * include/grub/console.h: Removed. This file is arch-specific. Do
51630 not put this in include/grub.
51631
51632 * include/grub/i386/pc/console.h: Resurrected.
51633
51634 * util/console.c: Include grub/machine/console.h instead of
51635 grub/console.h.
51636 * util/grub-emu.c: Likewise.
51637
267f6cd9 516382005-08-04 Marco Gerards <metgerards@student.han.nl>
51639
51640 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51641 hardcoded value.
f19dbdb7 51642
267f6cd9 51643 From Vincent Pelletier <subdino2004@yahoo.fr>
51644 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51645 Redefined to use grub_getwh.
51646 (grub_term): New member named getwh.
51647 (grub_getwh): New prototype.
51648 * kern/term.c (grub_getwh): New function.
51649 * term/i386/pc/console.c (grub_console_getwh): New function.
51650 (grub_console_term): New member `getwh'.
51651 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51652 (grub_vga_term): New member `getwh'.
0b5abe02 51653 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51654 grub_ssize_t.
51655 (grub_ofconsole_getw): New function.
51656 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51657 (grub_ofconsole_term): New field named getwh and new initial
51658 value.
51659
3be7266d 516602005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51661
51662 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51663 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51664 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51665 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51666 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51667 of <grub/machine/ieee1275.h>.
51668 * commands/ieee1275/reboot.c: Likewise.
51669 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51670 * kern/ieee1275.c: ... to here. All users updated. Change all
51671 parameter structs to use new type `grub_ieee1275_cell_t'.
51672 * term/powerpc/ieee1275/ofconsole.c: Move ...
51673 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51674 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51675 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51676 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51677 to return int.
51678 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51679 Remove unused prototypes. All users updated.
51680 * include/grub/powerpc/ieee1275/console.h: Removed.
51681 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51682 `grub_ieee1275_cell_t'.
51683 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51684 Cast comparisons with -1 to the correct type.
51685 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51686 type to match `grub_ieee1275_entry_fn'.
51687
8b5f3938 516882005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51689
51690 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51691
51692 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51693 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51694 partmap/sun.c.
51695 (grub_probefs_SOURCES): New variable.
51696
51697 * util/i386/pc/grub-probefs.c: New file.
51698
51699 * util/i386/pc/grub-setup.c (main): Call
51700 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51701 grub_hfs_init and grub_jfs_init to initialize the system. Call
51702 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51703 grub_pc_partition_map_fini to finish the system.
51704
ea409713 517052005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51706
51707 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51708 function.
51709 (grub_multiboot_load_elf32): Likewise.
51710 (grub_multiboot_is_elf64): Likewise.
51711 (grub_multiboot_load_elf64): Likewise.
51712 (grub_multiboot_load_elf): Likewise.
51713 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51714 an ELF32 or ELF64 file.
51715 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51716
51717 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51718 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51719 NULL before calling FS->LABEL.
51720 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51721 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51722 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51723 before calling FS->LABEL.
51724
141a288b 517252005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51726
51727 * util/i386/pc/grub-install.in (datadir): New variable.
51728 (libdir): Removed.
51729 (pkgdatadir): New variable.
51730 (pkglibdir): Removed.
51731
0d5f8a54 517322005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51733
51734 * DISTLIST: Added util/i386/pc/grub-install.in.
51735
51736 * util/i386/pc/grub-install.in: New file.
51737
51738 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51739 (grub_install_SOURCES): Likewise.
51740
51741 * genmk.rb: Added support for scripts.
51742 (Script): New class.
51743 (scripts): New variable.
51744
51745 * Makefile.in (install-local): Install sbin_SCRIPTS by
51746 INSTALL_SCRIPT.
51747 (uninstall): Remove sbin_SCRIPTS.
51748
51749 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51750 device, try to get a GRUB device by
51751 grub_util_biosdisk_get_grub_dev.
51752 Free DEST_DEV.
51753
51754 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51755 description for --device-map.
51756
5f968e1e 517572005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51758
51759 Change the semantics of variable hooks. They now return strings
51760 instead of error values.
f19dbdb7 51761
5f968e1e 51762 * util/i386/pc/grub-setup.c: Include grub/env.h.
51763 (setup): Use grub_device_set_root instead of grub_env_set.
51764
51765 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51766 grub_env_get instead of grub_device_set_root and
51767 grub_device_get_root, respectively.
51768
51769 * kern/main.c (grub_env_write_root): New function.
51770 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51771 grub_env_set instead of grub_device_set_root.
51772
51773 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51774 many variables.
51775 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51776 rather than calling ENV->WRITE_HOOK afterwards.
51777 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51778 passing a pointer of a pointer.
51779 (grub_register_variable_hook): Change the types of "read_hook" and
51780 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51781 respectively.
51782 Allocate the default empty string on the heap, because this string
51783 may be freed later.
51784
51785 * kern/device.c: Include grub/env.h.
51786 (grub_device_set_root): Removed.
51787 (grub_device_get_root): Likewise.
51788 (grub_device_open): Use grub_env_get instead of
51789 grub_device_get_root.
51790
51791 * include/grub/env.h (grub_env_read_hook_t): New type.
51792 (grub_env_write_hook_t): Likewise.
51793 (grub_env_var): Change the types of "read_hook" and "write_hook"
51794 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51795 (grub_register_variable_hook): Likewise.
51796
51797 * include/grub/device.h (grub_device_set_root): Removed.
51798 (grub_device_set_root): Likewise.
51799
51800 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51801 make sure that DIRNAME terminates with '/', so that
51802 grub_fat_find_dir will fail if PATH is not a directory.
51803
51804 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51805 from DIRNAME.
51806 Use the qualifier auto for print_files and print_files_long.
51807 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51808 as a regular file.
51809 Put a newline only if there is no error.
51810 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51811 used.
51812
896f0afd 518132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51814
51815 * kern/partition.c (grub_partition_probe): Initialize PART to
51816 NULL. Otherwise, when no partition map is registered, this returns
51817 a garbage.
51818
b28b81b2 518192005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51820
51821 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51822 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51823 valid.
51824
5f3607e0 518252005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51826
51827 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51828 information on each device, if it does not have partitions. Print
51829 "Device" instead of "Disk", because this function is not specific
51830 to disk devices.
51831
51832 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51833 static to ensure that it is put on the memory rather than a
51834 register.
51835
502c87e8 518362005-07-17 Yoshinori Okuji <okuji@enbug.org>
51837
51838 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51839 (grub_cat_init): Likewise.
51840 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51841 (options): Likewise.
51842 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51843 (grub_configfile_init): Likewise.
51844 * font/manager.c (GRUB_MOD_INIT): Likewise.
51845 * commands/help.c (GRUB_MOD_INIT): Likewise.
51846 (grub_help_init): Likewise.
51847 * normal/command.c (grub_command_init): Likewise.
51848 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51849 * disk/loopback.c (grub_loop_init): Likewise.
51850 (GRUB_MOD_INIT): Likewise.
51851 * commands/ls.c (grub_ls_init): Likewise.
51852 (GRUB_MOD_INIT): Likewise.
51853 (options): Likewise.
51854 * commands/boot.c (grub_boot_init): Likewise.
51855 (GRUB_MOD_INIT): Likewise.
51856 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
51857 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
51858 (GRUB_MOD_INIT): Likewise.
51859 * commands/cmp.c (grub_cmp_init): Likewise.
51860 (GRUB_MOD_INIT): Likewise.
51861
51862 * normal/arg.c: Use <> instead of "" to include header files.
51863 (SHORT_ARG_HELP): New macro.
51864 (SHORT_ARG_USAGE): Likewise.
51865 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
51866 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
51867 descriptions.
51868 (find_short): Check if C is 'h' or 'u' explicitly.
51869 (grub_arg_show_help): Use space characters instead of tabs. Treat
51870 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
51871 are shown with --help and --usage only if they are not used for
51872 the command itself.
51873 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
51874 'h' and 'u'.
51875
51876 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
51877 const into "longarg". Change the type of "shortarg" to int.
51878
f806d18e 518792005-07-17 Yoshinori Okuji <okuji@enbug.org>
51880
51881 * boot/i386/pc/boot.S (boot_drive_check): New label.
51882
51883 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
51884 macro.
51885
51886 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
51887 which do not pass a boot drive correctly. Copied from GRUB Legacy.
51888
e293232b 518892005-07-17 Yoshinori Okuji <okuji@enbug.org>
51890
51891 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
51892 When turning off Gate A20, skip the check and return immediately,
51893 because this is not fatal usually.
51894
ebedfd00 518952005-07-17 Yoshinori Okuji <okuji@enbug.org>
51896
51897 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
51898 be 0x7C00 instead of 0x8000.
51899
51900 * boot/i386/pc/pxeboot.S: Rewritten.
51901
51902 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
51903 EXT_C.
51904 (gate_a20_check_state): Read a byte from 0x108000. Invert the
51905 result.
51906
654fc59f 519072005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
51908
51909 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
51910 robustness. This routine now supports a BIOS call and System
51911 Control Port A to modify the gate A20.
51912
51913 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51914 Increased to 0x440.
51915
09f9923f 519162005-07-12 Hollis Blanchard <hollis@penguinppc.org>
51917
51918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
51919 device path and resulting ihandle.
51920 (grub_ofdisk_close): dprintf the ihandle being closed.
51921 (grub_ofdisk_read): dprintf function parameters.
51922 * kern/mm.c (grub_mm_init_region): Likewise.
51923 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
51924 (grub_linux_boot): dprintf the Linux entry point, initrd address and
51925 size, and boot arguments.
51926 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
51927 before loading into memory.
51928 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
51929 before loading into memory.
51930
7ef504d8 519312005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
51932
51933 * kern/mm.c: Added much documentation.
51934 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
51935 8, set to 5 instead of 8.
51936
e0f050c2 519372005-07-10 Yoshinori Okuji <okuji@enbug.org>
51938
51939 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
51940
51941 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
51942 (grub_mkdevicemap_SOURCES): New variable.
51943
51944 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
51945 lib/device.c of GRUB Legacy.
51946
7224189a 519472005-07-10 Yoshinori Okuji <okuji@enbug.org>
51948
51949 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
51950 instead of PATH is NULL.
51951
68c864eb 519522005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
51953
51954 * commands/cmp.c (BUFFER_SIZE): New macro.
51955 (grub_cmd_cmp): Close the right file at the right time. Compare
51956 only data just read. Don't report files of different size as
51957 identical. Dynamically allocate buffers. Move variable
51958 declarations at the beginning of function.
51959
e6f3e614 519602005-07-09 Yoshinori Okuji <okuji@enbug.org>
51961
51962 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
51963 reverse.
51964
f8f1559a 519652004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
51966
51967 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
51968 when backspace is pressed at beginning of line.
51969
39c9d41d 519702005-07-03 Yoshinori Okuji <okuji@enbug.org>
51971
51972 * DISTLIST: Added genfslist.sh.
51973
51974 * normal/main.c (fs_module_list): New variable.
51975 (autoload_fs_module): New function.
51976 (read_fs_list): Likewise.
51977 (grub_normal_execute): Call read_fs_list.
51978
51979 * kern/fs.c (grub_fs_autoload_hook): New variable.
51980 (grub_fs_probe): Added support for auto-loading.
51981
51982 * include/grub/normal.h (struct grub_fs_module_list): New struct.
51983 (grub_fs_module_list_t): New type.
51984
51985 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
51986 (grub_fs_autoload_hook): New prototype.
51987
51988 * genfslist.sh: New file.
f19dbdb7 51989
39c9d41d 51990 * genmk.rb: Added a rule to generate a filesystem list.
51991
121c1d83 519922005-06-30 Marco Gerards <metgerards@student.han.nl>
51993
51994 * configure.ac: Fix the test for cross-compiling.
51995
51996 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
51997 define GRUB_UTIL anymore.
51998
51999 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52000 so this function works on other systems than just big endian.
52001 (load_modules): Likewise.
52002 (add_segments): Likewise.
52003
e75d76e1 520042005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52005
52006 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52007 contains `l' modifier, get a long from va_arg().
52008
50b5a0a7 520092005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52010
52011 * kern/mm.c (grub_free): If the next free block which is being
52012 merged is the first free block, set the first block to the block
52013 being freed.
52014 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52015
89371b20 520162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52017
52018 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52019 `grub_ieee1275_chosen'.
52020
168d6e58 520212005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52022
52023 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52024 (grub_ieee1275_chosen): New variable.
52025 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52026 `chosen'.
52027 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52028 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52029 Rename first argument to `phandle' for consistency.
52030 (grub_ieee1275_get_property_length): Likewise.
52031 (grub_ieee1275_next_property): Likewise. Change type of first argument
52032 to grub_ieee1275_phandle_t.
52033 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52034 Move export next to declaration.
52035 (grub_ieee1275_chosen): New variable.
52036 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52037 Correct cosmetic typo.
52038 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52039 `grub_ieee1275_chosen'.
52040 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52041 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52042 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52043 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52044 `grub_ieee1275_chosen'.
52045
ca5baa3f 520462005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52047
52048 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52049 /chosen/bootargs.
52050 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52051 /chosen/bootargs as "variable=value" pairs.
52052
708b345f 520532005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52054
52055 * include/grub/misc.h (grub_dprintf): New macro.
52056 (grub_real_dprintf): New prototype.
52057 (grub_strword): Likewise.
52058 (grub_iswordseparator): Likewise.
52059 * kern/misc.c (grub_real_dprintf): New function.
52060 (grub_strword): Likewise.
52061 (grub_iswordseparator): Likewise.
52062
f4c5e67c 520632005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52064
52065 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52066 (roundup): Remove macro.
52067 (grub_ieee1275_flags): Make static.
52068 (grub_ieee1275_realmode): Remove.
52069 (grub_ieee1275_test_flag): New function.
52070 (grub_ieee1275_set_flag): Likewise.
52071 (find_options): Rename to `grub_ieee1275_find_options'; update
52072 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52073 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52074 (cmain): New prototype.
52075 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52076 `grub_ieee1275_flags' directly.
52077 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52078 machine/biosdisk.h.
52079 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52080 Don't include grub/machine/init.h.
52081 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52082 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52083 Remove prototype.
52084 (grub_ieee1275_realmode): Likewise.
52085 (grub_ieee1275_flag): New enum.
52086 (grub_ieee1275_test_flag): New prototype.
52087 (grub_ieee1275_set_flag): New prototype.
52088 * include/grub/powerpc/ieee1275/init.h: Remove file.
52089 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52090 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52091 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52092 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52093 comment.
52094 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52095 `grub_ieee1275_test_flag'.
52096 (grub_ieee1275_encode_devname): Likewise.
52097
ed16607e 520982005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52099
52100 * include/grub/powerpc/ieee1275/ieee1275.h
52101 (grub_ieee1275_encode_devname): New prototype.
52102 (grub_ieee1275_get_filename): Likewise.
52103 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52104 function.
52105 (grub_set_prefix): Likewise.
52106 (grub_machine_init): Call grub_set_prefix.
52107 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52108 (grub_parse_type): New enum.
52109 (grub_ieee1275_get_devargs): New function.
52110 (grub_ieee1275_get_devname): Likewise.
52111 (grub_ieee1275_parse_args): Likewise.
52112 (grub_ieee1275_get_filename): Likewise.
52113 (grub_ieee1275_encode_devname): Likewise.
52114
be369920 521152005-03-30 Marco Gerards <metgerards@student.han.nl>
52116
52117 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52118 `grub_loader_unset'.
52119
a5ce3a4a 521202005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52121
52122 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52123 instead of grub_ieee1275_interpret.
52124 (grub_halt_init): New function.
52125 (grub_halt_fini): Likewise.
52126 (GRUB_MOD_INIT): Correct message grammar.
52127 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52128 instead of grub_ieee1275_interpret.
52129 (grub_reboot_init): New function.
52130 (grub_reboot_fini): Likewise.
52131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52132 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52133 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52134 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52135 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52136 function.
52137 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52138 Add prototype.
52139 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52140 prototype.
52141 (grub_halt): Likewise.
52142 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52143 (cmain): Remove __attribute__((unused)).
52144 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52145 (grub_heap_len): Likewise.
52146 (grub_machine_fini): New function.
52147 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52148 (grub_halt): Likewise.
52149 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52150 function.
52151 * util/powerpc/ieee1275/misc.c: New file.
52152
0058f771 521532005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52154
52155 * DISTLIST: New file.
52156 * gendistlist.sh: Likewise.
f19dbdb7 52157
0058f771 52158 * Makefile.in (COMMON_DISTFILES): Removed.
52159 (BOOT_DISTFILES): Likewise.
52160 (CONF_DISTFILES): Likewise.
52161 (DISK_DISTFILES): Likewise.
52162 (FS_DISTFILES): Likewise.
52163 (INCLUDE_DISTFILES): Likewise.
52164 (KERN_DISTFILES): Likewise.
52165 (LOADER_DISTFILES): Likewise.
52166 (TERM_DISTFILES): Likewise.
52167 (UTIL_DISTFILES): Likewise.
52168 (DISTFILES): Likewise.
52169 (uninstall): Uninstall files in $(pkgdata_DATA).
52170 (DISTLIST): New target.
52171 (distdir): Use the contents of the file DISTLIST to get a list of
52172 distributed files.
52173
46b3b8a5 521742005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52175
52176 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52177 descriptor. This is ported from GRUB Legacy.
52178
52179 * gencmdlist.sh: Added an extra semicolon to make it work with
52180 old sed versions. Reported by Robert Bihlmeyer
52181 <robbe@orcus.priv.at>.
52182
5822ff87 521832005-03-08 Yoshinori Okuji <okuji@enbug.org>
52184
52185 Automatic loading of commands is supported.
f19dbdb7 52186
5822ff87 52187 * normal/main.c (read_command_list): New function.
52188 (grub_normal_execute): Call read_command_list.
52189
52190 * normal/command.c (grub_register_command): Return zero or CMD.
52191 Allocate CMD->NAME from the heap.
52192 Initialize CMD->MODULE_NAME to zero.
52193 Find the same name as well. If the same command is found and it is
52194 a dummy command, overwrite members. If it is not a dummy command,
52195 return zero.
52196 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52197 (grub_command_find): If a dummy command is found, load a module
52198 and retry to find a command only once.
52199
52200 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52201 make sure that each command is loaded.
52202
52203 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52204 macro.
52205 (struct grub_command): Remove const from the member `name'.
52206 Add a new member `module_name'.
52207 (grub_register_command): Return grub_command_t.
52208
52209 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52210 sure that each command is loaded.
52211
52212 * genmk.rb (PModule::rule): Specify a module name without the
52213 suffix ".mod" to gencmdlist.sh.
52214
7b1f4b57 522152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52216
52217 * gencmdlist.sh: New file.
f19dbdb7 52218
7b1f4b57 52219 * genmk.rb (PModule::rule): Generate a rule for a command list.
52220 Clean command.lst.
52221 Generate command.lst from $(COMMANDFILES).
52222
52223 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52224 (DATA): Added $(pkgdata_DATA).
52225 (install-local): Install files in $(pkgdata_DATA).
52226
062aaf39 522272005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52228
52229 * term/i386/pc/vga.c (debug_command): Removed.
52230 (GRUB_MOD_INIT): Do not register the command "debug".
52231
52232 From Hollis Blanchard:
52233 * commands/configfile.c: New file.
52234 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52235 commands/configfile.c.
52236 (pkgdata_MODULES): Added configfile.mod.
52237 (configfile_mod_SOURCES): New variable.
52238 (configfile_mod_CFLAGS): Likewise.
52239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52240 commands/configfile.c.
52241 (pkgdata_MODULES): Added configfile.mod.
52242 (configfile_mod_SOURCES): New variable.
52243 (configfile_mod_CFLAGS): Likewise.
52244 * util/grub-emu.c (main): Call grub_configfile_init and
52245 grub_configfile_fini.
52246 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52247 prototype.
52248 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52249
cee01aa6 522502005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52251
52252 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52253 address.
52254
52255 * commands/help.c (grub_cmd_help): Do not print newlines after
52256 the last command in print_command_help.
52257
93f3a1d8 522582005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52259
52260 * commands/default.h: New file.
52261 * commands/timeout.h: Likewise.
52262 * normal/context.c: Likewise.
f19dbdb7 52263
93f3a1d8 52264 * util/misc.c: Do not include sys/times.h.
52265 Include sys/time.h and grub/machine/time.h.
52266 (grub_get_rtc): Rewritten with gettimeofday.
52267
52268 * util/grub-emu.c (main): Call grub_default_init and
52269 grub_timeout_init before grub_normal_init, and call
52270 grub_timeout_fini and grub_default_fini after grub_main.
52271
52272 * util/console.c (grub_ncurses_checkkey): Return the read
52273 character or -1.
52274
52275 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52276 timeouts.
52277
52278 * normal/main.c (read_config_file): Push MENU. If this fails,
52279 print an error and wait for a user input.
52280 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52281 If a menu is empty or an error occurs, pop MENU.
52282 (grub_normal_execute): Pop and free MENU after grub_menu_run
52283 returns.
52284
52285 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52286
52287 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52288 include time.h.
52289 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52290 without GRUB_UTIL.
52291 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52292 time.h.
52293 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52294 without GRUB_UTIL.
52295
52296 * include/grub/normal.h (struct grub_menu_list): New struct.
52297 (grub_menu_list_t): New type.
52298 (struct grub_context): New struct.
52299 (grub_context_t): New type.
52300 (grub_register_command): Got rid of EXPORT_FUNC.
52301 (grub_unregister_command): Likewise.
52302 (grub_context_get): New prototype.
52303 (grub_context_get_current_menu): Likewise.
52304 (grub_context_push_menu): Likewise.
52305 (grub_context_pop_menu): Likewise.
52306 [GRUB_UTIL] (grub_default_init): Likewise.
52307 [GRUB_UTIL] (grub_default_fini): Likewise.
52308 [GRUB_UTIL] (grub_timeout_init): Likewise.
52309 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52310
52311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52312 commands/timeout.c and normal/context.c.
52313 (pkgdata_MODULES): Added default.mod and timeout.mod.
52314 (normal_mod_SOURCES): Added normal/context.c.
52315 (default_mod_SOURCES): New variable.
52316 (default_mod_CFLAGS): Likewise.
52317 (timeout_mod_SOURCES): Likewise.
52318 (timeout_mod_CFLAGS): Likewise.
52319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52320 conf/i386-pc.rmk.
52321 (pkgdata_MODULES): Added default.mod and timeout.mod.
52322 (normal_mod_SOURCES): Added normal/context.c.
52323 (default_mod_SOURCES): New variable.
52324 (default_mod_CFLAGS): Likewise.
52325 (timeout_mod_SOURCES): Likewise.
52326 (timeout_mod_CFLAGS): Likewise.
52327
52328 * Makefile.in (all-local): Added $(MKFILES).
52329
4ed2e1dd 523302005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52331
52332 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52333 (grub_emu_SOURCES): Likewise.
52334 (pkgdata_MODULES): Add `sun.mod'.
52335 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52337 `partmap/sun.c'.
52338 (pkgdata_MODULES): Add `sun.mod'.
52339 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52340 * include/grub/partition.h (grub_sun_partition_map_init): New
52341 prototype.
52342 (grub_sun_partition_map_fini): Likewise.
52343 * partmap/sun.c: New file.
52344 * util/grub-emu.c (main): Initialize and de-initialize the sun
52345 partitionmap support.
52346
4d4e372e 523472005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52348
52349 This implements an Emacs-like menu entry editor.
f19dbdb7 52350
4d4e372e 52351 * normal/menu_entry.c: New file.
f19dbdb7 52352
4d4e372e 52353 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52354 characters to ASCII.
52355 (saved_char): New variable.
52356 (grub_ncurses_checkkey): Rewritten completely.
52357 (grub_ncurses_getkey): Likewise.
52358 (grub_ncurses_init): Call raw instead of cbreak.
52359
52360 * normal/menu.c (print_entry): Do not put a space.
52361 (init_page): Renamed to ...
52362 (grub_menu_init_page): ... this. All callers changed.
52363 (edit_menu_entry): Removed.
52364 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52365
52366 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52367
52368 * kern/misc.c (grub_vprintf): Call grub_refresh.
52369
52370 * normal/menu.c (DISP_LEFT): Renamed to ...
52371 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52372 * normal/menu.c (DISP_UP): Renamed to ...
52373 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52374 * normal/menu.c (DISP_RIGHT): Renamed to ...
52375 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52376 * normal/menu.c (DISP_DOWN): Renamed to ...
52377 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52378 * normal/menu.c (DISP_HLINE): Renamed to ...
52379 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52380 * normal/menu.c (DISP_VLINE): Renamed to ...
52381 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52382 * normal/menu.c (DISP_UL): Renamed to ...
52383 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52384 * normal/menu.c (DISP_UR): Renamed to ...
52385 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52386 * normal/menu.c (DISP_LL): Renamed to ...
52387 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52388 * normal/menu.c (DISP_LR): Renamed to ...
52389 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52390 * normal/menu.c (TERM_WIDTH): Renamed to ...
52391 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52392 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52393 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52394 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52395 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52396 * normal/menu.c (TERM_MARGIN): Renamed to ...
52397 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52398 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52399 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52400 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52401 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52402 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52403 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52404 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52405 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52406 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52407 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52408 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52409 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52410 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52411 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52412 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52413 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52414 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52415 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52416 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52417 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52418 All callers changed.
52419
52420 * include/grub/normal.h: New prototype.
52421
52422 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52423 normal/menu_entry.c.
52424 (normal_mod_SOURCES): Likewise.
52425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52426 (normal_mod_SOURCES): Likewise.
52427
e6b92c8a 524282005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52429
52430 * include/grub/normal.h (grub_halt_init): New prototype.
52431 (grub_halt_fini): Likewise.
52432 (grub_reboot_init): Likewise.
52433 (grub_reboot_fini): Likewise.
52434
52435 * util/grub-emu.c: Include signal.h.
52436 (main_env): New global variable.
52437 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52438 catch C-c.
52439 (grub_machine_fini): New function.
52440 (main): Call grub_halt_init and grub_reboot_init before
52441 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52442 Call setjmp with MAIN_ENV to go back afterwards.
52443 Call grub_machine_fini right before return.
52444
52445 * include/grub/util/misc.h: Include setjmp.h.
52446 (main_env): New prototype.
52447
52448 * include/grub/kernel.h (grub_machine_fini): New prototype.
52449 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52450 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52451
52452 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52453 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52454 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52455
e6b92c8a 52456 * util/i386/pc/misc.c: New file.
f19dbdb7 52457
e6b92c8a 52458 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52459 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52460 commands/i386/pc/reboot.c.
52461
c642636f 524622005-02-14 Guillem Jover <guillem@hadrons.org>
52463
52464 * include/grub/dl.h (grub_dl_check_header): New prototype.
52465 (grub_arch_dl_check_header): Change return type to grub_err_t,
52466 remove size parameter and export function. Update all callers.
52467 * kern/dl.c (grub_dl_check_header): New function.
52468 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52469 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52470 are inside the core.
52471 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52472 independent ELF header checks.
52473 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52474 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52475 `grub_dl_check_header' instead of explicit checks. Check for the
52476 ELF type.
52477 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52478 `grub_dl_check_header' instead of explicit checks. Remove arch
52479 specific ELF header checks.
52480
e6b92c8a 52481 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52482 argument SIZE.
52483
5eabe94b 524842005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52485
52486 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52487 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52488
1b14a681 524892005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52490
52491 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52492 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52493 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52494 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52495 * partmap/amiga.c (amiga_partition_map_iterate): Return
52496 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52497 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52498
aca108aa 524992005-02-01 Guillem Jover <guillem@hadrons.org>
52500
52501 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52502 help info.
52503
c9f9c556 525042005-01-31 Marco Gerards <metgerards@student.han.nl>
52505
52506 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52507 Removed prototype.
52508 (grub_rescue_cmd_linux): New prototype.
52509 (grub_rescue_cmd_initrd): Likewise.
52510 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52511 `bi_rec'.
52512 (grub_linux_release_mem): Release the memory for the initrd.
52513 (grub_load_linux): Renamed from this...
52514 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52515 Changed `entry' not to be static. Loop over memory regions to
52516 find another one when the default fails.
52517 (grub_rescue_cmd_initrd): New function.
52518 (grub_linux_init): Remove function.
52519 (grub_linux_fini): Likewise.
52520 (GRUB_MOD_INIT): Register `initrd'.
52521 (GRUB_MOD_FINI): Unregister `initrd'.
52522 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52523 Function removed.
52524 (grub_linux_normal_fini): Likewise.
52525 (GRUB_MOD_INIT): Register `initrd'.
52526 (GRUB_MOD_FINI): Unregister `initrd'.
52527
990cf3aa 525282005-01-31 Marco Gerards <metgerards@student.han.nl>
52529
52530 * commands/help.c: New file.
52531 * normal/arg.c (show_help): Renamed to...
52532 (grub_arg_show_help): ... this.
52533 * commands/i386/pc/halt.c: New file.
52534 * commands/i386/pc/reboot.c: Likewise.
52535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52536 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52537 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52538 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52539 variables.
52540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52541 `commands/help.c'.
52542 (pkgdata_MODULES): Add `help.mod'.
52543 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52544 * grub/i386/pc/init.h (grub_reboot): New prototype.
52545 (grub_halt): Likewise.
52546 * include/grub/normal.h (grub_arg_show_help): New prototype.
52547 (grub_help_init): Likewise.
52548 (grub_help_fini): Likewise.
52549 * util/grub-emu.c (main): Initialize and deinitialize the help
52550 command.
52551
52552 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52553
52554 * normal/command.c (grub_command_init): Fixed the description of
52555 the `set' and `unset' commands.
52556
525572005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52558
52559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52560 function.
52561 * commands/ieee1275/halt.c: New file.
52562 * commands/ieee1275/reboot.c: Likewise.
52563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52564 `__attribute__ ((unused))'. Some GCS related fixed.
52565 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52566 (grub_suspend_fini): Likewise.
52567 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52568 and `halt.mod'.
52569 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52570 (halt_mod_CFLAGS): New variables.
52571 * include/grub/powerpc/ieee1275/ieee1275.h
52572 (grub_ieee1275_interpret): New prototype.
52573
1ab09cc7 525742005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52575
52576 * include/grub/misc.h (memmove): New prototype.
52577 (memcpy): Likewise.
52578
8b8cbdb2 525792005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52580
52581 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52582 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52583
e3741a27 525842005-01-22 Marco Gerards <metgerards@student.han.nl>
52585
52586 * kern/misc.c (grub_strndup): Function rewritten.
52587
776bd780 525882005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52589
52590 * normal/menu.c (TERM_WIDTH): Macro redefined.
52591 (TERM_TOP_BORDER_Y): Likewise.
52592 (draw_border): Replaced while-loop by a for-loop. Make the number
52593 of lines consistent with the number of lines displayed in
52594 print_entries. Added a margin below the rectangle.
52595 (print_entry): Make the entry fit in the rectangle.
52596 (print_entries): Display the scroll arrows next to the right
52597 border.
52598
78026bce 525992005-01-21 Marco Gerards <metgerards@student.han.nl>
52600
52601 * fs/minix.c (grub_minix_find_file): Reserve more space for
52602 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52603 `grub_strncpy' to copy `path' into it.
52604
67bbaf0f 526052005-01-21 Marco Gerards <metgerards@student.han.nl>
52606
52607 Add the loopback device, a device via which files can be accessed
52608 as devices.
f19dbdb7 52609
67bbaf0f 52610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52611 (pkgdata_MODULES): Add loopback.mod.
52612 (loopback_mod_SOURCES): New variable.
52613 (loopback_mod_CFLAGS): Likewise.
52614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52615 `disk/loopback.c'.
52616 (pkgdata_MODULES): Add loopback.mod.
52617 (loopback_mod_SOURCES): New variable.
52618 (loopback_mod_CFLAGS): Likewise.
52619 * disk/loopback.c: new file.
52620 * include/grub/normal.h (grub_loop_init): New prototype.
52621 (grub_loop_fini): New prototype.
52622 * util/grub-emu.c (main): Initialize and de-initialize loopback
52623 support.
52624 * include/grub/disk.h (grub_disk_dev_id): Add
52625 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52626
6f1c18bd 526272005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52628
52629 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52630 function.
52631 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52632 (suspend_mod_SOURCES): New variable.
52633 (suspend_mod_CFLAGS): Likewise.
52634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52635 New prototype.
52636 * commands/ieee1275/suspend.c: New file.
52637
b38551da 526382005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52639
52640 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52641 ((unused))' to `__attribute__ ((used))'.
b38551da 52642 (GRUB_MOD_FINI): Likewise.
52643 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52644 * genmk.rb (PModule): Assign space to common symbols when linking
52645 modules.
52646
777aff39 526472005-01-20 Marco Gerards <metgerards@student.han.nl>
52648
52649 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52650 `unsigned' arguments to `grub_size_t'.
52651 (grub_malloc): Likewise.
52652 (grub_realloc): Likewise.
52653 (grub_memalign): Likewise.
52654 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52655 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52656 * util/misc.c (grub_malloc): Likewise.
52657 (grub_realloc): Likewise.
52658 * kern/mm.c (get_header_from_pointer): Change the casts to
52659 `unsigned' into a cast to `grub_size_t'.
52660
52661 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52662 point to `currnode' when `currnode' is changed.
52663
52664 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52665 Schottelius <nico-linux@schottelius.org>.
52666
d0ff18e1 526672005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52668
52669 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52670 (note_path): Remove variable.
52671 (GRUB_IEEE1275_NOTE_NAME): New macro.
52672 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52673 (grub_ieee1275_note_hdr): New structure.
52674 (grub_ieee1275_note_desc): Likewise.
52675 (grub_ieee1275_note): Likewise.
52676 (load_note): Remove `dir' argument. All callers updated. Remove
52677 `note_img' and `path'. Do not load a file from `note_path'.
52678 Initialize a struct grub_ieee1275_note and write that to `out'.
52679 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52680
4ca7004c 526812005-01-05 Marco Gerards <metgerards@student.han.nl>
52682
52683 * util/misc.c (grub_util_read_image): Revert last change. It
52684 called `grub_util_read_at', which seeks from the beginning of the
52685 file.
52686
0b412211 526872005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52688
52689 * TODO: Add note about endianness in grub-mkimage.
52690 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52691 section.
52692 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52693 (grub_mkimage_SOURCES): New target.
52694 * include/grub/kernel.h (grub_start_addr): Remove variable.
52695 (grub_end_addr): Likewise.
52696 (grub_total_module_size): Likewise.
52697 (grub_kernel_image_size): Likewise.
52698 (GRUB_MODULE_MAGIC): New constant.
52699 (grub_module_info): New structure.
52700 (grub_arch_modules_addr): New prototype.
52701 (grub_get_end_addr): Remove prototype.
52702 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52703 * include/grub/powerpc/ieee1275/kernel.h: New file.
52704 * include/grub/util/misc.h (grub_util_get_fp_size): New
52705 prototype.
52706 (grub_util_read_at): Likewise.
52707 (grub_util_write_image_at): Likewise.
52708 * kern/main.c (grub_get_end_addr): Remove function.
52709 (grub_load_modules): Call grub_arch_modules_addr instead of using
52710 grub_end_addr. Look for a grub_module_info struct in memory. Use
52711 the grub_module_info fields instead of calling grub_get_end_addr
52712 as loop conditions. Move grub_add_unused_region code here.
52713 (grub_add_unused_region): Remove function.
52714 * kern/i386/pc/init.c: Include grub/cache.h.
52715 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52716 one call to add_mem_region.
52717 (grub_arch_modules_addr): New function.
52718 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52719 (grub_total_module_size): Likewise.
52720 Include grub/machine/kernel.h.
52721 (grub_arch_modules_addr): New function.
52722 * util/grub-emu.c (grub_end_addr): Remove variable.
52723 (grub_total_module_size): Likewise.
52724 (grub_arch_modules_addr): New function.
52725 * util/misc.c: Include unistd.h.
52726 (grub_util_get_fp_size): New function.
52727 (grub_util_read_at): Likewise.
52728 (grub_util_write_image_at): Likewise.
52729 (grub_util_read_image): Call grub_util_read_at.
52730 (grub_util_write_image): Call grub_util_write_image_at.
52731 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52732 additional memory in kernel_img for a struct grub_module_info.
52733 Fill in that grub_module_info.
52734 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52735
458786f8 527362005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52737
52738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52739 New function.
52740 * include/grub/powerpc/ieee1275/ieee1275.h
52741 (grub_ieee1275_milliseconds): New prototype.
52742 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52743 Change to 1000.
52744 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52745 grub_ieee1275_milliseconds.
52746
ac507d1b 527472005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52748
52749 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52750 variable.
52751 (find_options): New function.
52752 (cmain): Call find_options.
52753 * include/grub/powerpc/ieee1275/ieee1275.h
52754 (grub_ieee1275_realmode): New extern variable.
52755 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52756 grub_map if grub_ieee1275_realmode is false.
52757
6b8fd1c4 527582004-12-29 Marco Gerards <metgerards@student.han.nl>
52759
52760 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52761 lines are inserted and make it work like readline. Reported by
52762 Vincent Pelletier <subdino2004@yahoo.fr>.
52763
8514a1e0 527642004-12-28 Marco Gerards <metgerards@student.han.nl>
52765
52766 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52767
52768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52769 `kern/powerpc/cache.S'.
52770
924b6140 527712004-12-27 Marco Gerards <metgerards@student.han.nl>
52772
52773 * genmk.rb: Handle the `Program' class in the main loop. Written
52774 by Johan Rydberg <jrydberg@gnu.org>.
52775 (Program): New class.
52776 (programs): New variable.
52777 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52778 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52779 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52780 (help_arch): Function removed.
52781 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52782 `powerpc/libgcc.h' and `loader.h'.
52783 (pkgdata_PROGRAMS): New variable.
52784 (sbin_UTILITIES): Variable removed.
52785 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52786 (grubof_SOURCES): Variable re-defined so it only includes the
52787 core functionality.
52788 (grubof_CFLAGS): Remove `-DGRUBOF'.
52789 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52790 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52791 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52792 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52793 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52794 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52795 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52796 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52797 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52798 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52799 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52800 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52801 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52802 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52803 (pc_mod_CFLAGS): New variables.
52804 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52805 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52806 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52807 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52808 Moved from here...
52809 * include/grub/i386/pc/init.h (grub_os_area_addr)
52810 (rub_os_area_size): ... to here.
52811 * include/grub/powerpc/ieee1275/ieee1275.h
52812 (grub_ieee1275_entry_fn): Export symbol.
52813 * include/grub/powerpc/ieee1275/init.h: New file.
52814 * include/grub/powerpc/libgcc.h: Likewise.
52815 * include/grub/cache.h: Likewise.
52816 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52817 <hollis@penguinppc.org>.
52818 * kern/dl.c: Include <grub/cache.h>.
52819 (grub_dl_flush_cache): New function.
52820 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52821 for this module.
52822 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52823 (grub_console_init): Removed prototypes.
52824 (grub_machine_init): Don't initialize the modules anymore.
52825 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52826 static.
52827 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52828 Macro undef removed.
52829 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52830 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52831 relocation `R_PPC_REL32'. Return an error when the relocation is
52832 unknown.
52833 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52834 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52835 * util/misc.c (grub_arch_sync_caches): Likewise.
52836
e4b47e0c 528372004-12-19 Marco Gerards <metgerards@student.han.nl>
52838
52839 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52840 `symlist.c', add `grubof_symlist.c'.
52841 (symlist.c): Variable removed.
52842 (grubof_HEADERS): Variable added.
52843 (grubof_symlist.c): New target.
52844 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52845 `kernel_img_HEADERS'.
52846 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52847 * kern/powerpc/dl.c: New file.
52848 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52849 Function removed.
52850 (grub_arch_dl_relocate_symbols): Likewise.
52851 (grub_register_exported_symbols): Likewise.
52852
4ceb3636 528532004-12-13 Marco Gerards <metgerards@student.han.nl>
52854
52855 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
52856 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
52857 to fail instead. Reported by Vincent Pelletier
52858 <subdino2004@yahoo.fr>.
52859
52860 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
52861 it is not allocated. Reported by Vincent Pelletier
52862 <subdino2004@yahoo.fr>.
52863
52864 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
52865 output so the output looks better.
f19dbdb7 52866
3f1578fe 528672004-12-04 Marco Gerards <metgerards@student.han.nl>
52868
52869 Modulize the partition map support and add support for the amiga
52870 partition map.
f19dbdb7 52871
3f1578fe 52872 * commands/ls.c: Include <grub/partition.h> instead of
52873 <grub/machine/partition.h>.
52874 * kern/disk.c: Likewise.
52875 * kern/rescue.c: Likewise.
52876 * loader/i386/pc/chainloader.c: Likewise.
52877 * normal/cmdline.c: Likewise.
52878 * kern/powerpc/ieee1275/init.c: Likewise.
52879 (grub_machine_init): Call `grub_pc_partition_map_init',
52880 `grub_amiga_partition_map_init' and
52881 `grub_apple_partition_map_init'.
52882 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
52883 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
52884 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
52885 `partition.h' and `pc_partition.h'.
52886 (grub_setup_SOURCES): Remove
52887 `disk/i386/pc/partition.c'. Add `kern/partition.c',
52888 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52889 (grub_emu_SOURCES): Likewise.
52890 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
52891 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
52892 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
52893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52894 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
52895 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
52896 (grubof_SOURCES): Likewise.
52897 * disk/i386/pc/partition.c: File removed.
52898 * disk/powerpc/ieee1275/partition.c: Likewise.
52899 * include/grub/powerpc/ieee1275/partition.h: Likewise.
52900 * include/grub/i386/pc/partition.h: Likewise.
52901 * kern/partition.c: New file.
52902 * partmap/amiga.c: Likewise.
52903 * partmap/apple.c: Likewise.
52904 * partmap/pc.c: Likewise.
52905 * include/grub/partition.h: Likewise..
52906 * include/grub/pc_partition.h: Likewise.
52907 * util/grub-emu.c: Include <grub/partition.h> instead of
52908 <grub/machine/partition.h>.
52909 (main): Call `grub_pc_partition_map_init',
52910 `grub_amiga_partition_map_init' and
52911 `grub_apple_partition_map_init' and deinitialize afterwards.
52912 * util/i386/pc/biosdisk.c: Include `#include
52913 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52914 `<grub/machine/partition.h>'.
52915 * util/i386/pc/grub-setup.c: Likewise.
52916 * util/i386/pc/biosdisk.c: Likewise.
52917 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
52918 partition information in case of a PC partition.
52919 * util/i386/pc/grub-setup.c: Include `#include
52920 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
52921 `<grub/machine/partition.h>'.
52922 (setup): Only access the PC specific partition information in case
52923 of a PC partition.
52924
0ef4ced9 529252004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 52926
0ef4ced9 52927 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
52928 (grub_longjmp): Likewise.
52929 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
52930 20.
52931 * normal/powerpc/setjmp.S: New file.
52932 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52933 `normal/powerpc/setjmp.S'.
52934 (grubof_CFLAGS): Add `-DGRUBOF'.
52935 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
52936 [GRUB_UTIL && !GRUBOF].
f19dbdb7 52937
19950e29 529382004-11-16 Marco Gerards <metgerards@student.han.nl>
52939
52940 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
52941 property named `name'. Correctly handle the error returned by
52942 `grub_ieee1275_finddevice' if a device can not be opened.
52943
a2fea427 529442004-11-02 Hollis Blanchard <hollis@penguinppc.org>
52945
52946 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
52947 `actual' for negativity.
52948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
52949 kern/fshelp.c.
52950
41ea0ea3 529512004-11-01 Marco Gerards <metgerards@student.han.nl>
52952
52953 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
52954 (PAGE_OFFSET): New macro.
52955 (CRTC_ADDR_PORT): Likewise.
52956 (CRTC_DATA_PORT): Likewise.
52957 (START_ADDR_HIGH_REGISTER): Likewise.
52958 (START_ADDR_LOW_REGISTER): Likewise.
52959 (GRAPHICS_ADDR_PORT): Likewise.
52960 (GRAPHICS_DATA_PORT): Likewise.
52961 (READ_MAP_REGISTER): Likewise.
52962 (INPUT_STATUS1_REGISTER): Likewise.
52963 (INPUT_STATUS1_VERTR_BIT): Likewise.
52964 (page): New variable.
52965 (wait_vretrace): New function.
52966 (set_read_map): Likewise.
52967 (set_start_address): Likewise.
52968 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
52969 the right page.
52970 (check_vga_mem): Take the page into account.
52971 (write_char): Likewise.
52972 (write_cursor): Likewise.
52973 (scroll_up): Likewise. Copy the page to the page that is not
52974 shown and switch between both pages.
52975 (grub_vga_putchar): Fix off by one error.
52976 (grub_vga_cls): Wait for the vertical retrace. Take the page into
52977 account.
52978
ad0bd20b 529792004-11-01 Marco Gerards <metgerards@student.han.nl>
52980
52981 Add support for iso9660 (including rockridge).
f19dbdb7 52982
ad0bd20b 52983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52984 (iso9660_mod_SOURCES): New variable.
52985 (iso9660_mod_CFLAGS): Likewise.
52986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
52987 * include/grub/fs.h (grub_iso9660_init): New prototype.
52988 * util/grub-emu.c (main): Call `grub_iso9660_init'.
52989 * fs/iso9660.c: New file.
52990
52991 * include/grub/misc.h (grub_strncat): New prototype.
52992 * kern/misc.c (grub_strncat): New function.
f19dbdb7 52993
ad0bd20b 52994 * fs/hfs.c (grub_hfs_mount): Translate the error
52995 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
52996 * fs/jfs.c (grub_jfs_mount): Likewise.
52997 * fs/ufs.c (grub_ufs_mount): Likewise.
52998
a5477a59 529992004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53000
53001 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53002 which initialized BAT registers.
53003 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53004 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53005 Move from here...
53006 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53007 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53008 ... to here.
53009 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53010 (grub_mapclaim): Likewise.
53011 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53012 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53013 hand.
53014
9304c1f8 530152004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53016
53017 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53018 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53019 -ffreestanding and -msoft-float.
53020
86f4ae25 530212004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53022
53023 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53024 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53025 set in grub_ieee1275_flags.
53026
38912228 530272004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53028
53029 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53030 prototype.
53031 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53032 grub_console_init first.
53033 Change the memory range used for grub_ieee1275_claim and
53034 grub_mm_init_region.
53035 Print an error message if the claim fails.
53036 Include <grub/misc.h>.
53037
d1923dc8 530382004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53039
53040 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53041 Call grub_children_iterate for device nodes of type `scsi',
53042 `ide', or `ata'.
53043 (grub_ofdisk_open): Remove manual device alias resolution.
53044 Fix memory leak when device cannot be opened.
f19dbdb7 53045 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53046 (grub_children_iterate): New prototype.
53047 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53048 New function.
53049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53050 Return -1 if args.size was -1.
53051
4512e4f3 530522004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53053
53054 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53055 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53056 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53057 Open Firmware's memory for it; claim memory from _start to _end.
53058 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53059 (_end): New extern.
53060 (_start): Zero BSS from __bss_start to _end.
53061 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53062 New extern.
53063 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53064
4d61feb0 530652004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53066
ad0bd20b 53067 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53068 -1 if args.base was -1.
4d61feb0 53069
026fa2f9 530702004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53071
53072 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53073 escape sequence instead of a literal ^L. Also call
53074 grub_ofconsole_gotoxy.
53075
9f2220ef 530762004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53077
53078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53079 void * arguments to grub_addr_t. All callers updated. Also make
53080 the `result' argument optional.
53081 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53082 All callers updated.
53083
8a572cd7 530842004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53085
53086 * commands/ls.c (grub_ls_list_files): Use the string following the
53087 initial ')', if present, as the filesystem path.
53088 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53089
53090 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53091
18aa81f2 530922004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53093
53094 Make the source code of the menu interface more readable.
f19dbdb7 53095
18aa81f2 53096 * normal/menu.c: Include grub/mm.h.
53097 (TERM_WIDTH): New macro.
53098 (TERM_HEIGHT): Likewise.
53099 (TERM_INFO_HEIGHT): Likewise.
53100 (TERM_MARGIN): Likewise.
53101 (TERM_SCROLL_WIDTH): Likewise.
53102 (TERM_TOP_BORDER_Y): Likewise.
53103 (TERM_LEFT_BORDER_X): Likewise.
53104 (TERM_BORDER_WIDTH): Likewise.
53105 (TERM_MESSAGE_HEIGHT): Likewise.
53106 (TERM_BORDER_HEIGHT): Likewise.
53107 (TERM_NUM_ENTRIES): Likewise.
53108 (TERM_FIRST_ENTRY_Y): Likewise.
53109 (TERM_ENTRY_WIDTH): Likewise.
53110 (TERM_CURSOR_X): Likewise.
53111 (draw_border): Use macros instead of magic numbers.
53112 (print_entry): Likewise.
53113 (print_entries): Likewise.
53114 (run_menu): Likewise. Also, handle the key 'e'.
53115 (run_menu_entry): Ignore empty command lines.
53116 (print_message): Added a new argument EDIT. If EDIT is true,
53117 print a different message.
53118 (init_page): Likewise.
53119 (edit_menu_entry): New function. Not implemented yet.
53120
b47efe30 531212004-09-17 Marco Gerards <metgerards@student.han.nl>
53122
53123 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53124 can be loaded from normal mode.
f19dbdb7 53125
b47efe30 53126 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53127 `multiboot.mod'.
53128 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53129 (multiboot_mod_CFLAGS): New variables.
53130 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 53131 * loader/i386/pc/multiboot_normal.c: Likewise.
53132
b47efe30 53133 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53134 attribute `unused'.
f19dbdb7 53135
b47efe30 53136 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53137 `fdiro' to read the mode information from instead of `diro'.
53138
53139 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53140 looking up a symlink.
53141
53142 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53143 macro.
53144 * normal/command.c (grub_command_execute): Don't parse the
53145 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53146 flags of the command.
53147
53148 * normal/menu.c (grub_menu_run): Fix typo.
53149
da75ac71 531502004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53151
53152 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53153
53154 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53155 `y + 1' instead of `y - 1'.
53156
53157 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53158
062b24c2 531592004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53160
53161 From Hollis Blanchard <hollis@penguinppc.org>:
53162 * kern/misc.c (memmove): New alias for grub_memmove.
53163 (memcmp): New alias for grub_memcmp.
53164 (memset): New alias for grub_memset.
f19dbdb7 53165 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53166 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53167 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53168 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53169
8ddad845 531702004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53171
53172 Added normal mode command `chainloader' as module chain.mod, which
53173 depends on normal.mod and _chain.mod.
f19dbdb7 53174
8ddad845 53175 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53176 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53177 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53178 Deleted prototype.
53179 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53180 but arguments parsing moved to ...
53181 (grub_chainloader_cmd): ... here. New function.
53182 * include/grub/i386/pc/chainloader.h: New file.
53183 * loader/i386/pc/chainloader_normal.c: Likewise.
53184
2c1f4ce3 531852004-09-11 Marco Gerards <metgerards@student.han.nl>
53186
53187 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53188 (grub_mkimage_LDFLAGS): Likewise.
53189 (grub_emu_SOURCES): Likewise.
53190 (kernel_img_HEADERS): Added fshelp.h.
53191 * fs/ext2.c: Include <grub/fshelp.h>.
53192 (FILETYPE_REG): New macro.
53193 (FILETYPE_INO_REG): Likewise.
53194 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53195 Changed all users.
53196 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53197 all users.
53198 (grub_fshelp_node): New struct.
53199 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53200 to a pointer.
53201 (grub_ext2_get_file_block): Removed function.
53202 (grub_ext2_read_block): New function.
53203 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53204 This function was written.
53205 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53206 (grub_ext2_find_file): Removed function.
53207 (grub_ext2_read_symlink): New function.
53208 (grub_ext2_iterate_dir): Likewise.
53209 (grub_ext2_open): Rewritten.
53210 (grub_ext2_dir): Rewritten.
53211 * include/grub/fshelp.h: New file.
53212 * fs/fshelp.c: Likewise.
53213
3c52136a 532142004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53215
53216 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53217 (print_message): Add a missing newline.
53218 (run_menu): Added timeout support.
53219 (run_menu_entry): New local function.
53220 (grub_menu_run): Added support for booting.
53221
53222 * kern/loader.c (grub_loader_is_loaded): New function.
53223
53224 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53225 (grub_get_rtc): Exported.
53226
53227 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53228 (grub_get_rtc): Exported.
53229
53230 * include/grub/normal.h (struct grub_command_list): Remove
53231 constant from the member `command'.
53232
53233 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53234
53235 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53236
53237 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53238
aa033560 532392004-08-28 Marco Gerards <metgerards@student.han.nl>
53240
53241 Add support for the JFS filesystem.
53242
53243 * fs/jfs.c: New file.
53244 * include/grub/fs.h (grub_jfs_init): New prototype.
53245 (grub_jfs_fini): New prototype.
53246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53247 (grub_emu_SOURCES): Likewise.
53248 (pkgdata_MODULES): Add jfs.mod.
53249 (jfs_mod_SOURCES): New variable.
53250 (jfs_mod_CFLAGS): Likewise.
53251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53252 (grubof_SOURCES): Likewise.
53253 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53254
53255 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53256 endian to the host endian.
53257 (grub_fat_utf16_to_utf8): Move function from there...
53258 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53259 the endianness of the source string anymore.
aa033560 53260 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53261
94bc45af 532622004-08-24 Marco Gerards <metgerards@student.han.nl>
53263
53264 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53265 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53266 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53267 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53268
94bc45af 53269 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53270 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53271 for `node_found' and `it_dir'.
53272 (grub_hfs_dir): Add prototype for `dir_hook'.
53273
53274 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53275 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53276 and `indir32' to silence a gcc warning.
53277
53278 * include/grub/fs.h (grub_hfs_init): New prototype.
53279 (grub_hfs_fini): Likewise.
f19dbdb7 53280
53281
97543f08 532822004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53283
53284 Each disk device has its own id now. This is useful to make use
53285 of multiple disk devices.
f19dbdb7 53286
97543f08 53287 * include/grub/disk.h (grub_disk_dev_id): New enum.
53288 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53289 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53290
53291 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53292 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53293
53294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53295 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53296
53297 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53298 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53299
53300 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53301 "id" which is used by the cache manager.
53302
53303 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53304 of just "GRUB".
53305
64372eb4 533062004-08-18 Marco Gerards <metgerards@student.han.nl>
53307
53308 * fs/hfs.c: New file.
53309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53310 (grub_emu_SOURCES): Likewise.
53311 (pkgdata_MODULES): Add hfs.mod.
53312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53313 (grubof_SOURCES): Likewise.
53314 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53315
53316 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53317 * kern/misc.c (grub_strncasecmp): Add function.
53318
cc61b58f 533192004-08-14 Marco Gerards <metgerards@student.han.nl>
53320
53321 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53322 with parentheses.
53323
53324 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53325 (grub_ext2_dir): In case the directory entry type is unknown, read
53326 it from the inode.
53327
0ef123f6 533282004-08-02 Peter Bruin <pjbruin@dds.nl>
53329
53330 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53331 grub_load_linux instead of grub_rescue_cmd_linux as second
53332 argument of grub_rescue_register_command.
53333
53334 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53335
a447c5df 533362004-07-27 Marco Gerards <metgerards@student.han.nl>
53337
53338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53339 function.
53340 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53342 `loader/powerpc/ieee1275/linux.c',
53343 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53344 * include/grub/powerpc/ieee1275/ieee1275.h
53345 (grub_ieee1275_release): New prototype.
53346 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53347 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53348 normal, boot, linux and linux_normal.
53349 * loader/powerpc/ieee1275/linux.c: New file.
53350 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53351
5a9e3546 533522004-07-12 Marco Gerards <metgerards@student.han.nl>
53353
53354 * normal/arg.c (grub_arg_parse): Correct error handling after
53355 reallocating the argumentlist (check if `argl' is not null instead
53356 of checking if `args' is not null).
53357 * kern/mm.c (grub_realloc): Return the same pointer when using the
53358 same region, instead of returning the header address.
53359
e15199cb 533602004-07-11 Marco Gerards <metgerards@student.han.nl>
53361
53362 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53363 one block instead of two when looking for the initial partition.
53364 (grub_partition_probe): Initialize the local variable `p' with 0.
53365 Use base 10 for the grub_strtoul call.
53366 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53367 need for one local variable.
53368 (grub_strtoul): Don't add the new value to `num', instead of that
53369 just assign it.
53370
020616c2 533712004-07-11 Marco Gerards <metgerards@student.han.nl>
53372
53373 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53374 (pxeboot_img_SOURCES): New variable.
53375 (pxeboot_img_ASFLAGS): Likewise.
53376 (pxeboot_img_LDFLAGS): Likewise.
53377 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53378 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53379 <lode_leroy@hotmail.com>.
53380
6c51eb64 533812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53382
53383 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53384 there was no input.
53385
cfb12aff 533862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53387
53388 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53389 the history buffer logic.
53390
6eabba74 533912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53392
53393 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53394 (FILETYPE_INO_SYMLINK): New macros.
53395 (grub_ext2_find_file): Check if the node is a directory using the
53396 inode stat information instead of using the filetype in the
53397 dirent. Exclude the first character of an absolute symlink.
53398 (grub_ext2_dir): Mask out the filetype part of the mode member of
53399 the inode.
53400
66e19ef8 534012004-05-24 Marco Gerards <metgerards@student.han.nl>
53402
53403 Add support for UFS version 1 and 2. Add support for the minix
53404 filesystem version 1 and 2, both the variants with 14 and 30 long
53405 filenames.
f19dbdb7 53406
66e19ef8 53407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53408 fs/minix.c.
53409 (grub_emu_SOURCES): Likewise.
53410 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53411 (ufs_mod_SOURCES): New variable.
53412 (ufs_mod_CFLAGS): Likewise.
53413 (minix_mod_SOURCES): Likewise.
53414 (minix_mod_CFLAGS): Likewise.
53415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53416 fs/minix.c.
53417 (grubof_SOURCES): Likewise.
53418 * fs/ufs.c: New file.
53419 * fs/minix.c: New file.
53420 * include/grub/fs.h (grub_ufs_init): New prototype.
53421 (grub_ufs_fini): Likewise.
53422 (grub_minix_init): Likewise.
53423 (grub_minix_fini): Likewise.
53424 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53425 minix fs.
53426
cc2e748a 534272004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53428
53429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53430 commands/ls.c, commands/terminal.c, commands/boot.c,
53431 commands/cmp.c and commands/cat.c.
53432 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53433
53434 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53435 "env.h"
53436
4b13b216 534372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53438
53439 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53440 and grub_, respectively. Because the conversion is trivial and
53441 mechanical, I omit the details here. Please refer to the CVS
53442 if you need more information.
53443
6a142551 534442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53445
53446 * include/pupa: Renamed to ...
53447 * include/grub: ... this.
53448 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53449 * util/i386/pc/grub-mkimage.c: ... this.
53450 * util/i386/pc/pupa-setup.c: Renamed to ...
53451 * util/i386/pc/grub-setup.c: ... this.
53452 * util/pupa-emu.c: Renamed to ...
53453 * util/grub-emu.c: ... this.
53454
e56cdf21 534552004-03-29 Marco Gerards <metgerards@student.han.nl>
53456
53457 Add support for the newworld apple macintosh (PPC). This has been
53458 tested on the powerbook 2000 only. It only adds support for
53459 generic ieee1275 functions, console and disk support. This should
53460 be easy to port to other architectures with support for Open
53461 Firmware.
f19dbdb7 53462
e56cdf21 53463 * configure.ac: Accept the powerpc as host_cpu. In the case of
53464 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53465 specific tests are only executed while building for the i386.
53466 Inverse test for crosscompile.
53467 * genmk.rb (Utility): Allow assembler files.
53468 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53469 * conf/powerpc-ieee1275.rmk: New file.
53470 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53471 * disk/powerpc/ieee1275/partition.c: Likewise.
53472 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53473 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53474 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53475 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53476 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53477 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53478 * include/pupa/powerpc/ieee1275/loader.h
53479 * include/pupa/powerpc/setjmp.h: Likewise.
53480 * include/pupa/powerpc/types.h: Likewise.
53481 * kern/powerpc/ieee1275/init.c: Likewise.
53482 * kern/powerpc/ieee1275/openfw.c: Likewise.
53483 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53484
53485 These files were written by Johan Rydberg
53486 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53487
e56cdf21 53488 * boot/powerpc/ieee1275/cmain.c: New file.
53489 * boot/powerpc/ieee1275/crt0.S: Likewise.
53490 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53491 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53492
8c8cc205 534932004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53494
53495 * Makefile.in: Update copyright.
53496 * genmodsrc.sh: Likewise.
53497 * gensymlist.sh: Likewise.
53498 * term/i386/pc/vga.c: Indent correctly.
53499
53500 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53501 bugreporting address.
53502 * util/i386/pc/pupa-setup.c (usage): Likewise,
53503 (main): Call pupa_ext2_init and pupa_ext2_fini.
53504
f19dbdb7 53505 * fs/fat.c (log2): Renamed to ...
8c8cc205 53506 (fat_log2): ... this.
53507 All callers changed.
53508 * kern/misc.c (memcpy): Alias to pupa_memmove.
53509 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53510 lvalue cast.
53511 * util/console.c (pupa_ncurses_fini): Return 0.
53512
53513 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53514 Move fail label here.
53515 [__GNU__]: Don't warn when using stat.
53516 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53517 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53518 long int. Use strtol instead of strtoul.
f19dbdb7 53519
db1771cf 535202004-03-14 Marco Gerards <metgerards@student.han.nl>
53521
53522 * commands/boot.c: New file.
53523 * commands/cat.c: Likewise.
53524 * commands/cmp.c: Likewise.
53525 * commands/ls.c: Likewise.
53526 * commands/terminal.c: Likewise.
53527 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53528 (pupa_register_command): Changed interface to match the new
53529 argument parser.
53530 (pupa_command_execute): Changed (almost rewritten) so it uses
53531 pupa_split_command. Added support for setting variables using the
53532 syntax `foo=bar'.
53533 (rescue_command): Changed to work with the new argument parser.
53534 (terminal_command): Moved from here to commands/terminal.c.
53535 (set_command): New function.
53536 (unset_command): New function.
53537 (insmod_command): New function.
53538 (rmmod_command): New function.
53539 (lsmod_command): New function.
53540 (pupa_command_init): Don't initialize the command terminal
53541 anymore. Initialize the commands set, unset, insmod, rmmod and
53542 lsmod.
53543 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53544 (kernel_img_HEADERS): Add arg.h and env.h.
53545 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53546 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53547 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53548 normal/arg.c.
53549 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53550 terminal.mod.
53551 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53552 (boot_mod_SOURCES): New variable.
53553 (terminal_mod_SOURCES): Likewise.
53554 (ls_mod_SOURCES): Likewise.
53555 (cmp_mod_SOURCES): Likewise.
53556 (cat_mod_SOURCES): Likewise.
53557
53558 * normal/arg.c: New file.
53559 * kern/env.c: Likewise.
53560 * include/pupa/arg.h: Likewise.
53561 * include/pupa/env.h: Likewise.
53562 * font/manager.c (font_command): Changed to match argument parsing
53563 interface changes.
53564 (PUPA_MOD_INIT): Likewise.
53565 * hello/hello.c (pupa_cmd_hello): Likewise.
53566 (PUPA_MOD_INIT): Likewise.
53567 * include/pupa/disk.h: Include <pupa/device.h>.
53568 (pupa_print_partinfo): New prototype.
53569 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53570 (pupa_dl_get_prefix): Likewise.
53571 * include/pupa/misc.h: Include <pupa/err.h>.
53572 (pupa_isgraph): New prototype.
53573 (pupa_isdigit): Likewise.
53574 (pupa_split_cmdline): Likewise.
53575 * include/pupa/normal.h: Include <pupa/arg.h>.
53576 (pupa_command): Changed the prototype of the member `func' to
53577 match the argument parsing interface. Added member `options'.
53578 (pupa_register_command): Updated to match function.
53579 (pupa_arg_parse): New prototype.
53580 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53581 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53582 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53583 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53584 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53585 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53586 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53587 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53588 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53589 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53590 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53591 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53592 * kern/disk.c: Include <pupa/file.h>.
53593 (pupa_print_partinfo): New function.
53594 * kern/dl.c: Include <pupa/env.h>.
53595 (pupa_dl_dir): Variable removed.
53596 (pupa_dl_load): Use the environment variable `prefix' instead of
53597 the variable pupa_dl_dir.
53598 (pupa_dl_set_prefix): Function removed.
53599 (pupa_dl_get_prefix): Likewise.
53600 * kern/i386/pc/init.c: Include <pupa/env.h>.
53601 (pupa_machine_init): Use the environment variable `prefix' instead of
53602 using pupa_dl_set_prefix to set the prefix.
53603 * kern/main.c: Include <pupa/env.h>.
53604 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53605 using pupa_dl_get_prefix to get the prefix.
53606 * kern/misc.c: Include <pupa/env.h>.
53607 (pupa_isdigit): New function.
53608 (pupa_isgraph): Likewise.
53609 (pupa_ftoa): Likewise.
53610 (pupa_vsprintf): Added support for printing values of the type
53611 `double'. Make it possible to format variable output when using
53612 formatting like `%1.2%f'.
53613 (pupa_split_cmdline): New function.
53614 * kern/rescue.c: Include <pupa/env.h>.
53615 (next_word): Removed function.
53616 (pupa_rescue_cmd_prefix): Likewise.
53617 (pupa_rescue_cmd_set): New function.
53618 (pupa_rescue_cmd_unset): New function.
53619 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53620 split the command line instead of splitting it here. Added
53621 support for setting variables using the syntax `foo=bar'. Don't
53622 initialize the prefix command anymore. Initialized the set and
53623 unset commands.
53624 * normal/cmdline.c: Include <pupa/env.h>.
53625 (pupa_tab_complete): Added prototypes for print_simple_completion,
53626 print_partition_completion, add_completion, iterate_commands,
53627 iterate_dev, iterate_part and iterate_dir. Moved code to print
53628 partition information from here to kern/disk.c.
fe6b695a 53629 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53630 * normal/main.c: Include <pupa/env.h>.
53631 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53632 instead of using pupa_dl_get_prefix to get the prefix.
53633 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53634 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53635 warning.
53636 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53637 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53638 ((unused))' to silence a gcc warning.
53639 (pupa_vga_setcolor): Likewise.
53640 (debug_command): Changed to match argument parsing
53641 interface changes.
53642 * util/pupa-emu.c: Include <pupa/env.h>.
53643 (options): Added 0's for unused fields to silence a gcc warning.
53644 (argp): Likewise.
53645 (main): Use the environment variable `prefix' instead of using
53646 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53647 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53648 and terminal.
53649
53650 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53651 * util/misc.c: Include <malloc.h>.
53652 (pupa_malloc): Rewritten so errors are correctly reported.
53653 (pupa_realloc): Likewise.
53654 (pupa_memalign): Likewise.
53655 (pupa_mm_init_region): Declare unused variables with
53656 `__attribute__ ((unused))' to silence a gcc warning.
53657 * normal/i386/setjmp.S: Remove tab at the end of the file to
53658 silence a gcc warning.
53659 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53660 variables with `__attribute__ ((unused))' to silence a gcc
53661 warning.
53662 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53663 local variable i unsigned to silence a gcc warning.
53664
53665 * kern/term.c: Include <pupa/misc.h>.
53666 (pupa_more_lines): New variable.
53667 (pupa_more): Likewise.
53668 (pupa_putcode): When the pager is active pause at the end of every
53669 screen.
53670 (pupa_set_more): New function.
53671 * include/pupa/term.h (pupa_set_more): New prototype.
53672
53673
3b1139cb 536742004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53675
53676 Now this project is GRUB 2 rather than PUPA. The location of
53677 the CVS repository was moved to GRUB's.
f19dbdb7 53678
3b1139cb 53679 * configure.ac: Use bug-grub as the reporting address.
53680 Use GRUB instead of PUPA.
53681 Change the version number to 1.90.
53682
8367695c 536832004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53684
53685 * genkernsyms.sh: Updated copyright information.
53686 * genmk.rb: Likewise.
53687 * genmodsrc.sh: Likewise.
53688 * gensymlist.sh: Likewise.
53689 * boot/i386/pc/boot.S: Likewise.
53690 * boot/i386/pc/diskboot.S: Likewise.
53691 * disk/i386/pc/biosdisk.c: Likewise.
53692 * disk/i386/pc/partition.c: Likewise.
53693 * font/manager.c: Likewise.
53694 * fs/ext2.c: Likewise.
53695 * fs/fat.c: Likewise.
53696 * include/pupa/boot.h: Likewise.
53697 * include/pupa/device.h: Likewise.
53698 * include/pupa/disk.h: Likewise.
53699 * include/pupa/dl.h: Likewise.
53700 * include/pupa/elf.h: Likewise.
53701 * include/pupa/err.h: Likewise.
53702 * include/pupa/file.h: Likewise.
53703 * include/pupa/font.h: Likewise.
53704 * include/pupa/fs.h: Likewise.
53705 * include/pupa/kernel.h: Likewise.
53706 * include/pupa/loader.h: Likewise.
53707 * include/pupa/misc.h: Likewise.
53708 * include/pupa/mm.h: Likewise.
53709 * include/pupa/net.h: Likewise.
53710 * include/pupa/normal.h: Likewise.
53711 * include/pupa/rescue.h: Likewise.
53712 * include/pupa/setjmp.h: Likewise.
53713 * include/pupa/symbol.h: Likewise.
53714 * include/pupa/term.h: Likewise.
53715 * include/pupa/types.h: Likewise.
53716 * include/pupa/i386/setjmp.h: Likewise.
53717 * include/pupa/i386/types.h: Likewise.
53718 * include/pupa/i386/pc/biosdisk.h: Likewise.
53719 * include/pupa/i386/pc/boot.h: Likewise.
53720 * include/pupa/i386/pc/console.h: Likewise.
53721 * include/pupa/i386/pc/init.h: Likewise.
53722 * include/pupa/i386/pc/kernel.h: Likewise.
53723 * include/pupa/i386/pc/linux.h: Likewise.
53724 * include/pupa/i386/pc/loader.h: Likewise.
53725 * include/pupa/i386/pc/memory.h: Likewise.
53726 * include/pupa/i386/pc/multiboot.h: Likewise.
53727 * include/pupa/i386/pc/partition.h: Likewise.
53728 * include/pupa/i386/pc/time.h: Likewise.
53729 * include/pupa/i386/pc/vga.h: Likewise.
53730 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53731 * include/pupa/util/getroot.h: Likewise.
53732 * include/pupa/util/misc.h: Likewise.
53733 * include/pupa/util/resolve.h: Likewise.
53734 * kern/device.c: Likewise.
53735 * kern/disk.c: Likewise.
53736 * kern/dl.c: Likewise.
53737 * kern/err.c: Likewise.
53738 * kern/file.c: Likewise.
53739 * kern/fs.c: Likewise.
53740 * kern/loader.c: Likewise.
53741 * kern/main.c: Likewise.
53742 * kern/misc.c: Likewise.
53743 * kern/mm.c: Likewise.
53744 * kern/rescue.c: Likewise.
53745 * kern/term.c: Likewise.
53746 * kern/i386/dl.c: Likewise.
53747 * kern/i386/pc/init.c: Likewise.
53748 * kern/i386/pc/lzo1x.S: Likewise.
53749 * kern/i386/pc/startup.S: Likewise.
53750 * loader/i386/pc/chainloader.c: Likewise.
53751 * loader/i386/pc/linux.c: Likewise.
53752 * loader/i386/pc/multiboot.c: Likewise.
53753 * normal/cmdline.c: Likewise.
53754 * normal/command.c: Likewise.
53755 * normal/main.c: Likewise.
53756 * normal/menu.c: Likewise.
53757 * normal/i386/setjmp.S: Likewise.
53758 * term/i386/pc/console.c: Likewise.
53759 * term/i386/pc/vga.c: Likewise.
53760 * util/console.c: Likewise.
53761 * util/genmoddep.c: Likewise.
53762 * util/misc.c: Likewise.
53763 * util/pupa-emu.c: Likewise.
53764 * util/resolve.c: Likewise.
53765 * util/unifont2pff.rb: Likewise.
53766 * util/i386/pc/biosdisk.c: Likewise.
53767 * util/i386/pc/getroot.c: Likewise.
53768 * util/i386/pc/pupa-mkimage.c: Likewise.
53769 * util/i386/pc/pupa-setup.c: Likewise.
53770
e6eced71 537712004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53772
53773 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53774 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53775 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53776 reading and reset it after reading.
53777 (pupa_ext2_close): Return PUPA_ERR_NONE.
53778
53779 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53780 Correct value.
53781 (struct linux_kernel_header): Add kernel_version and
53782 initrd_addr_max.
53783 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53784 pupa_file_read succeeds.
53785 (pupa_rescue_cmd_initrd): Implement.
53786
5aded270 537872003-12-03 Marco Gerards <metgerards@student.han.nl>
53788
53789 * fs/ext2.c (pupa_ext2_label): New function.
53790 (pupa_ext2_fs): Added label.
53791 * fs/fat.c (pupa_fat_label): New function.
53792 (pupa_fat_fs): Added label.
53793 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53794
53795 * kern/misc.c (pupa_strndup): New function.
53796 * include/pupa/misc.h (pupa_strndup): New prototype.
53797
53798 * include/pupa/normal.h: Include <pupa/err.h>.
53799 (pupa_set_history): New prototype.
53800 (pupa_iterate_commands): New prototype.
53801 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53802 <pupa/disk.h>, <pupa/file.h>.
53803 (hist_size): New variable.
53804 (hist_lines): Likewise.
53805 (hist_end): Likewise.
53806 (hist_used): Likewise.
53807 (pupa_set_history): New function.
53808 (pupa_history_get): Likewise.
53809 (pupa_history_add): Likewise.
53810 (pupa_history_replace): Likewise.
53811 (pupa_tab_complete): Likewise.
53812 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53813 completion shows partitionnames while completing partitions, this
53814 feature was suggested by Jeff Bailey.
53815 * normal/command.c (pupa_iterate_commands): New function.
53816 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53817 (pupa_normal_init): Initialize history buffer.
53818 (PUPA_MOD_INIT): Likewise.
53819 (pupa_normal_fini): Free the history buffer.
53820 (PUPA_MOD_FINI): Likewise.
53821
53822 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53823 key.
53824
53825 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53826 * configure.ac [i386]: Check for regparam bug.
53827 (NESTED_FUNC_ATTR) [! i386]: Defined.
53828
1f7315a3 538292003-11-17 Marco Gerards <metgerards@student.han.nl>
53830
53831 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53832 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53833 (pupa_emu_SOURCES): New variable.
53834 (pupa_emu_LDFLAGS): Likewise.
53835 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53836 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53837 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53838 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53839 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53840 (pupa_jmp_buf): New typedef.
53841 (pupa_setjmp) [PUPA_UTIL]: New macro.
53842 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53843 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53844 (pupa_refresh): New prototype.
53845 * include/pupa/util/getroot.h: New file.
53846 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53847 it.
53848 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53849 (pupa_rescue_cmd_cat): Likewise.
53850 (pupa_rescue_cmd_ls): Likewise.
53851 (pupa_rescue_cmd_testload): Likewise.
53852 (pupa_rescue_cmd_lsmod): Likewise.
53853 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53854 * normal/menu.c (run_menu): Likewise.
53855 * kern/term.c (pupa_cls): Likewise.
53856 (pupa_refresh): New function.
53857 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
53858 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53859 * util/console.c: New file.
f19dbdb7 53860
1f7315a3 53861 * util/i386/pc/getroot.c: New file.
53862 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
53863 (pupa_putchar): New function.
53864 (pupa_refresh): Likewise.
53865 (xgetcwd): Function moved to ...
53866 (strip_extra_slashes): Likewise.
53867 (get_prefix): Likewise.
f19dbdb7 53868 * util/i386/pc/getroot.c: ... here.
1f7315a3 53869 (find_root_device): Function moved and renamed to...
53870 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
53871 Changed all callers.
53872 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
53873 and renamed to...
53874 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
53875 Changed all callers.
53876 * util/misc.c (pupa_memalign): New function.
53877 (pupa_mm_init_region): Likewise.
53878 (pupa_register_exported_symbols): Likewise.
53879 (pupa_putchar): Function removed.
53880 * util/pupa-emu.c: New file.
53881
9a5c1ade 538822003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
53883
53884 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
53885 (_multiboot_mod_SOURCES): New variable.
53886 (_multiboot_mod_CFLAGS): Likewise.
53887 * loader/i386/pc/multiboot.c: New file.
53888 * include/pupa/i386/pc/multiboot.h: Likewise.
53889 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
53890 (pupa_multiboot_real_boot): New function.
53891 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
53892 (pupa_multiboot_real_boot): New prototype.
53893 (pupa_rescue_cmd_multiboot): Likewise
53894 (pupa_rescue_cmd_module): Likewise.
53895
53896 * kern/loader.c (pupa_loader_set): Continue when
53897 pupa_loader_unload_func() fails.
53898 (pupa_loader_unset): New function.
53899 * include/pupa/loader.h (pupa_loader_unset): New prototype.
53900
53901 * kern/misc.c (pupa_stpcpy): New function.
53902 * include/pupa/misc.h (pupa_stpcpy): New prototype.
53903
8e72a9c0 539042003-11-12 Marco Gerards <metgerards@student.han.nl>
53905
53906 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
53907 for available extensions.
53908
53909 * include/pupa/i386/pc/time.h: New file.
53910 * kern/disk.c: Include <pupa/machine/time.h>.
53911 (PUPA_CACHE_TIMEOUT): New macro.
53912 (pupa_last_time): New variable.
53913 (pupa_disk_open): Flush the cache when there was a timeout.
53914 (pupa_disk_close): Reset the timer.
53915 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
53916 pupa_currticks.
53917 * util/misc.c: Include <sys/times.h>
53918 (pupa_get_rtc): New function.
53919
c4adbd32 539202003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
53921
53922 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
53923 as blocks.
53924 (pupa_ext2_get_file_block): Use blocks member.
53925
53926 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
53927 first block. Return -1 instead of pupa_errno on error.
53928
bfd30f06 539292003-10-27 Marco Gerards <metgerards@student.han.nl>
53930
53931 * README: In the pupa-mkimage example use _chain instead of chain
53932 and ext2 instead of fat.
53933 * TODO: Replace ext2fs with jfs as an example. Add an item for
53934 adding journal playback for ext2fs.
53935 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
53936 (pkgdata_MODULES): Added ext2.mod.
53937 (ext2_mod_SOURCES): New variable.
53938 (ext2_mod_CFLAGS): Likewise.
53939 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
53940 * include/pupa/misc.h (pupa_strncpy): New prototype.
53941 (pupa_strcat): Likewise.
53942 (pupa_strncmp): Likewise.
53943 * kern/misc.c (pupa_strcat): Enable function.
53944 (pupa_strncpy): New function.
53945 (pupa_strncmp): Likewise.
53946 * fs/ext2.c: New file.
f19dbdb7 53947
bfd30f06 53948 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
53949 when the read failed before retrying.
53950 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
53951 (_FILE_OFFSET_BITS): Likewise.
53952 * configure.ac: Added AC_SYS_LARGEFILE.
53953
98d15063 539542003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53955
53956 * genmk.rb (PModule#rule): Make sure to get only symbol names
53957 from the output of nm.
59cad637 53958 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 53959
18d9c7cd 539602003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
53961
53962 I forgot to check in these changes for a long time. This adds
53963 incomplete support for VGA console, and this is still very
53964 buggy. Also, a lot of consideration is required for I18N,
53965 UNICODE, and VGA font issues. Therefore, assume that this is
53966 such that "better than nothing".
f19dbdb7 53967
18d9c7cd 53968 * font/manager.c: New file.
53969 * include/pupa/font.h: Likewise.
53970 * include/pupa/i386/pc/vga.h: Likewise.
53971 * term/i386/pc/vga.c: Likewise.
53972 * util/unifont2pff.rb: Likewise.
53973
53974 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
53975 (pkgdata_MODULES): Added vga.mod and font.mod.
53976 (vga_mod_SOURCES): New variables.
53977 (vga_mod_CFLAGS): Likewise.
53978 (font_mod_SOURCES): Likewise.
53979 (font_mod_CFLAGS): Likewise.
53980
53981 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
53982
53983 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 53984 (struct pupa_term): Added init and fini.
18d9c7cd 53985 Changed the argument of putchar to pupa_uint32_t.
53986
53987 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
53988 (pupa_console_real_putchar): New prototype.
53989 (pupa_console_putchar): Removed.
53990 (pupa_console_checkkey): Exported.
53991 (pupa_console_getkey): Likewise.
53992
53993 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
53994 characters.
53995
53996 * kern/term.c (pupa_term_set_current): Rewritten.
53997 (pupa_putchar): Likewise.
53998 (pupa_putcode): New function.
53999
54000 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54001 (pupa_console_real_putchar): ... this.
54002 (pupa_vga_set_mode): New function.
54003 (pupa_vga_get_font): Likewise.
54004
54005 * normal/command.c: Include pupa/term.h.
54006 (terminal_command): New function.
54007 (pupa_command_init): Register the command "terminal".
54008
54009 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54010 (DISP_UP): Likewise.
54011 (DISP_RIGHT): Likewise.
54012 (DISP_DOWN): Likewise.
54013 (DISP_HLINE): Likewise.
54014 (DISP_VLINE): Likewise.
54015 (DISP_UL): Likewise.
54016 (DISP_UR): Likewise.
54017 (DISP_LL): Likewise.
54018 (DISP_LR): Likewise.
54019
54020 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 54021
977329f5 540222003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54023
54024 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54025 FIX. Reverse the path_list.
54026
54027 * include/pupa/normal.h: Export pupa_register_command and
54028 pupa_unregister_command.
54029
54030 * hello/hello.c (pupa_cmd_hello): New module.
54031 * conf/i386-pc.rmk: Added hello.mod.
54032
1f5ab428 540332003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54034
54035 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54036
1f5ab428 54037 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54038 (compress_kernel): New variable.
54039 (generate_image): Heavily modified to support compressing a
54040 large part of the core image.
54041
54042 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54043 leak.
54044 (pupa_util_load_image): New function.
54045
54046 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54047 (pupa_compressed_size): New variable.
54048 (codestart): Enable Gate A20 here.
54049 Decompress the compressed part of the core image.
54050 Rearrange the code to put functions and variables which are
54051 required for initialization in the non-compressed part.
54052 Include lzo1x.S.
54053
54054 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54055 here.
54056
54057 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54058
f19dbdb7 54059 * include/pupa/i386/pc/kernel.h
1f5ab428 54060 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54061 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54062 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54063 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54064 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54065
54066 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54067
54068 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54069 (Utility#rule): Likewise.
54070
54071 * configure.ac: Check if LZO is available.
54072
ce5bf700 540732003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54074
54075 * include/pupa/normal.h: New file.
54076 * include/pupa/setjmp.h: Likewise.
54077 * include/pupa/i386/setjmp.h: Likewise.
54078 * normal/cmdline.c: Likewise.
54079 * normal/command.c: Likewise.
54080 * normal/main.c: Likewise.
54081 * normal/menu.c: Likewise.
54082 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54083
ce5bf700 54084 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54085 (pupa_rescue_cmd_initrd): Likewise.
54086
54087 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54088 Likewise.
54089
54090 * kern/i386/pc/startup.S (translation_table): New variable.
54091 (translate_keycode): New function.
54092 (pupa_console_getkey): Call translate_keycode.
54093
54094 * kern/rescue.c (attempt_normal_mode): New function.
54095 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54096 it failed, print a message.
54097
54098 * kern/mm.c (pupa_real_malloc): Print more information when a
54099 free magic is broken.
54100 (pupa_free): If the first free header is not free actually, set
54101 it to P.
54102
54103 * kern/main.c (pupa_load_normal_mode): Just load the module
54104 "normal".
54105 (pupa_main): Don't print the message
54106 "Entering into rescue mode..." here.
54107
54108 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54109 Declared.
54110 (pupa_rescue_cmd_initrd): Likewise.
54111 (pupa_rescue_cmd_initrd): Likewise.
54112
54113 * include/pupa/symbol.h (FUNCTION): Specify the type.
54114 (VARIABLE): Likewise.
54115
54116 * include/pupa/err.h (pupa_err_t): Added
54117 PUPA_ERR_UNKNOWN_COMMAND.
54118
54119 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54120 (pupa_dl_get_prefix): Likewise.
54121
54122 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54123 Added _chain.mod and _linux.mod instead of chain.mod and
54124 linux.mod.
54125 (chain_mod_SOURCES): Renamed to ...
54126 (_chain_mod_SOURCES): ... this.
54127 (chain_mod_CFLAGS): Renamed to ...
54128 (_chain_mod_CFLAGS): ... this.
54129 (linux_mod_SOURCES): Renamed to ...
54130 (_linux_mod_SOURCES): ... this.
54131 (linux_mod_CFLAGS): Renamed to ...
54132 (_linux_mod_CFLAGS): ... this.
54133 (normal_mod_SOURCES): New variable.
54134 (normal_mod_CFLAGS): Likewise.
54135 (normal_mod_ASFLAGS): Likewise.
54136
541372003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54138
54139 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54140 possible.
54141
fe6b695a 54142 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54143 recursively.
54144 (pupa_dl_unref): Unrefer depending modules recursively.
54145 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54146 a module is unloaded before one depending on that module is
54147 unloaded.
54148 (pupa_dl_unload): Unload depending modules explicitly,
54149 if possible.
54150
c04da074 541512003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54152
54153 * include/pupa/i386/pc/linux.h: New file.
54154 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54155
c04da074 54156 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54157 Removed.
54158 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54159 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54160 of PUPA_CHAINLOADER_BOOT_SECTOR.
54161
54162 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54163 (pupa_linux_prot_size): New variable.
54164 (pupa_linux_tmp_addr): Likewise.
54165 (pupa_linux_real_addr): Likewise.
54166 (pupa_linux_boot_zimage): New function.
54167 (pupa_linux_boot_bzimage): Likewise.
54168
54169 * kern/i386/pc/init.c (struct mem_region): New structure.
54170 (MAX_REGIONS): New macro.
54171 (mem_regions): New variable.
54172 (num_regions): Likewise.
54173 (pupa_os_area_addr): Likewise.
54174 (pupa_os_area_size): Likewise.
54175 (pupa_lower_mem): Likewise.
54176 (pupa_upper_mem): Likewise.
54177 (add_mem_region): New function.
54178 (compact_mem_regions): Likewise.
54179 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54180 the size of the conventional memory and that of so-called upper
54181 memory (before the first memory hole).
54182 Instead of adding each found region to free memory, use
54183 add_mem_region and add them after removing overlaps.
54184 Also, add only 1/4 of the upper memory to free memory. The rest
54185 is used for loading OS images. Maybe this is ad hoc, but this
54186 makes it much easier to relocate OS images when booting.
54187
54188 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54189 (pupa_enter_rescue_mode): Don't register initrd and module.
54190
54191 * kern/mm.c: Include pupa/dl.h.
54192
54193 * kern/main.c: Include pupa/file.h and pupa/device.h.
54194
54195 * kern/loader.c (pupa_loader_load_module_func): Removed.
54196 (pupa_loader_load_module): Likewise.
54197
54198 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54199 ``.o''.
54200
54201 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54202 (pupa_linux_tmp_addr): Likewise.
54203 (pupa_linux_real_addr): Likewise.
54204 (pupa_linux_boot_zimage): Likewise.
54205 (pupa_linux_boot_bzimage): Likewise.
54206
54207 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54208 (pupa_upper_mem): Likewise.
54209 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54210 module is too dangerous.
54211
54212 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54213 (pupa_os_area_size): Likewise.
54214 (pupa_loader_set): Remove the first argument. Loader doesn't
54215 manage modules or initrd any longer.
54216 (pupa_loader_load_module): Removed.
54217
54218 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54219 (linux_mod_SOURCES): New variable.
54220 (linux_mod_CFLAGS): Likewise.
54221
a13f9237 542222003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54223
54224 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54225 the length of a blocklist correctly.
54226
54227 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54228 Use ioctl only if the OS file is a block device.
54229 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54230 not very useful for normal files.
54231
54232 * kern/main.c (pupa_set_root_dev): New function.
54233 (pupa_load_normal_mode): Likewise.
54234 (pupa_main): Call those above.
54235
54236 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54237 pupa_uint16_t.
54238
54239 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54240
a5ffe966 542412003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54242
54243 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54244 (setup): Configure the installed partition information and the
54245 dl prefix.
54246
54247 * loader/i386/pc/chainloader.c (my_mod): New variable.
54248 (pupa_chainloader_unload): New function.
54249 (pupa_rescue_cmd_chainloader): Refer itself.
54250 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54251
54252 * kern/i386/pc/startup.S (install_partition): Removed.
54253 (version_string): Likewise.
54254 (config_file): Likewise.
54255 (pupa_install_dos_part): New variable.
54256 (pupa_install_bsd_part): Likewise.
54257 (pupa_prefix): Likewise.
54258 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54259
54260 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54261 and pupa/misc.h.
54262 (make_install_device): New function.
54263 (pupa_machine_init): Set the dl prefix.
54264
54265 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54266 (buf): Renamed to ...
54267 (linebuf): ... this.
54268 (pupa_rescue_cmd_prefix): New function.
54269 (pupa_rescue_cmd_insmod): Likewise.
54270 (pupa_rescue_cmd_rmmod): Likewise.
54271 (pupa_rescue_cmd_lsmod): Likewise.
54272 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54273 rmmod and lsmod.
54274
54275 * kern/mm.c (pupa_memalign): If failed even after invalidating
54276 disk caches, unload unneeded modules and retry.
54277
54278 * kern/misc.c (pupa_memmove): New function.
54279 (pupa_memcpy): Removed.
54280 (pupa_strcpy): New function.
54281 (pupa_itoa): Made static.
54282
54283 * kern/dl.c (pupa_dl_iterate): New function.
54284 (pupa_dl_ref): Likewise.
54285 (pupa_dl_unref): Likewise.
54286 (pupa_dl_unload): Return if succeeded or not.
54287 (pupa_dl_unload_unneeded): New function.
54288 (pupa_dl_unload_all): Likewise.
54289 (pupa_dl_init): Renamed to ...
54290 (pupa_dl_set_prefix): ... this.
54291 (pupa_dl_get_prefix): New function.
54292
54293 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54294 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54295 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54296 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54297 (pupa_install_dos_part): Declared.
54298 (pupa_install_bsd_part): Likewise.
54299 (pupa_prefix): Likewise.
54300 (pupa_boot_drive): Likewise.
54301
54302 * include/pupa/types.h: Fix a typo.
54303
54304 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54305 pupa_memmove.
54306 (pupa_memmove): Declared.
54307 (pupa_strcpy): Likewise.
54308
54309 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54310 pupa_mod_init takes one argument, its own module.
54311 (pupa_dl_unload_unneeded): Declared.
54312 (pupa_dl_unload_all): Likewise.
54313 (pupa_dl_ref): Likewise.
54314 (pupa_dl_unref): Likewise.
54315 (pupa_dl_iterate): Likewise.
54316 (pupa_dl_init): Renamed to ...
54317 (pupa_dl_set_prefix): ... this.
54318 (pupa_dl_get_prefix): Declared.
54319
54320 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54321 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54322 unloaded.
54323 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54324 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54325
54326 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54327 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54328
012d7999 543292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54330
54331 * util/i386/pc/pupa-setup.c (setup): Define the internal
54332 function find_first_partition_start at the top level, because GCC
54333 3.0.x cannot compile internal functions in deeper scopes
54334 correctly.
54335 (find_root_device): Use lstat instead of stat.
54336 Don't follow symbolic links.
54337 Fix the path-constructing code.
54338
54339 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54340 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54341 by a BLKGETSIZE ioctl first, because block devices don't fill
54342 the member st_mode of the structure stat on Linux.
54343 [__linux__] (linux_find_partition): Use a temporary buffer
54344 REAL_DEV for the working space. Copy it to DEV before returning.
54345 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54346 buffer cache consistent.
54347 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54348 strncmp. The previous value was merely wrong.
54349 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54350
54351 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54352 FAT size is 12. The previous value was merely wrong.
54353
54354 * kern/main.c (pupa_main): Don't split the starting message from
54355 newlines.
54356
54357 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54358 LF, because BIOS goes crazy about character attributes in this
54359 case.
54360
1cc73a62 543612003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54362
54363 * include/i386/pc/util/biosdisk.h: New file.
54364 * util/i386/pc/biosdisk.c: Likewise.
54365 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54366
1cc73a62 54367 * Makefile.in (INCLUDE_DISTFILES): Added
54368 include/pupa/i386/pc/util/biosdisk.h.
54369 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54370 directory util/i386/pc.
54371 (install-local): Added a rule for sbin_UTILITIES.
54372 (uninstall): Likewise.
54373
54374 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54375
54376 * util/misc.c (xrealloc): New function.
54377 (pupa_malloc): Likewise.
54378 (pupa_free): Likewise.
54379 (pupa_realloc): Likewise.
54380 (pupa_stop): Likewise.
54381 (pupa_putchar): Likewise.
54382
54383 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54384
54385 * include/pupa/util/misc.h (xrealloc): Declared.
54386
54387 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54388 macro.
54389 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54390 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54391
54392 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54393 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54394
54395 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54396 way should be implemented.
54397 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54398
54399 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54400 the size of NAME for safety.
54401 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54402 0x88.
54403
54404 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54405 (pupa_setup_SOURCES): Likewise.
54406
54407 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54408
08b70fe8 544092002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54410
54411 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54412 bunch of pushl's from pusha, because this destroys the return
54413 value.
54414
62ddcc8f 544152002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54416
54417 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54418 This means that any missing prototypes could be fatal. Also, you
54419 must take care when writing assembly code. See the comments at
54420 the beginning of startup.S, for more details.
f19dbdb7 54421
62ddcc8f 54422 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54423 compilation mechanism.
54424 (pupa_chainloader_real_boot): Likewise.
54425 (pupa_biosdisk_rw_int13_extensions): Likewise.
54426 (pupa_biosdisk_rw_standard): Likewise.
54427 (pupa_biosdisk_check_int13_extensions): Likewise.
54428 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54429 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54430 (pupa_get_memsize): Likewise.
54431 (pupa_get_mmap_entry): Likewise.
54432 (pupa_console_putchar): Likewise.
54433 (pupa_console_setcursor): Likewise.
54434 (pupa_getrtsecs): Use pushl instead of push.
54435
54436 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54437 memory instead of the stack for a mmap entry, because some
54438 BIOSes may ignore the maximum size and overflow.
54439
54440 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54441
54442 * genmk.rb (PModule#rule): Compile automatically generated
54443 sources with module-specific CFLAGS as well as other sources.
54444
9962ed99 544452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54446
54447 * configure.ac: Check ld.
54448 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54449 respectively, before checking endianness and sizes.
54450
54451 * Makefile.in (LD): New variable.
f19dbdb7 54452
abdfc3c5 544532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54454
54455 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54456
6a161fa9 544572002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54458
54459 * Changelog: New file.
54460