]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Generate alternative init entries in advanced menu
[grub2.git] / ChangeLog
CommitLineData
e8f07821
VS
12013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Set version to 2.02~beta2.
4
dc3286ad
VS
52013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
8
46f8d358
AB
92013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
10
11 * util/grub-probe.c: Improve help message and simplify list handling.
12
09c47900
VS
132013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Fix buffer overflow in grub_efi_print_device_path.
16
4d6c6953
VS
172013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
18
19 Show SATA device path.
20
faf4a65e
VS
212013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
22
23 Revert grub-file usage in grub-mkconfig.
24
e5fa26e5
VS
252013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Make newly-created files other than grub.cfg world-readable.
28
569766e4
AB
292013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
30
31 * util/grub.d/00_header.in: Improve compatibility with old config.
32
41272068
VS
332013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Make rijndael.c respect aliasing rules.
36
37 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
38
f7c7c4d4
VS
392013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
40
41 Make grub_util_device_is_mapped_stat available in grub-emu core.
42
57bc5d43
VS
432013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
44
45 Add -Qn to TARGET_CFLAGS if it's supported.
46 Fixes compilation on cygwin.
47
48 Reported by: Andrey Borzenkov.
49 Suggested by: Andrey Borzenkov.
50
6a7957f9
VS
512013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
52
53 Save TARGET_CC version in modinfo.sh.
54
55 Suggested by: Andrey Borzenkov.
56
e88f0420
VS
572013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
60 follow the same algorithm to avoid method mismatch. Don't assume
61 DMRAID- UUID to mean full disk but instead check that mapping is linear.
62
da986226
VS
632013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Declare GRUB_EFI_VENDOR_APPLE_GUID.
66
fba31b5f
VS
672013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
68
69 Dump type and vendor specific data when printing device path.
70
3d369a01
CW
712013-12-23 Colin Watson <cjwatson@debian.org>
72
73 Update some documentation to refer to Git rather than Bazaar.
74
75 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
76 than Bazaar.
77 * po/README: Likewise. Fix spelling mistake.
78
5b83ef97
CW
792013-12-23 Colin Watson <cjwatson@ubuntu.com>
80
81 Don't distribute config.h.
82
83 * Makefile.am (platform_HEADERS): Move to ...
84 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
85 failure when building from a distributed tarball.
86
16f7455b
CW
872013-12-23 Colin Watson <cjwatson@ubuntu.com>
88
89 * configure.ac: Fix spelling.
90 * grub-core/commands/parttool.c: Fix grammar.
91 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
92 Embedding Partition".
93
808e97c4
VS
942013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
95
96 ARM64 support for grub-mkrescue.
97
e388db90
VS
982013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
99
100 Install modinfo.sh to keep build information around.
101
cef39403
VS
1022013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/modinfo.sh.in: Add build config information.
105
a4d61002
VS
1062013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
107
108 ARM64 grub-file and grub-mkconfig support.
109
0c930a84
VS
1102013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Remove leftover options defines.
113
74fa9ac1
VS
1142013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
117
62956fe7
VS
1182013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/loader/arm64/linux.c: Add missing bracket.
121
26063216
VS
1222013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Add arm64-efi recognition to grub-file.
125
4cd0b55f
VS
1262013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
127
128 Fix ia64-efi recognition in grub-file.
129
95b56e3a
VS
1302013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Recognize raspberry pi kernel in grub-file.
133
bbc52c22
VS
1342013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Enable cache on ARM U-Boot port.
137
138 Without it the port is reidiculously slow.
139
943981ff
VS
1402013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Fix ARM cache maintainance.
143
144 More code was converted from ASM to C for easier handling.
145
adabfb54
VS
1462013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
149 algorithm on v5.
150
151 Suggested by: Leif Lindholm.
152
77ec462a
AB
1532013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
154
155 * util/grub-mkconfig.in: Fix Xen platform conditions.
156
3bf2db89
AB
1572013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
158
159 * util/grub-mkrescue.c: Split single help message string in several
160 strings used in previous shell version.
161
30a9ab95
LL
1622013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
163
164 Add arm64 Linux loader.
165
c415eaa9
LL
1662013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
167
168 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
169
313fb3ce
VS
1702013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
171
172 Add module loading and parsing boot time checkpoints.
173
37f617c0
VS
1742013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
177 platforms.
178
3deedfc0
LW
1792013-12-22 Lars Wendler <polynomial-c@gentoo.org>
180
181 * util/grub-mkconfig.in: Skip non-executable files.
182
5ad9f728
VS
1832013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
184
185 Workaround buggy timer in raspberry pie by using our own timer
186 implementation.
187
eeb84997
VS
1882013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
191 Increase to 16 MiB to allow loading the whole memdisk.
192
0d8b81f8
VS
1932013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Fix ARM Linux Loader on non-FDT platforms.
196
bf082198
VS
1972013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * configure.ac: Choose link format based on host_os on emu.
200
0b602bf9
VS
2012013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
204
96650a82
VS
2052013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/kern/emu/main.c: Build fix for emu.
208
ca3e2088
VS
2092013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
210
211 Build fixes for argp.h with older gcc.
212
27db1a9b
VS
2132013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
216 in strings.
217
218 Suggested by: David Prévot.
219
8a913e66
VS
2202013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
223
ae558c2c
VS
2242013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
225
226 Enable -Wformat=2 if it's supported.
227
bbac6789
VS
2282013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
231 -Wmissing-declarations if supported.
232
ab216512
VS
2332013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
236 u32 as both HFS and HFS+ have 32-bit inodes.
237
0d4aa91d
VS
2382013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * include/grub/misc.h (grub_strtol): Fix overflow.
241
a997af68
VS
2422013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
245 as return type in both conditionals.
246
36bcaf29
VS
2472013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
250 to use uint8_t for color.
251
74763e96
VS
2522013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * util/misc.c (grub_util_get_image_size): Check for overflow.
255
80b29fc9
VS
2562013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
259 for size.
260
6e327fcd
VS
2612013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
264 for pointer difference.
265
62ce03cf
VS
2662013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/import_gcry.py: Skip sample keys.
269
f4d70fd0
VS
2702013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
273
93bf55e6
VS
2742013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * configure.ac: Remove duplicate warning arguments.
277
579ee114
VS
2782013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
279
280 Add missing static qualifiers.
281
ee5283d6
VS
2822013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Add missing includes.
285
5dbde526
VS
2862013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
287
288 Inline printf templates when possible to enable format checking.
289
d88ae4f0
VS
2902013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * include/grub/crypto.h: Don't discard const attribute.
293
17b43559
VS
2942013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
297 was intended.
298
76a2a430
VS
2992013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/lib/crypto.c: Don't discard const attribute.
302
0d26164e
VS
3032013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/lib/disk.c: Fix potential overflow.
306
2622b1e8
VS
3072013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/lib/arg.c: Don't discard const attribute.
310
05126706
VS
3112013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/kern/dl.c: Don't discard const attribute.
314
2f9c4804
VS
3152013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/kern/disk.c: Fix potential overflow.
318
0438ebf1
VS
3192013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * conf/Makefile.common: Don't include non-existing directory
322 grub-core/lib/libgcrypt-grub/include.
323
065adc34
VS
3242013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
325
326 Clarify several translatable messages.
327
496a6b30
DP
3282013-12-21 David Prévot <david@tilapin.org>
329
330 Correct some translatable strings.
331
971038be
CW
3322013-12-21 Colin Watson <cjwatson@ubuntu.com>
333
334 * util/grub-mkrescue.c: Rephrase mkrescue description.
335
bfdfeb25
VS
3362013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
3372013-12-21 Colin Watson <cjwatson@ubuntu.com>
338
339 Clarify several translatable messages.
340
d642d761
CW
3412013-12-20 Colin Watson <cjwatson@ubuntu.com>
342
343 Be more verbose about some configure failures.
344
3bc1b2da
CW
3452013-12-20 Colin Watson <cjwatson@ubuntu.com>
346
347 Fix various build problems on GNU/Hurd.
348
349 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
350 !defined (__GNU__).
351 (xgetcwd): Likewise.
352 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
353 [__GNU__]: Add prototype.
354 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
355 long int using %ld rather than %d.
356
871aa709
VS
3572013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/grub-install.c: Inform user about install platform.
360
2fa5a58c
VS
3612013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * configure.ac: Set version to 2.02~beta1.
364
ee281fd0
AP
3652013-12-18 Allen Pais <allen.pais@oracle.com>
3662013-12-18 Bob Picco <bob.picco@oracle.com>
367
368 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
369
2e238b37
VS
3702013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Make grub_zlib_decompress handle incomplete chunks.
373
374 Fixes squash4.
375
2984035e
VS
3762013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
379 on i386-multiboot.
380
b9f03772
AN
3812013-12-18 Aleš Nesrsta <starous@volny.cz>
382
383 * grub-core/disk/usbms.c: Retry on unknown errors.
384 Reuse the same tag on retries.
385
e3ef0d30
AN
3862013-12-18 Aleš Nesrsta <starous@volny.cz>
387
388 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
389
390 Avoid confusing them with already completed transfers.
391
72c9a507
VS
3922013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Remove xen VFB.
395
396 Due to XEN bug it prevents Linux boot. Remove it at least, until
397 workaround is found.
398
84455670
VS
3992013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * po/exclude.pot: Add 2 missing excludes.
402
64dd5fdc
VS
4032013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
404
405 Add missing license section in macbless.mod and macho.mod.
406
a29f317a
VS
4072013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
408
409 Allow compilation without thumb-interwork as long as no thumb is
410 involved or only thumb2 is used.
411
063f2a04
VS
4122013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
413
414 Use -Wl,--no-relax rather than -mno-relax for uniformity.
415
113f7869
VS
4162013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * INSTALL: Update comment as to why sparc64 clang isn't usable.
419
eba2afed
VS
4202013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
421
422 Add __attribute__ ((sysv_abi)) only if it's really needed.
423
424 Some compilers don't support it.
425
1962ed95
VS
4262013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
429
c2be6f7e
VS
4302013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Remove -Wold-style-definition.
433
434 Not very useful and interaction of it with regexp depends on GCC
435 version.
436
7a7f5238
VS
4372013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Make grub_util_get_windows_path_real static.
440
9246d5c8
VS
4412013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/commands/fileXX.c: Silence cast-align.
444 * grub-core/loader/i386/xen_fileXX.c: Likewise.
445
b3aea1bc
VS
4462013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
449 rather than LL suffix.
450
bc8dd119
VS
4512013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
452
e8c360ca
VS
453 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
454
4552013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 458
57a691b7
VS
4592013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Decrease number of strings to translate.
462
74fa9417
VS
4632013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
466
636977b0
VS
4672013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
468
469 Mark strings for translation and add remaining ones to exclude list.
470
ee4450eb
VS
4712013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * util/grub-file.c (main): Fix sizeof usage.
474
4752013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
476
477 Silence spurious warning.
478
ee4450eb 4792013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
480
481 Remove check_nt_hiberfil as it's been superseeded by file command.
482
a99c0a32
VS
4832013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * docs/osdetect.cfg: Add isolinux config to detected OSes.
486
8f5add13
VS
4872013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Implement syslinux parser.
490
8ff35d0a
VS
4912013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
494
ba144760
VS
4952013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Support cpuid --pae.
498
daaa89db
VS
4992013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
500
501 Use AT keyboard on Yeeloong 3A.
502
25a7863d
VS
5032013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Add Yeeloong 3A reboot and halt.
506
184c61dd
VS
5072013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
508
509 Add Radeon Yeeloong 3A support.
510
fd4650a5
VS
5112013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Add bonito 3A support.
514
3e88fbfa
VS
5152013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
518
1123bed9
VS
5192013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
522
ebda165f
VS
5232013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/loader/macho.c: Fix compilation on non-i386.
526
fe7c20bf
VS
5272013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
528
529 Add missing format_arg attribute to check that printf with translated
530 messages has proper arguments.
531
f4dab3d1
VS
5322013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
533
534 Use grub_xasprintf to format translated error messages containing
535 64-bit quantity.
536
24d5934d
JM
5372013-12-17 Jon McCune <jonmccune@google.com>
538
539 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
540
d6c2782a
VS
5412013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
542
543 Unify message for unsupported relocation.
544
50d2e959
VS
5452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
546
547 Mark miscompile error for translation.
548
18e76955
VS
5492013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Use %I64 and not %ll when using OS printf if compiling for windows.
552
d218ec97
VS
5532013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Update Mac code to match new register_efi prototype.
556
b8765fa0
VS
5572013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
558
559 Implement better integration with Mac firmware.
560
1f032575
VS
5612013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/loader/multiboot_mbi2.c: Implement special value for
564 load_addr.
565
14829755
VS
5662013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
567
568 Include serial module in default_payload.elf.
569
d45067a2
VS
5702013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
571
572 Add explicit thumb interwork bx in asm files.
573
574 Shouldn't matter for armv >= 5 but let's be safe.
575
30861754
VS
5762013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Implement Truecrypt ISO loader.
579
e14d409b
VS
5802013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/lib/arg.c: Ensure at least a single space between commands.
583
ec824e0f
VS
5842013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
585
586 Implement grub_file tool and use it to implement generating of config
587 in separate root.
588
296f7606
VS
5892013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Change to v1 xen grants.
592
2c384f1e
VS
5932013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
596
597 GRUB relied on %ebx being preserved across hypercall which isn't true.
598
d16ff589
VS
5992013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
602
603 GRUB relied on %rdi being preserved across hypercall which isn't true.
604
71669c3b
VS
6052013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
606
607 Implement XEN VFB support.
608
60d1dd3d
VS
6092013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
610
611 Remove grub_bios_interrupt on coreboot.
612
613 It's not used currently and cannot be used safely currently.
614
a8201050
VS
6152013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
616
617 Update exclude.pot and mark few strings for translation.
618
6cc89597
VS
6192013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
622
623 Reported by: Jon McCune
624
840a2c05
AB
6252013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
626
627 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
628 Add verbose information which firmware directories were tried.
629
35248820
AB
6302013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
631
632 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
633 function to optionally redirect all three standard descriptors.
634 Redefine grub_util_exec, grub_util_exec_redirect and
635 grub_util_exec_redirect_null to use it.
636 * include/grub/emu/exec.h: Define it.
637 * include/grub/osdep/exec_unix.h: Delete, it is unused.
638 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
639 Use grub_util_exec_redirect_all to redirect error to NULL.
640
2a123f4c
VS
6412013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/tests/sleep_test.c: Silence spurious warning.
644
316c8d9a
VS
6452013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
648 linker trying to "fixup" the code.
649
8fcce8d5
VS
6502013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/kern/x86_64/xen/startup.S: Align stack.
653
6f1f6a0c
VS
6542013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
655
656 Add support for converting PE+ to Elf64.
657
66a07ce2
VS
6582013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
661
cc6fb517
VS
6622013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Remove practice of assigning random const pointers to device id.
665
666 This is not required as cache code already checks driver id as well.
667
f009f07c
VS
6682013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
671 with mingw.
672
9fdec226
VS
6732013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * include/grub/efi/api.h: Don't use call wrappers when compiled with
676 mingw or cygwin as API already matches.
677
d87cb3ae
VS
6782013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
681
3e38c31a
VS
6822013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
685 not on long.
686
f4171ebd
VS
6872013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Handle X86_64_PC64 relocation.
690
691 Those are generated by some cygwin compilers.
692
252a289c
VS
6932013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
694
695 Determine the need for mingw-related stubs at compile time rather than
696 using not very significant $target_os.
697
23d2abc3
VS
6982013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
701 may not work with ELF.
702
4f979ccb
VS
7032013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Use unix functions for temporary files and special files on cygwin.
706
37378f74
VS
7072013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Define functions explicitly rather than using --defsym in tests
710 whenever possible. Respect locality in remaining cases.
711
6a09d83e
VS
7122013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
715
e477187b
AB
7162013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
717
718 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
719 unlikely errors when getting EFI variables and make exhaustive search
720 for all BootNNNN variables to find matching one.
721
80b865bd
IC
7222013-12-15 Ian Campbell <ijc@hellion.org.uk>
723
724 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
725
04b02857
VS
7262013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
727
728 New functional test for sleep function.
729
730 This test allows to check sleep without qemu. Keep qemu version as
731 well as functional test won't notice if all clocks are going too fast
732 or too slow.
733
39711101
VS
7342013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
735
736 Add explicit sysv_abi on amd64 asm routines.
737
d99af4f0
VS
7382013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
741 num_table_entries.
742
71043684
VS
7432013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
746 functions.
747
111bf5db
VS
7482013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
751 appropriate.
752
24ca71c9
VS
7532013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
756
48ba5c0c
VS
7572013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
760 appropriate.
761
8ae67045
VS
7622013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
765
766 In case of quick removal of loopback and adding another one it may
767 get same ID, confusing the cache system.
768
ed559310
VS
7692013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
772 appropriate.
773
8fa26279
VS
7742013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
777 than converting to long.
778
6f5f3337
VS
7792013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
782
e7c418c5
VS
7832013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
786 than almost useless pointer.
787
7e47e27b
VS
7882013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
789
790 Add gcc_struct to all packed structures when compiling with mingw.
791
792 Just "packed" doesn't always pack the way we expect.
793
ae8159b9
VS
7942013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
797
74e7ad66
VS
7982013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * util/grub-pe2elf.c: Fix handling of .bss.
801
814442ba
VS
8022013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Implement windows flavour of EFI install routines.
805
5f5bb107
VS
8062013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
809
a24725cc
VS
8102013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Change grub_install_register_efi interface to pass GRUB device.
813
814 This allows grub_install_register_efi to request partition info
815 directly.
816
38933cee
VS
8172013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
818
819 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
820
6d3cfe50
VS
8212013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Do not use TCHAR string functions as they are not available on cygwin.
824
4bad23a1
VS
8252013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Workaround windows bug when querying EFI system partition parameters.
828
6a5fe132
VS
8292013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
832 by using bitfields.
833
bc8fcf4b
VS
8342013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
837
60b967be
VS
8382013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Make i386-* other than i386-pc compileable under cygwin.
841
6dc33377
VS
8422013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Fix definition of grub_efi_hard_drive_device_path. Take care that
845 existing code would work even if by some reason bogus definition is
846 used by EFI implementations.
847
f2c6ff15
VS
8482013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
851
6b8a1625
VS
8522013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
855 invocation.
856
954c723a
VS
8572013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * util/config.c: Remove trailing newline from distributor in simple
860 parsing.
861
607a39f9
VS
8622013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * include/grub/efi/api.h: Rename protocol and interface to avoid
865 conflict.
866
df6fedca
VS
8672013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * .gitignore: Add .exe variants. Add missing files. Remove few outdated
870 entries.
871
f684d7e1
VS
8722013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/osdep/exec.c: Use unix version on cygwin.
875
0df77d79
VS
8762013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Implement multiboot2 EFI BS specification.
879
dafff9ce
VS
8802013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/normal/charset.c: Fix premature line wrap and crash.
883 Crash happened only in some cases like a string starting at the
884 half of the screen of same length.
885
6644d973
VS
8862013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
889 with EFI counterpart.
890
44bbfa33
VS
8912013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Propagate the EFI commits to x86-efi specific parts.
894
3e3dff24
VS
8952013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/commands/efi/lssal.c: Fix terminating condition.
898
316dda71
VS
8992013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Introduce grub_efi_packed_guid and use it where alignment is not
902 guaranteed.
903
219401b8
VS
9042013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * include/grub/efi/api.h (grub_efi_device_path): Define length as
907 unaligned u16 rather than u8[2].
908
30d00537
VS
9092013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
912 for relocation range.
913
979742bc
VS
9142013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
917 non-function pcrel21b relocation. It happens with .text.unlikely
918 section.
919
16c8f785
LL
9202013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
921
922 * make MAX_USABLE_ADDRESS platform-specific
923 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
924
3f1423e7
LL
9252013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
926
927 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
928
dd73313c
JM
9292013-12-09 Jon McCune <jonmccune@google.com>
930
931 * Add --no-rs-codes flag to optionally disable reed-solomon codes
932 in grub-install and grub-bios-setup for x86 BIOS targets.
933
eaf01c25
VS
9342013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
935
936 Add missing compile and link options for sparc64-emu.
937
7a148da6
VS
9382013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Implement sparc64 trampolines (needed for sparc64-emu).
941
21eee750
VS
9422013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
945 range of R_SPARC_HI22.
946 Implement R_SPARC_LM22.
947
7b54b626
VS
9482013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
951 Do not explicitly check for symbol table as it's already checked in
952 platform-independent layer.
953
9a945e2a
VS
9542013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
957 on ia64 as __clear_cache is a dummy on ia64.
958
4f4ea1b4
VS
9592013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
962 Do not explicitly check for symbol table as it's already checked in
963 platform-independent layer.
964
fe4ae213
CW
9652013-12-09 Colin Watson <cjwatson@ubuntu.com>
966
967 * util/grub-mkconfig.in: Add missing newline to output.
968
78b2b0a1
VS
9692013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
972 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
973
d14772c4
VS
9742013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
977 compilation with GCC <= 4.2.
978 * grub-core/kern/emu/argp_common.c: Likewise.
979
388f3cd0
VS
9802013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
983 right platform rather than leaking to sparc64-emu.
984
11e4167a
VS
9852013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
988 But ensure that the variables in question are indeed unsigned.
989
fa7eb63d
VS
9902013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
993
50b3a68d
VS
9942013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 Remove grub_memalign on emu.
997
fbbfb6ab
VS
9982013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1001 truncate incomplete lines but instead flushes them.
1002
a19293cb
VS
10032013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1006 and implement windows variant.
1007
d5c14e1e
VS
10082013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Fix mips-emu compilation.
1011
b75db69a
VS
10122013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * configure.ac: Check for freetype library usability.
1015
c311ced5
VS
10162013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 Make arm-emu work.
1019
c8fd2ddf
VS
10202013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1023
c50e5f45
AB
10242013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1025
1026 * docs/grub.texi (Environment): Update color_normal and color_highlight
1027 defaults (light-gray instead of white).
1028
bb05e313
AB
10292013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1030
1031 * grub-core/normal/main.c (INIT): Set default color to light-gray
1032 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1033 and apparently BIOS defaults.
1034
f23bc651
VS
10352013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 Transform -C option to grub-mkstandalone to --core-compress available
1038 in all grub-install flavours.
1039
4c4ea9c7
VS
10402013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Merge GRUBFS and GRUB_FS variables.
1043
92e9352d
AB
10442013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1045
1046 Revert commit 69ca97c820, it caused failures when using OS device name
1047 in grub-install. Instead just strip off parenthesis in grub-install
1048 if (hdX) was passed.
1049
f585c905
AB
10502013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1051
1052 * util/grub-install.c (push_partmap_module): Add helper to convert
1053 partmap names to module names and use it in probe_mods(). Fixes
1054 failure to find partmap modules in diskfilter case.
1055
5ff24907
VS
10562013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * configure.ac: Make unifont mandatory on coreboot.
1059
0277eab7
VS
10602013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * configure.ac: Skip unifont 6.3 pcf and bdf.
1063
4861b6c8
VS
10642013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * Makefile.am: Remove partial font files if generation failed.
1067
3100cdc7
AB
10682013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1069
1070 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1071 strings.
1072 * include/grub/util/misc.h: Define it ...
1073 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1074
ad73cc33
AB
10752013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1076
1077 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1078 ${grub_probe}.
1079
41822625
VS
10802013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Don't add -mlong-calls when compiling with clang.
1083
896f483d
VS
10842013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * configure.ac: Fix a typo.
1087
8c534b85
VS
10882013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Revamp relocation handling.
1091
1092 Move more code to common dl.c. Add missing veneers for arm and arm64.
1093 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1094
a846dd4b
VS
10952013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1098
aa437b58
MG
10992013-12-05 Mike Gilbert <floppym@gentoo.org>
1100
1101 * INSTALL: Raise minimum python version to 2.6.
1102 * gentpl.py: Use python3-style print function.
1103
b0f311f4
VS
11042013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * util/grub-install.c: Mention Boot* variable.
1107
59b38922
CW
11082013-12-05 Colin Watson <cjwatson@ubuntu.com>
1109
1110 * grub-core/osdep/linux/hostdisk.c
1111 (grub_util_find_partition_start_os): Initialise start to avoid
1112 spurious compiler warning.
1113
0480665b
CW
11142013-12-05 Colin Watson <cjwatson@ubuntu.com>
1115
1116 On Linux, read partition start offsets from sysfs if possible, to
1117 cope with block device drivers that don't implement HDIO_GETGEO.
1118 Fixes Ubuntu bug #1237519.
1119
1120 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1121 function.
1122 (sysfs_partition_start): Likewise.
1123 (grub_util_find_partition_start_os): Try sysfs_partition_start
1124 before HDIO_GETGEO.
1125
bbeee1c4
LL
11262013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1127
1128 * grub-core/kern/fdt.c: Update struct size when adding node.
1129
e5ed2f69
VS
11302013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Handle unaligned .bss on sparc64.
1133
1134 Current code improperly assumes that both __bss_start and _end are
1135 aligned to 8-bytes. Eliminating this assumption and explicitly align
1136 modules.
1137
4a73746a
VS
11382013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1141 so it doesn't land in the middle of loaded image.
1142
382b500e
VS
11432013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * configure.ac: Move all warning options that may be absent in
1146 gcc >= 3.1 to optional.
1147
1148 Note: while this allows to compile with older GCC, official requirements
1149 remain the same and no support for older GCC.
1150
3a82f8bb
CW
11512013-12-04 Colin Watson <cjwatson@ubuntu.com>
1152
1153 Copying the themes directory in grub-shell isn't
1154 parallel-test-friendly and breaks on the second test when the source
1155 directory is read-only (as in "make distcheck"). Instead, add a
1156 hidden --themes-directory option to grub-mkrescue et al, and use it
1157 in grub-shell.
1158
e3046431
VS
11592013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1162 as it's no longer necessarry.
1163
bdb6090d
VS
11642013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * configure.ac: Allow compilation with older GCC for ARM.
1167
b73b70eb
VS
11682013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1171 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1172 ppc.
1173
8a3f0a24
VS
11742013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1177
6f07c4e4
VS
11782013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Pass font config to config.h and not by TARGET_CFLAGS as adding
1181 arguments doesn't work if TARGET_CFLAGS is specified on command
1182 line.
1183
60d5e9cb
VS
11842013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * configure.ac: Add -Wvla if compiler supports it.
1187
cd15c394
VS
11882013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1191 Remove variable length arrays.
1192 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1193
bb6e299c
VS
11942013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1197
85eb579a
VS
11982013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * include/grub/types.h: Declare all byteswaps as inline functions
1201 except compile-time ones.
1202
1203 Solves variable shadowing in constructions like
1204 cpu_to_le (le_to_cpu(x) + 1).
1205
47f88cc9
VS
12062013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1209
40b5739f
VS
12102013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1213 minutes.
1214
234d9346
VS
12152013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1218 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1219
0c0eab52
CW
12202013-12-03 Colin Watson <cjwatson@ubuntu.com>
1221
1222 * grub-core/Makefile.core.def (setjmp): Distribute
1223 lib/arm64/setjmp.S.
1224
44d48847 12252013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1226
1227 Add a new timeout_style environment variable and a corresponding
1228 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1229 controls hidden-timeout handling more simply than the previous
1230 arrangements, and pressing any hotkeys associated with menu entries
1231 during the hidden timeout will now boot the corresponding menu entry
1232 immediately.
1233
1234 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1235 generates a warning, and if it shows the menu it will do so as if
1236 the second timeout were not present. Other combinations are
1237 translated into reasonable equivalents.
1238
10955cda
CW
1239 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1240
9e4e6ddf
VS
12412013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/config.c: Add missing pointer adjustment.
1244 Reported by: qwertial
1245
5037aa9a
AB
12462013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1247
1248 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1249 directly, not via `cpu' link, to fix libgrub.pp generation.
1250
8a952d20
VS
12512013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1252
1253 New port arm64-efi.
1254
be0d4555
AB
12552013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1256
1257 * docs/grub.texi (sleep): Document exit codes.
1258
d74b9a1d
VS
12592013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 Ensure that -mno-unaligned-access or some equivalent option is used.
1262
35de6d4b
VS
12632013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1266 -march=armv3.
1267
ce55ed03
VS
12682013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1271
8ddf84bf
CW
12722013-11-29 Colin Watson <cjwatson@ubuntu.com>
1273
1274 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1275 builds, since we don't have an EPS version of font_char_metrics.png.
1276 Add leading dot to image extension per the Texinfo documentation.
1277
fd0df6d0
CW
12782013-11-29 Colin Watson <cjwatson@ubuntu.com>
1279
1280 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1281 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1282 * util/grub-gen-widthspec.c: Likewise.
1283 * util/grub-mkfont.c: Likewise.
1284
69ca97c8
AB
12852013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1286
1287 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1288 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1289 failed to install on (hdX).
1290 * util/grub-setup.c (get_device_name): Remove, not needed after
1291 above change.
1292
eec893ae
VS
12932013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1296
621e167f
VS
12972013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * util/grub-fstest.c: Remove variable length arrays.
1300
d54f647a
VS
13012013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1304
c8a0f1b2
VS
13052013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1308 computing crc32 rather than handling with md fundtions directly.
1309
726409a5
VS
13102013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1313 checking fwstart.img rather than md fundtions directly.
1314
422e6e88
VS
13152013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub-mkrescue.c (main): Check that fread succeeded.
1318
af1faca3
VS
13192013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * conf/Makefile.common: Remove -mexplicit-relocs and
1322 -DUSE_ASCII_FALLBACK on yeeloong.
1323
1324 -DUSE_ASCII_FALLBACK is already added by font snippets.
1325 -mexplicit-relocs isn't needed is compiler/assemblera are
1326 configured properly.
1327 If they're not we shouldn't attempt to fix it by ourselves.
1328 Binary compare between before and after shows no difference.
1329
469021b4
VS
13302013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1333 sources in dependencies directly.
1334
1335 This was the only instance of "library" in core config. A bug was
1336 reported that -fno-stack-protector wasn't passed to it. Instead of
1337 figuring out why it failed just remove this construction used
1338 needlessly.
1339
83c256ba
VS
13402013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1343 fgets succeeded.
1344
b67422d3
FL
13452013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1346
1347 * docs/grub.texi (ls): Fix command description in case of a device name
1348 passed as argument.
1349
2d76b4d8
VS
13502013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Eliminate variable length arrays in grub_vsnprintf_real.
1353
1354 A bit tricky because this function has to continue to work without
1355 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1356 but make all stack references use 32-bit offset rather than 8-bit one.
1357 So split va_args preparsing to separate function and put the prealloc
1358 into the caller.
1359
4f954122
VS
13602013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1363 Fixes build for windows.
1364
b1f742c1
VS
13652013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * gentpl.py: Don't generate platform-dependent conditionals for
1368 platform-independent targets.
1369
16ef26fd
CW
13702013-11-27 Colin Watson <cjwatson@ubuntu.com>
1371
1372 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1373 references to mdadm from otherwise generic code.
1374 (grub_util_exec_pipe): Likewise.
1375 (grub_util_exec_pipe_stderr): Likewise.
1376 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1377 This function calls vgs, not mdadm; adjust variable names
1378 accordingly.
1379
cf8c80ff 13802013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
1381
1382 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1383 of Autogen. The Autogen definitions files remain intact as they
1384 offer a useful abstraction.
1385
5c7206e4
CW
13862013-11-27 Colin Watson <cjwatson@ubuntu.com>
1387
1388 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1389 into no-ops, and use it in programs that copy files but do not need
1390 to take special care to sync writes (grub-mknetdir, grub-rescue,
1391 grub-mkstandalone).
1392
fc3f2b72
CW
13932013-11-26 Colin Watson <cjwatson@ubuntu.com>
1394
1395 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1396 than hardcoding /usr/local/bin/xorriso.
1397
1e4b3587
VS
13982013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Add PCI command activation to all PCI drivers as required for coreboot
1401 and maybe some other firmwares.
1402
9208367d
VS
14032013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1406 and non-Apple variants of efiemu compile.
1407
67b9b7af
AB
14082013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1409
1410 * configure.ac: Add explicit check for linking format of
1411 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1412 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1413 hardcoding linking format.
1414
bee1b5ce
VS
14152013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1418 and not pkgdatadir.
1419
07e3b047
CW
14202013-11-25 Colin Watson <cjwatson@ubuntu.com>
14212013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 Add a --locale-directory option to grub-install and related tools.
1424
1425 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1426 --locale-directory option.
1427 (enum grub_install_options): Add
1428 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1429 * util/grub-install-common.c (grub_install_help_filter): Handle
1430 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1431 (grub_install_parse): Likewise.
1432 (get_localedir): New function to check for a user-provided option
1433 before trying grub_util_get_localedir.
1434 (copy_locales): Use get_localedir rather than
1435 grub_util_get_localedir. Handle differing locale directory layouts.
1436 (grub_install_copy_files): Likewise.
1437
61e1b9a4
VS
14382013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1441 Don't rely on PATH_MAX.
1442
c98dd165
VS
14432013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/genmoddep.awk: Use more portable && rather than and.
1446
ff1c277e
VS
14472013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1450 an object after data. While it doesn't seem right solution, it
1451 works well enough and OSX isn't main compilation platform.
1452
c8f7614b
VS
14532013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
1456 While it doesn't seem right solution, it works well enough and
1457 OSX isn't main compilation platform.
1458
246a434f
VS
14592013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * configure.ac: Add -static to LDFLAGS when using apple linker to
1462 prevent it from pulling in dynamic linker.
1463
5c066a81
VS
14642013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Apple assembly doesn't handle symbol arithmetic well. So define an
1467 offset symbol in boot.S and use it.
1468
78f961ef
VS
14692013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Apple assembly doesn't handle symbol arithmetic well. So instead
1472 of getting addres of kernel_sector + 4 define kernel_sector_high.
1473 It also makes code more readable.
1474
09bc0a57
VS
14752013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 With Apple assembly in .macro environvemnt you have to use $$ instead
1478 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
1479 to $$x on Apple and to $x on everything else.
1480
b700a427
VS
14812013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
1484 OBJCONV.
1485
4480b95d
VS
14862013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
1489 and non-Apple. This instruction is shorter and faster,
1490 so no reason not to use it on both.
1491
e77c81f6
VS
14922013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
1495 .text when compiling for Apple.
1496
971dbee5
VS
14972013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/term/arc/console.c: Add missing cast to silence warning.
1500
6f2e82be
VS
15012013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
1504 %dx restore the probe worked on non-existant drive. Reorganize the
1505 code a little bit to free 2 bytes necessary for push/pop.
1506
9eec9699
VS
15072013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
1510 Add missing cast to silence warning.
1511
5ae5c54c
KPA
15122013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
1513
1514 * util/grub-install.c (update_nvram): Support --no-nvram flag
1515 for EFI targets.
1516
7b04fe6c
VS
15172013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
1520
e67566ce
VS
15212013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * util/garbage-gen.c: Add missing include of sys/time.h.
1524
f93ddcfd
VS
15252013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Don't add -mflush-func if it's not supported by compiler.
1528
1bba40f5
VS
15292013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Move common BIOS/coreboot memory map declarations to
1532 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
1533
f65e14dc
AB
15342013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
1535
1536 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
1537
14a94bba
VS
15382013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * INSTALL: Document why older clang versions aren't appropriate.
1541
8109c5d4
VS
15422013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * INSTALL: Document about clang for mips.
1545
a92b5cb8
VS
15462013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
1549 clang.
1550
4a23e2fe
VS
15512013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Add *-xen to the list of grub-install-common platforms.
1554
a3ba7410
VS
15552013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
1558 3 last commits.
1559
e1c22419
VS
15602013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
1563
189090ce
VS
15642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
1567 with -mcmodel=large.
1568
1a5b7b40
VS
15692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
1572 range-checking for 32-bit quantities.
1573
9cf12b20
VS
15742013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * configure.ac: Compile with -fPIC when compiling with clang on
1577 mips.
1578
63a45330
VS
15792013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
1582 when compiling with clang.
1583
4a0aaad0
VS
15842013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 clang emits calls to abort () under some unknown conditions.
1587 Export abort () when compiling with clang.
1588
095bb1bf
VS
15892013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * docs/grub-dev.texi: Document stack and heap sizes.
1592
3937bd96
VS
15932013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * include/grub/i386/pc/memory.h: Decrease
1596 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
1597 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
1598 The binary doesn't change (checked). It's more to better reflect actual
1599 usage.
1600
ddb3efc9
VS
16012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
1604 at compile time that enough of scratch size is available.
1605
4e42521d
VS
16062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
1609 Previously we misaligned stack by 8 in startup.S and compensated
1610 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
1611 right behaviour is to align stack in startup.S and keep it aligned
1612 in callwrap.S. startup.S part was committed few commits before. This
1613 takes care of callwrap.S.
1614 Reported by: Gary Lin.
1615
054efe54
VS
16162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
1619 .data and .bss. May happen if compiler and assembly use different
1620 alignment.
1621
a0e1befb
VS
16222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 On MIPS handle got16 relocations to local symbols in an ABI-compliant
1625 way.
1626
c36c73f6
VS
16272013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Add support for a new magic symbol _gp_disp on mips to handle PIC
1630 binaries.
1631
6f4a19f5
VS
16322013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 Use $t9 for indirect calls from asm to C as PIC ABI requires.
1635
0d8f04cd
VS
16362013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
1639 when rest of GRUB is compiled for hisher stepping. Instead use
1640 .set mips3/.set mips1 around cache and sync opcodes.
1641
49060520
VS
16422013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
1645 do essentially the same thing, do it in similar way.
1646
c6a823e2
CW
16472013-11-21 Colin Watson <cjwatson@ubuntu.com>
1648
1649 * util/grub-mkrescue.c (main): If a source directory is not
1650 specified, read platform-specific files from subdirectories of
1651 pkglibdir, not pkgdatadir.
1652
b7f9aedf
CW
16532013-11-21 Colin Watson <cjwatson@ubuntu.com>
1654
1655 * grub-core/normal/progress.c: Remove unused file.
1656
7dd0a303
VS
16572013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
1660 array.
1661
ca120e31
VS
16622013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
1665 than grub.cfg.
1666
48eb35cd
VS
16672013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * coreboot.cfg: Add missing file.
1670
7f20dbbc
VS
16712013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * Makefile.am: Allow STRIP to be empty when creating windowszip.
1674
55e706c9
AK
16752013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
1676
1677 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
1678 selectively skipping systems.
1679
4e7d433d
CW
16802013-11-19 Colin Watson <cjwatson@ubuntu.com>
1681
1682 * Makefile.util.def (grub-mkimage): Add
1683 grub-core/osdep/aros/config.c to extra_dist.
1684 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
1685 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
1686 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
1687 grub-core/gnulib-no-gets.diff.
1688
7d44ff7d
VS
16892013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Add automated filesystem checking based on scripts I've used now for
1692 quite some time locally. Most of the test require root so they are
1693 skipped when run without necessarry privelegies.
1694
a8c3e5e3
CW
16952013-11-19 Colin Watson <cjwatson@ubuntu.com>
1696
1697 * util/grub-install.c (main): Adjust info messages to match
1698 installed paths of grub-bios-setup and grub-sparc64-setup.
1699
4402db3e
CW
17002013-11-19 Colin Watson <cjwatson@ubuntu.com>
1701
1702 * util/grub-install-common.c (copy_locales): Consistently use
1703 grub_util_get_localedir () rather than LOCALEDIR.
1704 (grub_install_copy_files): Likewise.
1705
7960d3e1
JT
17062013-11-19 Josh Triplett <josh@joshtriplett.org>
1707
1708 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
1709 16-byte boundary, as required by the x86-64 ABI, before calling
1710 grub_main. In some cases, GCC emits code that assumes this
1711 alignment, which crashes if not aligned. The EFI firmware is also
1712 entitled to assume that stack alignment without checking.
1713
d53f4900
JT
17142013-11-18 Josh Triplett <josh@joshtriplett.org>
1715
1716 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
1717 4k page boundaries as expected by firmware rather than 1k
1718 boundaries.
1719 (grub_mmap_malign_and_register): Likewise.
1720
bb2b275b
VS
17212013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
1724 fragmentation 512M is enough.
1725
45bf8b3a
VS
17262013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
1729 pointer to 32K. This is the size of cache element which is the most
1730 common allocation >1K. This way the pointer is always around blocks
1731 of 32K and so we keep performance while decreasing fragmentation.
1732
39ff43c5
VS
17332013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
1736 current memory when allocating large chunks. This significantly
1737 decreases memory fragmentation.
1738
60870be8
CW
17392013-11-18 Colin Watson <cjwatson@ubuntu.com>
1740
1741 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
1742 but for symmetry).
1743 * tests/lzocompress_test.in: Skip if lzop is not installed.
1744 * tests/xzcompress_test.in: Skip if xz is not installed.
1745
a1f00cc5
CW
17462013-11-18 Colin Watson <cjwatson@ubuntu.com>
1747
1748 * util/grub-mkrescue.c (main): Fix typo.
1749
74e632fe
VS
17502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
1753 clock frequency to 200 MHz,
1754
efb8de49
VS
17552013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * tests/util/grub-shell.in: Increase console size to 1024x1024.
1758
b7526e78
VS
17592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * Makefile.am (default_payload.elf): Add pata to loaded modules.
1762 Load config file from (cbfsdisk)/etc/grub.cfg.
1763
b40ce651
VS
17642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * util/grub-install-common.c (grub_install_copy_files): Fix module
1767 destination directory.
1768
1e8e2e78
CW
17692013-11-18 Colin Watson <cjwatson@ubuntu.com>
1770
1771 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
1772 files have not been built.
1773
3bf4088b
CW
17742013-11-18 Colin Watson <cjwatson@ubuntu.com>
1775
1776 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
1777 Handle errors from mkstemp.
1778 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
1779
35c2851c
VS
17802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
1783 on primary master on pseries.
1784
ea7c1a7d
VS
17852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
1788 already loaded. This saves memory needed for tests,
1789
96adefdb
VS
17902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
1793 work again.
1794
5e3cb8a7
VS
17952013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
1798 work again.
1799
256ee7ac
VS
18002013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
1803 master since with some combinations of qemu and firmware only primary
1804 IDE channel is available.
1805
f8b4c3b6
VS
18062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
1809 low-memory platforms where we don't have enough memory for them.
1810 * grub-core/tests/videotest_checksum.c: Likewise.
1811
4bf70320
VS
18122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
1815 already loaded. This saves memory needed for tests,
1816
a284320e
VS
18172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 Fix handling of install lists.
1820
2df8f43d
VS
18212013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
1824
6f1bc8bc
VS
18252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 On i386-ieee1275 we run in paged mode. So we need to explicitly map
1828 the devices before accessing them.
1829
04f39f6d
VS
18302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
1833 as file argument.
1834
35d4761c
VS
18352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
1838
33d02a42
VS
18392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
1842 (grub_file_close): Free file->name.
1843
7bbb60cf
VS
18442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/commands/verify.c (free_pk): Plug memory leak.
1847 (grub_load_public_key): Likewise.
1848 (grub_verify_signature_real): Likewise.
1849 (grub_cmd_verify_signature): Likewise.
1850
da93d675
VS
18512013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
1854 memory leak.
1855
59c943ec
VS
18562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
1859 (grub_longjmp): Restore r31.
1860 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
1861
4336b5d8
VS
18622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
1865 modules to be in line with make_image_abs.
1866
44ce3a93
VS
18672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
1870
1871 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
1872
7d400406
IC
18732013-11-17 Ian Campbell <ijc@hellion.org.uk>
1874
1875 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
1876
77dae919
VS
18772013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
1880 to leave some memory to firmware.
1881
0ab8e025
VS
18822013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
1885 of loading gfxterm as gfxterm is embed in kernel on some platforms.
1886 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
1887 Load gfxmenu.
1888
b80c2d6d
VS
18892013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
1892 now needs full arguments.
1893
6aa6077b
VS
18942013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * util/grub-mkrescue.c (main): Add trailing \n in
1897 .disk_label.contentDetails to be in line with previous shell script.
1898
66c00cb1
VS
18992013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
1902
3a129dba
VS
19032013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * util/grub-install-common.c (grub_install_parse): Recognize
1906 --compress=none like shell script did.
1907
8df6eff6
VS
19082013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * include/grub/misc.h: Replace check for __sparc64__ with one for
1911 __sparc__ as __sparc64__ isn't actually defined.
1912
889ebe92
VS
19132013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
1916 counterpart of fixing the naming of escc ports.
1917
d4d55b29
VS
19182013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * util/grub-install-common.c (platforms): Fix the order of entries and
1921 remove useless field val.
1922
55e2c84f
VS
19232013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * util/grub-install.c: Add new option --no-bootsector to skip
1926 installing of bootsector. Accept --grub-setup=/bin/true as
1927 backwards-compatible synonym.
1928
cd46aa6c
VS
19292013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
1930
1931 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
1932 order of qsort arguments (number of elements vs. element size).
1933
19342013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
1937 the function of these files exceeds what can be sanely handled in shell
1938 in posix-comaptible way. Also writing it in C extends the functionality
1939 to non-UNIX-like OS and minimal environments.
1940
9ef81064
VS
19412013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
1944 compiling to thumb2.
1945 * grub-core/kern/arm/cache_armv7.S: Likewise.
1946 * grub-core/lib/arm/setjmp.S: Likewise.
1947
11a77932
LL
19482013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
1949
1950 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
1951 in grub_uboot_syscall
1952
080603f0
VS
19532013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Decrease stack usage in lexer.
1956
1957 We have only 92K of stack and using over 4K per frame is wasteful
1958
1959 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
1960 as macros so that compiler would remove useless structure on stack.
1961 Better solution would be to fix flex not to put this structure on
1962 the stack but flex is external program.
1963
4f84ae0e
VS
19642013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Decrease stack usage in signature verification.
1967
1968 We have only 92K of stack and using over 4K per frame is wasteful
1969
1970 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
1971 rather than stack.
1972 (grub_verify_signature_real): Likewise.
1973
e6a6182d
VS
19742013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 Decrease stack usage in mdraid 0.9x.
1977
1978 We have only 92K of stack and using over 4K per frame is wasteful
1979
1980 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
1981 rather than stack.
1982
1a454efe
VS
19832013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Decrease stack usage in BtrFS.
1986
1987 We have only 92K of stack and using over 4K per frame is wasteful
1988
1989 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
1990 rather than stack.
1991
7b5d51d8
VS
19922013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 Decrease stack usage in JFS.
1995
1996 We have only 92K of stack and using over 4K per frame is wasteful
1997
1998 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
1999 stack. Note: this function is recursive.
2000 (grub_jfs_read_inode): Read only part we care about.
2001
593865b9
LL
20022013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2003
2004 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2005 handling
7b5d51d8 2006
31c0cd43
AB
20072013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2008
2009 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2010
c2fdb331
AB
20112013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2012
2013 * docs/grub.texi (Environment): Document cmdpath.
2014
9e18dfe2
AB
20152013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2016
2017 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2018 Remove "unused" attribute from arguments, they are used.
2019
59ba9d14
CW
20202013-11-15 Colin Watson <cjwatson@debian.org>
2021
2022 * .gitignore: Only ignore grub-mk* at the top level.
2023
23012db9
CW
20242013-11-15 Colin Watson <cjwatson@ubuntu.com>
2025
2026 * util/grub-reboot.in (usage): Fix a typo.
2027
6fcec439
VS
20282013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Replace libgcc version of ctz with our own.
2031
2032 On upcoming arm64 port libgcc ctz* are not usable in standalone
2033 environment. Since we need ctz* for this case and implementation is
2034 in C we may as well use it on all concerned platforms.
2035
a9f25a08
VS
20362013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * configure.ac: Probe for linking format rather than guessing it based
2039 on target_os.
2040
c7995256
VS
20412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2044 "1" prior to handoff.
2045
2046 Reported by: M A Young.
2047
e1aa5b66
VS
20482013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2051 \0 to all files.
2052
2053 Reported by: M A Young.
2054
da5ed5cf
VS
20552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2058 compilation on NetBSD.
2059
5757a93e
VS
20602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * acinclude.m4: Don't add -P on initial nm test.
2063
2064 Note: even though this patch postdates Andrey's it bears 14 Nov as
2065 date due to timezone difference.
2066
a5986276
AB
20672013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2068
2069 * grub-core/Makefile.core.def (signature_test): Add missing
2070 tests/signatures.h.
2071
0de172a0
CW
20722013-11-14 Colin Watson <cjwatson@ubuntu.com>
2073
2074 * util/grub-install_header: Set localedir here, since this file is
2075 where it's used.
2076 * util/grub-install.in: Remove setting of localedir.
2077 * util/grub-mkrescue.in: Likewise.
2078
da45f43c
VS
20792013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2082
20aea949
VS
20832013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * configure.ac: Move nm checks to the end.
2086 Call grub_PROG_NM_WORKS.
2087 * acinclude.m4: New check grub_PROG_NM_WORKS.
2088 Use $TARGET_CFLAGS -c when compiling test binary.
2089
1326b9ae
CW
20902013-11-14 Colin Watson <cjwatson@ubuntu.com>
2091
2092 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2093 unused variables.
2094
1fe26ab4
MG
20952013-11-14 Matthew Garrett <mjg@redhat.com>
2096
2097 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2098 cmdpath to firmware directory.
2099
83e9c273
VS
21002013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2103 at the start of second iteration.
2104
ec525c18
VS
21052013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2108
93fcc7ad
VS
21092013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * Makefile.am (default_payload.elf): New target for easier coreboot
2112 build.
2113
57ffe934
VS
21142013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2117 clang (not necessarry with -no-integrated-as).
2118 * include/grub/symbol.h [__arm__]: Likewise.
2119
2312f06c
VS
21202013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * configure.ac: Use -no-integrated-as on arm with clang.
2123 * INSTALL: Mention ARM compilation with clang.
2124
2416415c
VS
21252013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2128 -mthumb-interwork.
2129
5da55172
CW
21302013-11-14 Colin Watson <cjwatson@ubuntu.com>
2131
2132 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2133 code for indirect block handling.
2134
2135 Saves 185 bytes on compressed image.
2136
da770328
PFS
21372013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2138
2139 Fix make clean.
2140
2141 * Makefile.am: Remove build-grub-* in make clean.
2142
f02e6b56
PFS
21432013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2144
2145 New files to gitignore.
2146
2147 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2148 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2149
035a26c1
LL
21502013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2151
2152 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2153
bc8a6137
LL
21542013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2155
2156 * .gitignore: fix rules for .dep* and add *.a post git migration
2157
6fe506b0
CW
21582013-11-13 Colin Watson <cjwatson@ubuntu.com>
2159
2160 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2161 to match INSTALL.
2162
81a2e438
CW
21632013-11-13 Colin Watson <cjwatson@ubuntu.com>
2164
2165 * grub-core/kern/misc.c: Don't redirect divisions in the
2166 GRUB_UTIL case.
2167 * include/grub/misc.h: Likewise.
2168
9b45c073
CW
21692013-11-13 Colin Watson <cjwatson@ubuntu.com>
2170
2171 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2172 systems that require checking the return value of write.
2173
11b2a9b7
CW
21742013-11-13 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2177 efibootmgr quiet when --debug is not used, rather than when it is.
2178
d743d22d
CW
21792013-11-13 Colin Watson <cjwatson@ubuntu.com>
2180
2181 * gentpl.py (define_macro_for_platform_dependencies): Remove
2182 first (and thus unused) of two definitions for this function.
2183 (platform_dependencies): Likewise.
2184
11da14b5
CW
21852013-11-13 Colin Watson <cjwatson@ubuntu.com>
2186
2187 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2188 functions, we only need to check this for the target, not the host.
2189 * configure.ac (grub_apple_cc): Likewise.
2190
2bdd0719
VS
21912013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2194 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2195 asm to stay in arm even if surrounding is thumb.
2196
5e77d9cf
VS
21972013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2200 helper functions are needed for thumb.
2201
7d511625
VS
22022013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2205 level / 3 division explicitly unsigned. Saves few bytes.
2206
81023dbd
VS
22072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2210
b2e9294f
VS
22112013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2214 division.
2215
16a22c38
VS
22162013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2219 grub_uboot_boot_data to asm part.
2220
c9cd02c9
VS
22212013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2224 literal load.
2225 (grub_uboot_syscall): Save/restore r9 and align stack.
2226
81498615
VS
22272013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2230
ea57de18
VS
22312013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2234 occurencies with END.
2235
d0d1e3da
CW
22362013-11-13 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * util/grub-editenv.c (help_filter, argp): Document how to delete
2239 the whole environment block.
2240 Reported by Dan Jacobson. Fixes Debian bug #726265.
2241
3809f016
CW
22422013-11-13 Colin Watson <cjwatson@ubuntu.com>
2243
2244 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2245 sectioning.
2246
46d8a203
JT
22472013-11-13 Josh Triplett <josh@joshtriplett.org>
2248
2249 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2250 increment/decrement.
2251
513eeb61
VS
22522013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2255 compiling with clang.
2256
bc379c1a
VS
22572013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2260 ".".
2261
22622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 2263
16057d6b
VS
2264 Redirect all divisions to grub_divmod64.
2265
f649a6a8
VS
22662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2269
ef28ee8b
VS
22702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 Add missing includes of loader.h.
2273
300f48c5
VS
22742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * configure.ac: Allow disabling themes.
2277
2d357558
LS
22782013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2279
2280 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2281
0c62a5b2
VS
22822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2285 until it becomes operational.
2286
b0720b49
VS
22872013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/Makefile.core.def (legacy_password_test): Disable
2290 on platforms where no legacycfg is compiled.
2291 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2292 load legacy_password_test.
2293
d5bab2c0
VS
22942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2297
3ea0ccb3
VS
22982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2301
08772054
VS
23022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2305 strict-aliasing warning.
2306 (fsync): Silence cast warning.
2307
1dcb2715
VS
23082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * grub-core/commands/verify.c: Remove variable length arrays.
2311 Load gcry_dsa/gcry_rsa automatically.
2312
61c22fdf
VS
23132013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/tests/signature_test.c: New test.
2316
431e57a7
VS
23172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2320 API.
2321
b521bb81
VS
23222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2325 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2326
7d06b24e
VS
23272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2330
3bbeade4
VS
23312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/fs/proc.c: Allow \0 in proc files.
2334
ba82db7a
VS
23352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2338
801564c8
VS
23392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2342
ac8cac1d
VS
23432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/fs/ext2.c: Remove variable length arrays.
2346
4b85f122
VS
23472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2350 length arrays.
2351
c35fcdc0
VS
23522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2355 * grub-core/disk/cryptodisk.c: Likewise.
2356 * grub-core/disk/geli.c: Likewise.
2357 * grub-core/disk/luks.c: Likewise.
2358
15decd26
VS
23592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/tests/legacy_password_test.c: New test.
2362 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2363
9c6482b8
VS
23642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2367
41f26e0e
VS
23682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/tests/pbkdf2_test.c: New test.
2371
2def6616
VS
23722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2375
9e34a34e
VS
23762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/io/lzopio.c: Remove variable length arrays.
2379
5ccaf904
VS
23802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * include/grub/crypto.h: Add maximums on hash size and cipher block
2383 size.
2384
44a387e0
VS
23852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2388
a388e255
VS
23892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/tests/xnu_uuid_test.c: New test.
2392
a1ef7718
VS
23932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2396 covers it).
2397
65ddb300
VS
23982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/commands/hashsum.c: Remove variable length arrays.
2401
31747dd5
VS
24022013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2405 condition.
2406 * tests/grub_func_test.in: Increase memory allocation.
2407
6a74c4df
VS
24082013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2411 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2412 sys/mount.h.
2413
394c3e0a
VS
24142013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2417 (grub_util_get_fd_size_os): ...this.
2418 (grub_hostdisk_flush_initial_buffer): New empty function.
2419
60d31116
VS
24202013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2423 without --defined-only.
2424
8445b011
VS
24252013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2428 rip-relative addressing in prologue.
2429
8506a641
VS
24302013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2433 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2434
66acd9d6
VS
24352013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2438 Add missing semicolon.
2439
348d0535
VS
24402013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2443
0d2d30bb
VS
24442013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * configure.ac: Check for lzma.h for enabling liblzma and allow
2447 manual disabling.
2448
631187be
VS
24492013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Add missing includes of loader.h.
2452
e756ec82
FZ
24532013-11-11 Fam Zheng <famcool@gmail.com>
2454
2455 * util/grub.d/30_os-prober.in: Add minix entry.
2456
87d62d7d
VS
24572013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
2460 right buffer for temporary load.
2461
5460cfeb
VS
24622013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
2465
89977306
VS
24662013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
2469 payload.
2470
3617c59b
VS
24712013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
2474 not Types.h.
2475 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
2476 environment.
2477 (LzmaDec_InitDicAndState): Make static.
2478
881c6a10
VS
24792013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2482
2024ade2
VS
24832013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
2486
2487 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
2488
674ad4f6
VS
24892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * docs/grub-dev.texi: Replace bzr references with git ones.
2492
5b99970e
AB
24932013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2494
2495 * docs/grub.texi (Simple configuration): Remove reference to
2496 grub-reboot from saved default entry description - grub-default
2497 does not use it anymore.
2498
3c2304d5
VS
24992013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * configure.ac: Make efiemu test cflags match the cflags efiemu is
2502 compiled with.
2503
80cfd940
AB
25042013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
2505
2506 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
2507
33690255
VS
25082013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Fix grub_machine_fini bitrot.
2511
2512 Reported by: Glenn Washburn.
2513
c61471fc
VS
25142013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
2517
54da019f
VS
25182013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
2521 -DELF.
2522 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
2523 instead of ELF*.
2524
25252013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
2526
2527 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
2528 Add -march=core2 when testing compile of efiemu64.
2529
2530 Thanks Andrey Borzenkov for spotting this.
2531
9612ebc0
VS
25322013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
2535 XEN PV environment and load kernels.
2536
1a46a3a4
VS
25372013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
2540 * grub-core/loader/multiboot_mbi2.c: Likewise.
2541
2df12551
VS
25422013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
2545 handling.
2546
3c980381
VS
25472013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
2550
2551 Tested by: Denis 'GNUtoo' Carikli.
2552
800f63d3
VS
25532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
2556
9f8acdaa
VS
25572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2558
5620eb53
VS
2559 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
2560 Use to get rounded angle rather than truncated.
2561
25622013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
2565 RTS/CTS flow control.
2566
2dc1eb6c
VS
25672013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
2570 divisions.
2571
b9563c94
VS
25722013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
2575 Use grub_fatal rather than divide by zero.
2576 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
2577
d6d8e9a9
VS
25782013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
2581 truncate.
2582 (grub_fixed_fsf_divide): Likewise.
2583
d06de6c8
VS
25842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
2587 division by-zero and senseless negative divisions.
2588
6af7d49b
VS
25892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
2592 division by-zero and senseless negative divisions.
2593 (circprog_set_property): Don't accept negative num_ticks.
2594
bcfa6d72
VS
25952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
2598 division by-zero and senseless negative divisions.
2599
dd7f792c
VS
26002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * configure.ac: Use elf_*_fbsd on kfreebsd.
2603
d061fda7
VS
26042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/tests/div_test.c: New test.
2607
4db22500
VT
26082013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2609
2610 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
2611 * grub-core/gfxmenu/gui_canvas.c: Likewise.
2612 * grub-core/gfxmenu/view.c: Likewise.
2613 * grub-core/video/fb/video_fb.c: Introduce new functions:
2614 grub_video_set_area_status, grub_video_get_area_status,
2615 grub_video_set_region, grub_video_get_region.
2616 * grub-core/video/bochs.c: Likewise.
2617 * grub-core/video/capture.c: Likewise.
2618 * grub-core/video/video.c: Likewise.
2619 * grub-core/video/cirrus.c: Likewise.
2620 * grub-core/video/efi_gop.c: Likewise.
2621 * grub-core/video/efi_uga.c: Likewise.
2622 * grub-core/video/emu/sdl.c: Likewise.
2623 * grub-core/video/radeon_fuloong2e.c: Likewise.
2624 * grub-core/video/sis315pro.c: Likewise.
2625 * grub-core/video/sm712.c: Likewise.
2626 * grub-core/video/i386/pc/vbe.c: Likewise.
2627 * grub-core/video/i386/pc/vga.c: Likewise.
2628 * grub-core/video/ieee1275.c: Likewise.
2629 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
2630 * include/grub/video.h: Likewise.
2631 * include/grub/video_fb.h: Likewise.
2632 * include/grub/fbfill.h: Updated render_target structure.
2633 grub_video_rect_t viewport, region, area
2634 int area_offset_x, area_offset_y, area_enabled
2635 * include/grub/gui.h: New helper function
2636 grub_video_bounds_inside_region.
2637 * docs/grub-dev.texi: Added information about new functions.
2638
c6b755df
VS
26392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
2642 for alignment.
2643
e2a68100
VS
26442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
2647 missing attribute.
2648 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
2649
c4f11a2a
VS
26502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
2653 simple division on arm and ia64.
2654
e0a7bffa
VS
26552013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
2658 link with libgcc.
2659
38b864ea
VS
26602013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
2663
12359faf
VS
26642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
2667 prefix symbol, not @.
2668
9fdc64a9
VS
26692013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * INSTALL: Add note about older gcc and clang.
2672
665c575b
VS
26732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
2676
47dcf7b1
VS
26772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
2680 NULL pointer dereference.
2681
d59849b2
VS
26822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
2685 clang.
2686
7a3f4a18
VS
26872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
2690 warnings.
2691
7f084087
VS
26922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
2695 function.
2696 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
2697 * grub-core/disk/geli.c (ascii2hex): Likewise.
2698
d5524ca8
VS
26992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * configure.ac: Run linker tests without -Werror.
2702 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
2703 Change all occurences of -static-libgcc resp -lgcc to
2704 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
2705
390cd7ca
VS
27062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
2709
60375a88
VS
27102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 Allow compiling with clang (not really supported though).
2713
2714 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
2715 unconditionally.
2716 * configure.ac: Add -no-integrated-as when using clangfor asm files.
2717 Add -mrtd -mregparm=3 on i386 when not using clang.
2718 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
2719
dd07e0c4
VS
27202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
2723 bindings.
2724 * grub-core/lib/reed_solomon.c: Likewise.
2725 * include/grub/i386/gdb.h: Likewise.
2726 * include/grub/i386/pc/int.h: Likewise.
2727 * include/grub/i386/pc/pxe.h: Likewise.
2728 * include/grub/ieee1275/ieee1275.h: Likewise.
2729
9d3ae8ec
VS
27302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 Import libgcrypt 1.5.3.
2733
c12936c5
VS
27342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * configure.ac: Don't add -Wcast-align on x86.
2737
cdc17f60
VS
27382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * configure.ac: Add -freg-struct-return on all platforms that
2741 support it.
2742
b35ec299
VS
27432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * acinclude.m4: Use -Werror on parameter tests.
2746 * configure.ac: Likewise.
2747
05f3a0d7
VS
27482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
2751
c966a489
VS
27522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * configure.ac: Check that -malign-loops works rather than assuming that
2755 either -falign-loops or -malign-loops work.
2756
bb0c57ec
VS
27572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * configure.ac: Remove -fnested-functions. We don't need it anymore.
2760
24f4e57c
VS
27612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * configure.ac: Prevent cflags leaking to subsequent tests by always
2764 resetting cflags to target_cflags in target tests.
2765
ac319fbc
VS
27662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
2769 function.
2770
4bfe934c
VS
27712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
2774
40a5bfde
VS
27752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
2778
a67c755e
VS
27792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/normal/cmdline.c (grub_cmdline_get):
2782 Remove nested functions.
2783
87a04a2d
VS
27842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * tests/test_sha512sum.in: Make it work on emu.
2787
c03995d2
VS
27882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
2791 functions.
2792 (grub_bidi_line_logical_to_visual): Likewise.
2793
ec0ebb3f
VS
27942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 Remove vestiges of -Wunsafe-loop-optimisations.
2797
2798 * conf/Makefile.common (CFLAGS_GNULIB): Remove
2799 -Wno-unsafe-loop-optimisations.
2800 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
2801 pragma.
2802 * grub-core/io/gzio.c: Likewise.
2803 * grub-core/script/parser.y: Likewise.
2804 * grub-core/script/yylex.l: Likewise.
2805 * util/grub-mkfont.c: Likewise.
2806
6ab537e3
VS
28072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * util/grub-mkfont.c (process_cursive): Remove nested function.
2810
e6c368d4
VS
28112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
2814 (grub_boot_time): Likewise.
2815
4f1cfd22
VS
28162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * include/grub/symbol.h (FUNCTION): Use @function rather than
2819 "function".
2820 (VARIABLE): Likewise.
2821
6d5a4cee
VS
28222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
2825
f06c2172
VS
28262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
2829 (parse_dhcp_vendor): Likewise.
2830
7cb24eb5
VS
28312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2834
f30c692c
VS
28352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/gettext/gettext.c (main_context), (secondary_context):
2838 Define after defining type and not before.
2839
8b66bb5d
VS
28402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
2843 type.
2844 (grub_gcm_decrypt): Likewise.
2845 (algo_decrypt): Likewise.
2846 (grub_zfs_decrypt_real): Transform error type.
2847
5d17fd0f
VS
28482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
2851
ac35a0f7
VS
28522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
2855 (grub_usbms_cbi_reset): Likewise.
2856 (grub_usbms_bo_reset): Likewise.
2857 (grub_usbms_reset): Likewise.
2858 (grub_usbms_attach): Likewise.
2859 (grub_usbms_transfer_cbi): Likewise.
2860
3ee08697
VS
28612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
2864 "checksum = checksum;".
2865
70bb6c85
VS
28662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
2869 entry_type.
2870
c7f34744
VS
28712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
2874 BIOS disk check.
2875
3f63b4d8
VS
28762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
2879 type.
2880 (grub_ehci_fini_hw): Likewise.
2881 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2882
dac6ce73
VS
28832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
2886 return grub_usb_err_t for cosistency. All users updated.
2887
5701750c
VS
28882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
2891 assigning to itself.
2892
9e236169
GLD
28932013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
28942013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2895
2896 Issue separate DNS queries for ipv4 and ipv6
2897
2898 Adding multiple questions on a single DNS query is not supportted by
2899 most DNS servers. This patch issues two separate DNS queries
2900 sequentially for ipv4 and then for ipv6.
2901
2902 Fixes: https://savannah.gnu.org/bugs/?39710
2903
2904 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
2905 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
2906 * (grub_net_dns_lookup): Now using separated dns packages.
2907 * (grub_cmd_nslookup): Add error condition.
2908 * (grub_cmd_list_dns): Print DNS option.
2909 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
2910 --prefer-ipv4, and --prefer-ipv6.
2911 * include/grub/net.h (grub_dns_option_t): New enum.
2912 * (grub_net_network_level_address): option added.
2913
339eacce
VT
29142013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
2915
2916 * grub-core/video/fb/video_fb.c: Merge two blit functions
2917 into one.
2918
810f991b
VS
29192013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/term/terminfo.c: Add sequences for home and end.
2922
386571a2
VS
29232013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
2926 graphics console.
2927
3fe63754
VS
29282013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
2931 add mode 0x12.
2932
76681e71
VS
29332013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
2936 e-mail by Per Öberg.
2937
46522fb7
VS
29382013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
2941 name.
2942
e7d09ac4
AB
29432013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
2944
2945 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
2946 emu platforms.
2947 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
2948
67508925
VS
29492013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * docs/grub.texi: Document usage of menuentry id.
2952
0c62124e
VS
29532013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
2956
9b5d4eed
PL
29572013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
2958
2959 * grub-core/commands/i386/nthibr.c: New command.
2960
79054c1d
VS
29612013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
2964
44d47bbe
VS
29652013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
2968 coordinate.
2969
323de05b
VS
29702013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Support GRUB_DISABLE_SUBMENU config.
2973
2974 Inspired by patch from Prarit Bhargava.
2975
5a01722e
VS
29762013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * docs/grub.texi: Mention RSA support.
2979
1106c3f0
VS
29802013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/commands/verify.c: Add RSA support.
2983
a1dcc2cb
VS
29842013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
2987 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
2988 device is known to be ATAPI.
2989
ee7fb780
MF
29902013-11-03 Mike Frysinger <vapier>
2991
2992 * configure.ac: Don't add target-prefix.
2993
5ade4a42
VS
29942013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
2997 variables.
2998
6cd66043
VS
29992013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3002 if language is English.
3003
090d7c81
VS
30042013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3007
dd614590
VS
30082013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * configure.ac: Don't add -m32/-m64 on emu.
3011
a8686589 30122013-11-02 neil
3013
3014 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3015 broken linux headers.
3016
fb9f12a0
VS
30172013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3020
e25f8e1f
VS
30212013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3024 Reed-Solomon recovery if more than half of redundancy info is 0.
3025
4685200f
VS
30262013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * util/grub-mount.c: Handle symlinks to directories.
3029
1397f0b5
VS
30302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3033 find_file recursively for symlink.
3034
8b3e6eb6
VS
30352013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * tests/util/grub-shell.in: Copy themes.
3038
a0c9d5c6
VS
30392013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3042
5cf9459c
VS
30432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * configure.ac: Use 0x8000 for address instead of 8000.
3046
e7b66a28
VS
30472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3050 signature.
3051
203f53fb
VS
30522013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3055 variable.
3056
02663ee9
VS
30572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3060
f169f65e
VS
30612013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3064 file_progress_read_hook.
3065 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3066
2855a0fc
VS
30672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3070 and double.
3071
bf0f3a8c
VS
30722013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3075
cb72aa18
VS
30762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Rewrite blocklist functions in order to get progress when
3079 reading large extents and decrease amount of blocklist hook calls.
3080
896f9135
VS
30812013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3084 of SI suffixes.
3085
89295a06
VS
30862013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Support --base-clock for serial command to handle weird cards with
3089 non-standard base clock.
3090
eb03ede0
VS
30912013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3094 strncpy.
3095 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3096 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3097 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3098 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3099 + strcpy rather than strncpy.
3100
8fbe5c7d
VS
31012013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3104 (check_pool_label): Likewise. Fixes overflow.
3105 (nvlist_find_value): Fix comparison.
3106
e54b8f53
VS
31072013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3110 more appropriate functions.
3111
fa9b3dca
VS
31122013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3115 realloc.
3116
9a021c55
VS
31172013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3120
80e8b13a
VS
31212013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3124 on core size.
3125
b61599ac
VS
31262013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3129
a602dc54
VS
31302013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3133 (initialize_tables): reset tl and td to NULL after freeing.
3134
93c12075
VS
31352013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3138
1ca4b75e
VS
31392013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3142 of supported tags.
3143
329550c4
VS
31442013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3147
00bfa988
VS
31482013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3151 quirks.
3152
81afc5cc
VS
31532013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3156 a page in protected space.
3157
cb3c4a47
VS
31582013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3161 allocate space for zero-sized modules.
3162
954f7bf5
VS
31632013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3166
526d3d25
FL
31672013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3168
3169 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3170
74124c34
VS
31712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3174 safeguards. Fixes a crash with i386/pc/console.c.
3175
5177391e
VS
31762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3179 and grub_hostfs_init.
3180
64db14b0
VS
31812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3184 windows method on other platforms without good stat as well.
3185
effe2036
VS
31862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3189
82591fa6 31902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3191
82591fa6
VS
3192 Make / in btrfs refer to real root, not the default volume.
3193 Modify mkrelpath to work even if device is mounted with subvolid option.
3194
31952013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3196
3197 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3198 extra_dist.
3199 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3200 extra_dist.
3201
30fd7198
VS
32022013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3205 fails.
3206
8d179dae
BC
32072013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3208
3209 * docs/autoiso.cfg: New file.
3210
3bc9c8cf
VS
32112013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3214 COND_GRUB_PE2ELF conditions.
3215
8b46b0ea
VS
32162013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3219 "vnd", "rd" and "fd" disks.
3220
442b86de
VS
32212013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 Move grub_disk_write out of kernel into disk.mod.
3224
04dea7e6
VS
32252013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3228 handling.
3229
32302013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3231
3232 * grub-core/kern/misc.c (grub_abort): Make static
3233
04dea7e6 32342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3235
3236 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3237 transform invalid unicode codepoints.
3238
04dea7e6 32392013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3240
3241 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3242 \0 checking.
3243
03dcac7f
VS
32442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3247
c81acb7f
VS
32482013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 Consolidate cpuid code.
3251
c1bee646
VS
32522013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Move cpuid code to cpuid.h and TSC code to tsc.c.
3255
f37bf9c7
GS
32562013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3257
3258 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3259
4021132b
GS
32602013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3261
3262 * util/grub-mkconfig.in: Replace $0 with $self.
3263 * util/grub-reboot.in: Likewise.
3264 * util/grub-set-default.in: Likewise.
3265
3ace8d75
BC
32662013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3267
3268 * docs/osdetect.cfg: New file.
3269
1e6ad6a6
BC
32702013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3271
3272 * tests/util/grub-shell.in: Add new --debug option.
3273
188929eb
BC
32742013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3275
3276 * tests/test_unset.in: New test.
3277
7994a09a
BC
32782013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3279
3280 * tests/test_sha512sum.in: New test.
3281
2a8a7585
VS
32822013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3285 * include/grub/misc.h: Remove strncat.
3286 * grub-core/lib/posix_wrap/string.h: Likewise.
3287
cf8d6bbd
VS
32882013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3291 Try to handle more than 0xFFFF packets.
3292 Reported by: Bernhard Übelacker <bernhardu>.
3293 He also spotted few overflows in first version of this patch.
3294
6d1fc99a
VS
32952013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * tests/date_unit_test.c: New test.
3298
10bafa1c
VS
32992013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3302 of first three years after start of validity of unixtime.
3303
b1c6d037
VS
33042013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3307 division as the one making more sense.
3308 (update_screen): Likewise.
3309 (complete): Likewise.
3310
5f4028d4
VS
33112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3314
a2856736
VS
33152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Make char and string width grub_size_t rather than grub_ssize_t.
3318
0a7e52b2
VS
33192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3322 unsigned.
3323 (grub_history_replace): Likewise.
3324
42829573
VS
33252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3328 appropriate.
3329
3523b8d8
VS
33302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3333 appropriate.
3334
d43c6489
VS
33352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3338 Use unsigned divisions rather than signed variants.
3339
f690f8b0
VS
33402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3343 unsigned arithmetics.
3344 Add missing break.
3345
74ff2c05
VS
33462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3349
fb56391e
VS
33502013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3353 rather than signed one.
3354 (recovery): Likewise.
3355
40f29060
VS
33562013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3359
c64577a5
VS
33602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3363 than signed.
3364
c16535a8
JM
33652013-10-25 Jon McCune <jonmccune@google.com>
3366
3367 * docs/grub.texi: Cleanup security documentation around signatures.
3368
6673d8e7
VS
33692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3372
a105d375
VS
33732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3376 than int.
3377
af81ed88
VS
33782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3381 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3382 functions when compiling for kernel.
3383
ea899a57
VS
33842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3387 unsigned long long when using %llu.
3388
c6dc6fa1
VS
33892013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3392 terminal after updating progress.
3393
ad2dc003
VS
33942013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3397 argument. We don't disable Gate A20 in this code.
3398
b46684ae
VS
33992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3402 Conceptually based on change in branch "vbe-on-coreboot".
3403
f70d5c07
RM
34042013-10-24 Robert Millan <rmh@gnu.org>
3405
3406 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3407 numeric constants with their symbolic equivalent.
3408 Taken from branch "vbe-on-coreboot".
3409
bca274b4
VS
34102013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3413
238f0489
VS
34142013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3417 divmod64 for offset division.
3418
863c590b
PFS
34192013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3420
3421 Rename .bzrignore to .gitignore. Add "*.o" rule.
3422
3423 * .bzrignore: Renamed to...
3424 * .gitignore: ...this.
3425
84a0e969
PFS
34262013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3427
3428 Add new progress module that displays the load progress of files.
3429
3430 * grub-core/lib/progress.c: New file.
3431 * grub-core/Makefile.core.def (progress): New module.
3432 * grub-core/kern/file.c (grub_file_open): File name added.
3433 * (grub_file_read): Progress hook added.
3434 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3435 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3436 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3437 * include/grub/file.h (struct grub_file): Add progress module members.
3438 * include/grub/term.h (struct grub_term_output): Likewise.
3439 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3440 Terminal velocity added.
3441 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3442 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3443 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3444 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3445 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3446 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3447 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3448 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3449 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3450 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3451 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3452 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
3453
0d711431
VS
34542013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Verify signatures of signatures unless --skip-sig is specified.
3457
f8401f76
VS
34582013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3461 \0 checking.
3462
3463 Saves 70 bytes on compressed image.
3464
ac1feb61
VS
34652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
3468 check.
3469
3470 Saves 10 bytes on compressed image.
3471
00f72e89
VS
34722013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/kern/misc.c (grub_isprint): Move to ...
3475 * include/grub/misc.h (grub_isprint): ... here. Make inline.
3476
3477 Saves 20 bytes on compressed image due to remving exporting.
3478
067e6ae7
VS
34792013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
3482
3483 Saves 5 bytes on compressed image.
3484
64a6c791
VS
34852013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
3488 function get_utf8.
3489
3490 Saves 379 bytes on compressed image.
3491
979d9f52
VS
34922013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
3495
1437da54
VS
34962013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
3499
3500 Saves 40 bytes on compressed image.
3501
d9ee2269
VS
35022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
3505 mask rather than 64-bit type.
3506
3507 Saves 20 bytes on compressed image.
3508
63efa602
VS
35092013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
3512 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
3513
47601ffe
VS
3514 Saves 273 bytes on compressed image.
3515
2cc679ad
VS
35162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
3519 variable length arrays.
3520
3521 Saves 50 bytes on compressed image.
3522
2e4659b8
VS
35232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3526
2a40badf
VS
35272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/fs/ufs.c: Remove variable length arrays.
3530
1ba6b9b9
VS
35312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
3534
f3e39341
VS
35352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/fs/zfs.c: Remove variable length arrays.
3538 Reduces zfs.mod by 160 bytes (208 compressed).
3539
71523935
VS
35402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
3543
28153eb8
VS
35442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/net/arp.c: Remove variable length arrays.
3547 * grub-core/net/bootp.c: Likewise.
3548 * grub-core/net/dns.c: Likewise.
3549 * grub-core/net/icmp6.c: Likewise.
3550 * grub-core/net/net.c: Likewise.
3551
88ce4cd7
VS
35522013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/fs/ntfs.c: Remove variable length arrays.
3555 Increases ntfs.mod by 64 bytes (but decreases by 3 when
3556 compressed).
3557
66123940
VS
35582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/fs/hfs.c: Remove variable length arrays.
3561 Reduces hfs.mod by 8 bytes (52 compressed).
3562
0927e5bd
VS
35632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 3566 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
3567 compressed).
3568
9c12ac97
VS
35692013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 3572 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
3573 compressed).
3574
97ec2d71
VS
35752013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 3578 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
3579 compressed).
3580
156e4ea0
VS
35812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/fs/xfs.c: Remove variable length arrays.
3584 Reduces xfs.mod by 40 bytes (43 compressed).
3585
3b502c29
VS
35862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/fs/fshelp.c: Remove variable length arrays.
3589 Reduces fshelp.mod by 116 bytes (23 compressed).
3590
c7037f1d
VS
35912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/normal/completion.c: Remove variable length arrays.
3594 * grub-core/normal/menu_entry.c: Likewise.
3595
3596 Reduces normal.mod by 496 bytes.
3597
a07e6ad0
VS
35982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
3601 by 356 bytes (158 compressed).
3602
2359bf88
VS
36032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
3606 by 364 bytes (169 compressed).
3607
d28e1163
VS
36082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
3611 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
3612 * include/grub/types.h (grub_unaligned_uint64_t): New type.
3613
e89c2d48
VS
36142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
3617 bitmasks to small structures of size chosen to fit in registers.
3618
7abdac8e
VS
36192013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * conf/Makefile.common: Use -freg-struct-return on i386. This
3622 decreases code size and improves performance.
3623
518864c0
VS
36242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
3627
bbd2b539
VS
36282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
3631 "(null)" string.
3632 Simplify expressions to save around 256 bytes in kernel.img.
3633 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
3634
99519c15
VS
36352013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
3638 Use GRUB_UTIL_FD_O_* rather than O_*.
3639
20285765
VS
36402013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Add haiku-specific functions.
3643
887c0bb6
VS
36442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
3647
cd78a56f
VS
36482013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 Move stat () and device mode checking into OS-dependent files as
3651 long as performance doesn't suffer.
3652
a4012f07
VS
36532013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Split make_system_path_relative_to_its_root into separate file
3656 relpath.c from getroot.c as it's common between unix and haiku
3657 but otherwise haiku doesn't use any functions from unix getroot.c.
3658
31de274d
VS
36592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
3662 New function.
3663 (grub_util_is_special_file): Likewise.
3664
40346de6
VS
36652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
3668 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
3669
d3923ab9
VS
36702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
3673 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
3674
663f6eb1
VS
36752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
3678 (load_image): Likewise.
3679
44d1c20a
VS
36802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * util/grub-render-label.c: Move backend part to ...
3683 * util/render-label.c: ... here.
3684
d0a116ee
VS
36852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
3688 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
3689
b47fcae6
VS
36902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
3693
0f7c00c1
VS
36942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
3697 CD-ROM in case when it's declared as having subpartitions.
3698
29013cba
VS
36992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Don't add -lm on haiku.
3702
3703 * configure.ac: Define BUILD_LIBM to -lm on most platforms
3704 and empty on haiku.
3705 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
3706 -lm.
3707
e8559d24
VS
37082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * configure.ac: Use -melf_*_haiku as target on haiku.
3711
8104063c
VS
37122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * Makefile.util.def: Add util/setup.c to extra_dist.
3715
fc3182c7
VS
37162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
3719 unknown types through.
3720
f90a3cc0
VS
37212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
3724 (grub_util_check_char_device): Likewise.
3725 * include/grub/emu/getroot.h: Likewise.
3726
1e3e7419
VS
37272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
3730 memset rather than inline static function.
3731
92c88fc8
VS
37322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
3735 not doing embedded decompressor.
3736
3cd910a2
VS
37372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
3740 shadowing.
3741 * grub-core/kern/disk.c: Likewise.
3742 * grub-core/kern/misc.c: Likewise.
3743 * include/grub/parser.h: Likewise.
3744 * include/grub/script_sh.h: Likewise.
3745 * include/grub/zfs/zfs.h: Likewise.
3746
7b3aca00
VS
37472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
3750
97dfe7e4
VS
37512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
3754 defined before trying to use it.
3755
bf919aa9
VS
37562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
3759 warning.
3760
f4ccf29d
VS
37612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
3764 Use __unused__ rather than __used__ on gcc < 3.2.
3765
0d3a6f85
VS
37662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
3769 gcc < 4.0.
3770 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
3771
757e3eb7
VS
37722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
3775
fb320faf
VS
37762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
3779 * include/grub/emu/misc.h: Likewise.
3780
ea73acd2
VS
37812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
3784 cur_color.
3785
71237a6f
VT
37862013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
3787
3788 * grub-core/tests/checksums.h: Regenerated due to progress bar
3789 get_minimal_size changes.
3790
3d46c22f
BC
37912013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
3792
3793 Added `tr' command support.
3794
3795 * grub-core/commands/tr.c: New file.
3796 * grub-core/Makefile.core.def: Build rules for new module.
3797
3798 * tests/grub_cmd_tr.in: New test.
3799 * Makefile.util.def: Build rules for new test.
3800
47e0a61f
VT
38012013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3802
3803 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
3804
946fd073
VT
38052013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3806
3807 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
3808 * docs/gurb.texi: Likewise.
3809
9c13c576
VT
38102013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3811
3812 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
3813 Pixmap highlighted section with east and west slices was displayed
3814 incorrectly due to negative width of the central slice.
3815
ad543f12
VT
38162013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
3817
3818 * docs/grub.texi: Graphical options information update.
3819 Removed outdated. Updated current. Inserted missed.
3820
6176a0cd
VS
38212013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * docs/grub.texi: Mention few new platform-specific commands.
3824
9688cae2
VS
38252013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
3828 currently used so this doesn't really have any effect.
3829 Reported by: Douglas Ray <dougray>
3830
f7b69a3f
VS
38312013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
3834 compilation but prevents gcc from displaying messages in non-Latin
3835 alphabets.
3836 * conf/Makefile.common: Likewise.
3837
ceca6ddf
HY
38382013-10-16 Hiroyuki YAMAMORI
3839
3840 Handle Japanese special keys.
3841 Reported by: Hiroyuki YAMAMORI.
3842 Codes supplied by: Hiroyuki YAMAMORI.
3843
ac48d334
VT
38442013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3845
3846 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
3847
b2b71bff
VT
38482013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
3849
3850 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
3851 * docs/grub.texi: Likewise.
3852
669fc449
VS
38532013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
3856 value in case of incomplete read.
3857 (grub_util_fd_write): Likewise.
3858
59381678
VS
38592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
3862
bacfefbb
VS
38632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * util/grub-editenv.c (create_envblk_file): More from here ...
3866 * util/editenv.c (grub_util_create_envblk_file): ... to here.
3867
f7c49570
VS
38682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
3871 canonicalize file name before doing the rest.
3872
7b83ca44
VS
38732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
3876 mingw32.
3877
df1e64c9
VS
38782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Define grub_util_is_directory/regular/special_file and
3881 use OS-dependent versions rather than to rely on stat().
3882
ec16e026
VS
38832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * util/grub-mkimage.c: Move backend part to ...
3886 * util/mkimage.c: ... here.
3887
4b4eeb3c
VS
38882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Allow compilation with mingw64 albeit with warnings due to lack of
3891 %llx/%llu.
3892
3893 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
3894 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
3895 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
3896 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
3897 on mingw64.
3898 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
3899
f4e0adc0
VS
39002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Remove leftover references to some of the system headers.
3903
e0127364
VS
39042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
3907 read.
3908
20d53541
VS
39092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
3912 of strerror.
3913
5a869940
VS
39142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 Split out blocklist retrieving from setup.c to
3917 grub-core/osdep/blocklist.c and add windows implementation since
3918 generic version doesn't work on NTFS on Windows due to aggressive
3919 unflushable cache.
3920
c06c7520
VS
39212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
3924 files.
3925
8f53bb3f
VS
39262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
3929 Cut tailing newline. Remove arbitrary limitation. Always use
3930 grub_util_tchar_to_utf8.
3931
148f1007
VS
39322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
3935 * tests/printf_unit_test.c (printf_test): Add %% tests.
3936 Reported by: Paulo Flabiano Smorigo.
3937
af3b06be
VS
39382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
3941 implement fsync.
3942
27f9d02e
VS
39432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * configure.ac: Check for nvlist_lookup_string in nvpair since we
3946 use nvlist_lookup_string and don't use nvlist_print.
3947
f6a81f0a
VS
39482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Add wrappers around rename, unlink, mkdir, opendir, readdir and
3951 closedir to handle filename charset translation.
3952
d7750b32
VS
39532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * include/grub/emu/hostdisk.h: Move file operations to
3956 * include/grub/emu/hostfile.h: ... here.
3957
2859196e
VS
39582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
3961 unicode path.
3962
c018c968
VS
39632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
3966
7e45abce
VS
39672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
3970 and remove export.h.
3971
23934da2
VS
39722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/kern/emu/error.c: Removed.
3975 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
3976 explicitly as it's already in libgnu.a.
3977
c11ebcc8
VS
39782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
3981 config-util.h include.
3982
70671037
VS
39832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Split emunet into platform-dependent and GRUB-binding parts. Keep
3986 platform-dependent part in kernel for easy access to OS functions.
3987
25ac643a
VS
39882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
3991 open/read/write.
3992
69ca5876
VS
39932013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/osdep/windows/emuconsole.c: New file.
3996
d9d68ef0
AB
39972013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
3998
3999 * conf/Makefile.extra-dist: Add osdep/*/init.c
4000
58e211cc
VS
40012013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4004
588744d0
VS
40052013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * util/grub-probe.c (probe): Separate different drives in hint-str
4008 by spaces and not newlines.
4009 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4010
44016e52
AB
40112013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4012
4013 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4014 Handle CD-ROMs.
4015
6de9ee86
VS
40162013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 Pass-through unknown E820 types. It required reorganisation of mmap
4019 module.
4020
f8f3f155
AB
40212013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4022
4023 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4024
b73249d2
VS
40252013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4028 fseeko.
4029
dac86b18 40302013-10-14 qwertial <qwertial>
4031
4032 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4033
17614b84
JM
40342013-10-14 Jon McCune <jonmccune@google.com>
4035
4036 * docs/grub.texi: Document new signatures possibility.
4037
6de292cb
VS
40382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4041
84379b61
VS
40422013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4045 missing prototype.
4046 (grub_util_tchar_to_utf8): Likewise.
4047
21d85db1
VS
40482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4051 * grub-core/kern/emu/main.c: Add missing include.
4052 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4053 Don't call grub_util_init_nls.
4054 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4055 Likewise.
4056
66a1b3ee
VS
40572013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4060 stat.
4061
e19bec17
VS
40622013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4065
ee8c1b29
VS
40662013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4069
bb338aaf
VS
40702013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Add a wrapper for fopen. On unix-like systems just pass-through. On
4073 windows use unicode version.
4074
ae5540d3
VS
40752013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Move set_program_name and init_nls to host_init. On windows
4078 fix in this fuction console and argument charset as well.
4079
4cd3c4fe
AB
40802013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4081
4082 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4083 GRUB_ENABLE_CRYPTODISK.
4084
4085 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4086 GRUB_ENABLE_CRYPTODISK.
4087 * util/grub-mkconfig_lib.in: Likewise.
4088
78170f3e
CCZ
40892013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4090
4091 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4092
3414b6c0
MC
40932013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4094
4095 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4096 error when enabling debug.
4097
6d0740e8
IB
40982013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4099
4100 * configure.ac: Use -melf_*_obsd on openbsd.
4101
ff2d4dc4
VS
41022013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4105
eac6ae82
VS
41062013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * include/grub/misc.h: Use gnu_printf rather than printf as format
4109 template since our functions are independent of libc.
4110
ba9baabe
VS
41112013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * util/grub-setup.c (setup): Move copying of partition table as
4114 futher up as possible to avoid possible overwrite by floppy routines.
4115
41162013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
4117
4118 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4119
145e2369
VT
41202013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4121
4122 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4123 * docs/grub.texi: Likewise.
4124
3530bc9d
VS
41252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4128 it's mostly unused. Move vestiges to the callers.
4129
fb9f59c3
VS
41302013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4133 version of salt and hash. Use grub_snprintf rather than snprintf.
4134
9be1c255
VS
41352013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * docs/grub.texi: Fix problem with braces.
4138
ed8c0887
VS
41392013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * conf/Makefile.extra-dist: Fix extra-dist list.
4142 * grub-core/Makefile.core.def: Likewise.
4143
f72ab14e
VS
41442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * docs/grub.texi: Document disk names used on Windows and AROS.
4147
2fe53a22
VS
41482013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4151 with AROS devs.
4152 * grub-core/osdep/aros/hostdisk.c: Likewise.
4153
71c1d67a
VS
41542013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 Avoid including hostfile.h when not necessarry as it pulls
4157 in OS-specific headers which may redefine generic names
4158 like "far".
4159
ad297ec7
VT
41602013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4161
4162 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4163 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4164 scrollbar_bottom_pad
4165 * docs/grub.texi: Likewise.
4166
6e9e5dc9
VT
41672013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4168
4169 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4170
761c718b
VS
41712013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4174
37149a2f
VS
41752013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4178 Removed.
4179 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4180 Made static.
4181
3837a151
VS
41822013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4185 leftover.
4186
caca1c70
VS
41872013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Move OS-specific driver configuration to grub_util_fd_open. This
4190 moves OS-dependent parts from kern/emu/hostdisk.c to
4191 grub-core/osdep/*/hostdisk.c.
4192
f7676b70
VS
41932013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * util/grub-mkimage.c (generate_image): Use size_t instead of
4196 grub_size_t.
4197 * util/grub-mkimagexx.c (locate_sections): Likewise.
4198 (load_image): Likewise.
4199
22f98db2
VS
42002013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4203 size_t.
4204 (grub_util_write_image): Likewise.
4205
b102ce69
VS
42062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4209 get random when no RNG is available.
4210 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4211
acbbe5cb
VS
42122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * include/grub/util/lvm.h: Removed.
4215
2112fb3f
VS
42162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4219 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4220
79f78fbf
VS
42212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4224
c2e6f705
VS
42252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4228
aabe433a
VS
42292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/net/drivers/emu/emunet.c: Move to ..
4232 * grub-core/osdep/linux/emunet.c: ..here.
4233
9a2c903f
VS
42342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * util/ieee1275/ofpath.c: Move to ...
4237 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4238 * grub-core/osdep/basic/ofpath.c: ..here.
4239
4a445f58
VS
42402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 Move password-querying (util-version) routines to grub-core/osdep.
4243
c1ca4244
VS
42442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 Move sleep routines to grub-core/osdep.
4247
672fa55e
VS
42482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 Move OS-dependent files to grub-core/osdep and document it.
4251
a5b0365a
VS
42522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4255 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4256
29072e99
VS
42572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4260
f8772ea7
VS
42612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/misc.c: Remove leftover inclusion of malloc.h.
4264
a1a315e7
VS
42652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * include/grub/setjmp.h: Remove leftover GRUBOF.
4268
cef86fef
VS
42692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 * util/raid.c: Fold into ...
4272 * util/getroot_linux.c: ... here. Make all functions static.
4273
c4cf25ee
VS
42742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4277 macros to GRUB ones.
4278
53a5f5c2
VT
42792013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4280
4281 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4282 occasional bug. If there are too many boot entries or too low
4283 scrollbar height then we need to use another formula to calculate
4284 the position and size of the scrollbar thumb.
4285
de300af2
VS
42862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4287
c4cf25ee 4288 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 4289
c5827364
VT
42902013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4291
4292 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4293 * docs/grub.texi: Likewise.
4294
dd2ed8b0
VT
42952013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4296
4297 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4298 viewport.
4299
7286c384
VT
43002013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4301
ffdfc1f3
VT
4302 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4303 minimal width calculations.
7286c384 4304
ea547e14
VS
43052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * docs/grub.texi: Update note on colors on emu console.
4308
b726be76
VS
43092013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4312 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4313 it's FS and not GRUB limitation.
4314
a5f6ade6
VS
43152013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4318
3b0f3aa2
VS
43192013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4322
1db38304
ST
43232013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4324
4325 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4326 kernels by version order.
4327
fb295fc0
VS
43282013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4331
47345010
VS
43322013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 Add AROS hostdisk and getroot routines.
4335
bf25f879
VS
43362013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Make cryptodisk and diskfilter probe data retrievable programmatically
4339 and not just printable.
4340
24ca4512
VS
43412013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 Split random retrieving code into separate files.
4344
c7c177f0
VS
43452013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4348 R_ARM_V4BX.
4349
d71b45ae
VS
43502013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4353 condition.
4354 * grub-core/tests/fake_input.c: Likewise.
4355 * grub-core/tests/cmdline_cat_test.c: Likewise.
4356
e44b9a83
VS
43572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/video/capture.c: Do not do finalization when .fini
4360 is called as there is explicit capture_end.
4361
4fa60739
VS
43622013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4365 changing windows to avoid crash.
4366
17c8bc37
VS
43672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4370
9d4d7977
VS
43712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * po/exclude.pot: Add several strings to exclude.
4374
0caa407c
VS
43752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4378
9ae393da
VS
43792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4382 ./util/grub-gen-asciih.c to exclude list.
4383
498d5033
VS
43842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4387 and don't mark error strings for translation.
4388
7d93298f
VS
43892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4392 properly in case of missing block size.
4393
b2cae20c
VS
43942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/lib/arm/setjmp.S: Add missing license section.
4397
3896d6b4
VS
43982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * po/swiss.sed: Add replacement for key names and for term computer.
4401
ebc1da55
VT
44022013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4403
4404 * grub-core/gfxmenu/theme_loader.c: New global options for the
4405 theme background image handling. desktop-image-scale-method,
4406 desktop-image-h-align, desktop-image-v-align.
4407 * grub-core/gfxmenu/view.c: Likewise.
4408 * include/gfxmenu_view.h: Likewise.
4409 * include/bitmap_scale.h: Proportional scale functions introduced.
4410 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4411 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4412 cases of unexpected input variables for scale functions.
4413 * docs/grub.texi: Updated documentation for new options.
4414
c5739143
VS
44152013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4418
be74aeb3
VT
44192013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4420
4421 * grub-core/tests/checksums.h: Corrected due to changes in
4422 bilinear interpolation function.
4423
d999ac72
VT
44242013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4425
4426 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4427 to eliminate artefacts in bilinear interpolation.
4428
2b131610
VS
44292013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/video/readers/tga.c: Support paletted tga.
4432
de6e5ff8
VS
44332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4436 incorrect cbcr setting when in color mode.
4437
fa31ee9c
VS
44382013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/video/readers/png.c: Support paletted images and clean up
4441 greyscale support.
4442
e84f8188
VS
44432013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4446 usage of wrong table which resulted in mishandling of 4-byte
4447 sequences.
4448
44492013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
4450
4451 * grub-core/term/terminfo.c: Add Home and End key sequences.
4452
d72bff09
VS
44532013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/video/readers/png.c (grub_png_decode_image_header):
4456 Fix formula for computing total number of bytes.
4457
29648c5d
VS
44582013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
4461 image processing, fix big-endian and support grayscale.
4462
4a876492
VS
44632013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
4466 Correctly will with maximum transparency when using index color.
4467
3ccf16df
VS
44682013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/video/readers/png.c: Support grayscale
4471
44722013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
4473
4474 * grub-core/video/readers/jpeg.c: Support grayscale.
4475
3ccf16df 44762013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
4477
4478 * grub-core/commands/loadenv.c: Support skipping signature check
4479 and variable names filtering.
4480
30b7f58f
VS
44812013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
4484 * grub-core/kern/emu/hostfs.c: Likewise.
4485 * util/getroot_unix.c: Likewise.
4486
bab7b1eb
VS
44872013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
4490 Migrate all explicit defines to this new one.
4491
43b1c99d
VS
44922013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
4495 grub_util_fd_strerror when using grub_util_fd_*.
4496 (grub_util_fd_open_device): Likewise.
4497 (grub_util_biosdisk_read): Likewise.
4498 (grub_util_biosdisk_write): Likewise.
4499 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
4500 (grub_util_fd_strerror): Likewise.
4501 (grub_util_fd_sync): Likewise.
4502 (grub_util_fd_close): Likewise.
4503 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
4504 (grub_util_fd_close): Likewise.
4505 (grub_util_fd_strerror): Likewise.
4506 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
4507 function proto rather than macro.
4508 (grub_util_fd_sync): Likewise.
4509 (grub_util_fd_open): Likewise.
4510 (grub_util_fd_strerror): New proto.
4511
e8fd80bc
VS
45122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
4515 platforms on which it doesn't work.
4516
bf645fda
VS
45172013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
4520 stat immediately to where it's used.
4521
5177ba14
VS
45222013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * util/getroot.c (grub_util_check_block_device): Move to ...
4525 * util/getroot_unix.c (grub_util_check_block_device): ... here.
4526 * util/getroot.c (grub_util_check_char_device): Move to ...
4527 * util/getroot_unix.c (grub_util_check_char_device): ... here.
4528
9db826e1
VS
45292013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
4532 disk closing logic.
4533
49120085
AB
45342013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4535
4536 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
4537
b3328b68
AB
45382013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
4539
4540 * docs/grub.texi (File name syntax): Document ZFS filenames
4541 (/volume@snapshot/...).
4542
3fff48ab
VS
45432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
4546 Always return full path. Fixes a problem with mkrelpath.
4547
39cfdaa9
PFS
45482013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4549
4550 * util/grub-install.in: Add GPT PReP support.
4551 * util/grub-probe.c (probe): Support GPT partition type.
4552 (main): Support -t gpt_parttype.
4553
7c680e1f 45542013-09-23 Aleš Nesrsta <starous@volny.cz>
4555
4556 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
4557
890bdabe
MM
45582013-09-23 Massimo Maggi <me@massimo-maggi.eu>
4559
4560 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
4561
9c262ff9
TH
45622013-09-23 Tim Hardeck <thardeck>
4563
4564 * util/grub.d/10_hurd.in: Filter out character for the class.
4565 * util/grub.d/10_kfreebsd.in: Likewise.
4566 * util/grub.d/10_linux.in: Likewise.
4567 * util/grub.d/20_linux_xen.in: Likewise.
4568
d755342a
MC
45692013-09-23 Melki Christian <Christian.melki@saabgroup.com>
4570
4571 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
4572 "changed".
4573
68b77707
JT
45742013-09-23 Josh Triplett <josh@joshtriplett.org>
4575
4576 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
4577 boot partition.
4578
efa68bfa
VS
45792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
4582 doesn't use posix_wrap. Keep literal -fno-builtin however.
4583
d9104204
VS
45842013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
4587
c248781a 45882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
45892013-09-23 neil
4590
5830df88 4591 * configure.ac: Do not enable -Wmissing-noreturn as its
4592 usefulness is limited and creates problems on some OS notably with
4593 code generated by bison.
4594
45952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
45962013-09-23 neil
4597
4598 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 4599 supported by all gcc and when it is, it's already enabled by -Wall.
4600
621bed69
VS
46012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
4604 desactivated use of EDID at all.
4605
71764dc8 46062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
46072013-09-23 neil
4608
4609 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
4610 video if no text is available.
4611
affce7d4 46122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
46132013-09-23 neil
4614
4615 * configure.ac: Substitute TARGET_RANLIB.
4616
46172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
46182013-09-23 neil
affce7d4
VS
4619
4620 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4621
4622 Based on patches from AROS.
4623
0e8daad0 46242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 46252013-09-23 neil
0e8daad0
VS
4626
4627 * grub-core/Makefile.am: Override STRIP and RANLIB.
4628 * configure.ac: compute TARGET_RANLIB.
4629 * INSTALL: Document TARGET_RANLIB
4630
4631 Based on patches from AROS.
4632
3f7d9c82
VS
46332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
4636 that floppies are unpartitioned.
4637
bca8873a
VS
46382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
4641 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
4642
46432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
4646 less nice but more portable.
4647 * grub-core/lib/posix_wrap/wchar.h: Likewise.
4648
a47a78be
VS
46492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
4652 for cheat_fd.
4653 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
4654 functions.
4655 (grub_cryptodisk_cheat_insert): Likewise.
4656 (grub_cryptodisk_close): Likewise.
4657
e85a5d5c
VS
46582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
4661 Use windows path for DEFAULT_DIRECTORY.
4662
dad9fa6b
VS
46632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
4666 difference was likely just gcc version, not anything mingw-related.
4667
7e518ca8
VS
46682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Use Winapi on both cygwin and mingw32 to share more code between both.
4671
d68d0157
AB
46722013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4673
4674 * util/grub-install.in: Add --grub-editenv option.
4675 * util/grub-install_header (grub_compress_file): Explicitly check for
4676 plain file to avoid cp error.
4677
775b284d
AB
46782013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
4679
4680 * docs/grub.texi (Device syntax): Document new LVM UUID based device
4681 names; fix LVM driver name (lvm, not lv).
4682 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
4683 names.
4684
3ff4063d
VS
46852013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
4688 files rather than one file with loads of #if's.
4689 * util/getroot.c: Likewise.
4690
287faafe
VS
46912013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
4694
d1983764
VS
46952013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
4698 GNU/Hurd to the list of checked PRNG.
4699
15ce95c4
VS
47002013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * configure.ac: On FreeBSD use -melf_*_fbsd format.
4703
207862dd 47042013-09-21 Ales Nesrsta <starous@volny.cz>
4705
7c680e1f 4706 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 4707
63653cfd
VS
47082013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
4711 * grub-core/disk/lvm.c: Add LVM UUIDs.
4712 * util/getroot.c: Use LVM UUIDs whenever possible.
4713
f5d3e7ef
AB
47142013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
4715
4716 * docs/grub.texi (Networking commands): Add documentation for
4717 network related commands.
4718
53c6b7d6
VS
47192013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * util/getroot.c (grub_util_open_dm): Check major rather than the name
4722 to determine if device is handled by devmapper.
4723 (convert_system_partition_to_system_disk): Likewise.
4724 (get_dm_uuid): Don't check explicitly if device is mapped, it's
4725 already done in grub_util_open_dm.
4726
e70d6736
LL
47272013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
4728
4729 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
4730 Clean up stack manipulation (sync_caches_armv*)
4731
90379808
VS
47322013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * util/lvm.c: Remove since unused. Remove remaining references.
4735
386701a8
VS
47362013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 Handle the case of partitioned LVM properly.
4739
4740 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4741 Stop on meeting LVM, mpath or DMRAID.
4742 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
4743 (read_device_map): Likewise.
4744 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
4745 device is full disk rather than erroring out on LVM and similar cases.
4746
53070787
VS
47472013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
4750
1bc783bd
VS
47512013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
4754 4K before the end.
4755 Reported by: Leif Lindholm
4756
436ad5c3
PW
47572013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
47582013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
4761 codes.
4762
607319c9
CW
47632013-09-18 Colin Watson <cjwatson@ubuntu.com>
4764
4765 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
4766 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
4767
d404d154
DR
47682013-09-18 Douglas Ray <dougray@cpan.org>
4769
4770 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
4771 as secure.
4772
28851ef6
AN
47732013-09-18 Aleš Nesrsta <starous@volny.cz>
4774
4775 * docs/grub.texi: Fix broken link.
4776
897c3bc6
MC
47772013-09-18 Melki Christian <Christian.melki@saabgroup.com>
4778
4779 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
4780 to break endless loop.
4781
f1630459
VS
47822013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * util/grub-fstest.c: Fix several printf formats.
4785 * util/grub-mkimage.c: Likewise.
4786 * util/grub-mkimagexx.c: Likewise.
4787 * util/grub-script-check.c: Likewise.
4788
64463dfd
VS
47892013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4792 error.
4793
48972495
VS
47942013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
4797
5dd5e64b
VS
47982013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
4801 removed in current versions cygwin_conv_*.
4802
1c1f31e5
VS
48032013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * configure.ac: Disable efiemu runtime on cygwin.
4806
c546a259
VS
48072013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
4810 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
4811
81690478
VS
48122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
4815 error message.
4816
6b87c10a
VS
48172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
4820 windows variant.
4821 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
4822 data.
4823
8f0baaac
VS
48242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
4827 when on x86 and not cygwin.
4828 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
4829 -Wl,-melf_x86_64.
4830
b224c266
VS
48312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * configure.ac: Set CPP to build one when checkoing for freetype for
4834 build.
4835
506b336b
VS
48362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
4839 [!GRUB_BUILD]: Remove has_argument.
4840
8c8c87b7
VS
48412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
4844 Replace with a dummy.
4845
7dc5ca13
VS
48462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * configure.ac: Don't change host_os from mingw to cygwin.
4849
c3302aa5
VS
48502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * configure.ac: Change target_os from windows to cygwin.
4853
7b780018
VS
48542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 Handle grub-pe2elf and grub-mkfont for cases when build != host.
4857
4858 * Makefile.am (build-grub-mkfont): Don't include gnulib.
4859 (build-grub-gen-asciih): Likewise.
4860 (build-grub-gen-widthspec): Likewise.
4861 * Makefile.util.def (grub-pe2elf): Remove.
4862 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
4863 * configure.ac: Separate tests for build.
4864 Move ./build-grub-pe2elf to grub-core.
4865 Fix typo.
4866 * grub-core/Makefile.am (build-grub-pe2elf): New target.
4867 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
4868 defined.
4869 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
4870 constants.
4871 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
4872 * util/grub-pe2elf.c: Simplify not to rely on getopt.
4873 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
4874
984cfd8a
VS
48752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4878 mingw32 as well based on grub_util_get_disk_size.
4879 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
4880 grub_util_get_fd_size.
4881 (sync): Removed.
4882 (fsync): Moved to ...
4883 * grub-core/kern/emu/misc.c (fsync): ... here.
4884
f82d79c9
VS
48852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * include/grub/mm.h (grub_extend_alloc): Remove.
4888 * grub-core/loader/i386/pc/plan9.c: Use own version of
4889 grub_extend_alloc with appropriate types.
4890
fd7dd66d
VS
48912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
4894
43ffba7c
VS
48952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/getroot.c: Include sys/wait.h only when we need waitpid.
4898
3c7eac44
VS
48992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 Fix dependencies on cygwin.
4902
4903 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
4904 dependencies when used and defined.
4905 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
4906
bdb5ba47
VS
49072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
4910 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
4911
ed7fbf43
VS
49122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
4915 implementation available to cause compile-time rather than runtime
4916 error.
4917
fc46e9fc
VS
49182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * util/grub-fstest.c: Don't check for symlinks on windows.
4921
7f68269a
VS
49222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * INSTALL: Mention unavailability of man pages when cross-compiling.
4925
8ed358e0
VS
49262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
4929 and gcry_log_bug.
4930 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
4931
fc97214f
VS
49322013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * INSTALL: Document cross-compilation.
4935 * acinclude.m4: Determine whether nm support -P and --defined-only.
4936 * configure.ac: Add TARGET_ to all variables pertaining to target
4937 that don't have it yet.
4938 * gentpl.py: Likewise.
4939 * grub-core/Makefile.am: Likewise.
4940 * grub-core/genmod.sh.in: Likewise.
4941 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
4942 as well.
4943
ca1fb563
IB
49442013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4945
4946 * configure.ac: Remove -Wempty-body. It's not essential and needs
4947 recent gcc.
4948
0031b229
IB
49492013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
4950
4951 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
4952 * util/getroot.c: Likewise.
4953
54ea2f44
VS
49542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/disk/ahci.c: Add needed explicit cast.
4957 * grub-core/lib/backtrace.c: Likewise.
4958 * grub-core/net/ip.c: Likewise.
4959 * grub-core/net/tcp.c: Likewise.
4960 * grub-core/net/udp.c: Likewise.
4961
3c601f8c
VS
49622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
4965
1d679dda
VS
49662013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * util/import_gcry.py: Add final newline in visibility.h.
4969
00c28dd9
VS
49702013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * conf/Makefile.common: Fix typo.
4973
32af299a
VS
49742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
4977
e733cf52
VS
49782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * Makefile.am (widthspec.h): Fix typo.
4981 * util/grub-gen-widthspec.c: Likewise.
4982
c6b066f2
VS
49832013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Move ascii.h and widthspec.h generation to a separate build-time-only
4986 tool.
4987
ad1fe3f9 49882013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4989
4990 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4991 Always fill bootdisk info and improve check for NetBSD disklabel.
4992
92a52dd4
VS
49932013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * conf/Makefile.extra-dist: Add util/bin2h.c.
4996 Reported by: floppym.
4997
b2e9d276
VS
49982013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5001
7b966834
VS
50022013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * configure.ac: Disable unifont and starfield if no freetype was found.
5005
d5c1eef1
VS
50062013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5009 on NetBSD and OpenBSD.
5010
66345b50 50112013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
5012
5013 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5014
66345b50 50152013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
5016
5017 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5018 reduced. Inheritant options are processed during the theme loading.
5019
66345b50 50202013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
5021
5022 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5023
369508b3
AS
50242013-08-14 Avik Sil <aviksil@in.ibm.com>
5025
5026 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5027
50282013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
5029
5030 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5031 using qemu.
5032
6f27a3f6
PFS
50332013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5034
5035 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5036 remove-potcdate.sed.
5037
c6ed362a
AB
50382013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5039
5040 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5041 unused attribute from pull argument.
5042
5e7d9464
AB
50432013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5044
5045 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5046 memory leak.
5047
dea55e2a
AB
50482013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5049
5050 * util/getroot.c (pull_lvm_by_command): add --separator option
5051 to vgs call to disable padding of output to 10 characters.
5052
f0b94ded
VS
50532013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5056 here ...
5057 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5058 here.
5059
b828fb5d
VS
50602013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5063 length.
5064
7c9d0c39
VS
50652013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5068 full Canadian cross. Tested with build=x86_64, host=arm,
5069 target=ppc-ieee1275.
5070
816719c8
VS
50712013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * configure.ac: Error if no $BUILD_CC could be found.
5074 Reported by: DevHC.
5075
2af2353b
VS
50762013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5079 i386-multiboot.
5080
797abd0a
VS
50812013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5084 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5085
36e87d25
CW
50862013-08-13 Colin Watson <cjwatson@ubuntu.com>
5087
5088 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5089 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5090 falling back to the partition device, otherwise a later call to this
5091 function may fail spuriously.
5092 Reported by Axel Beckert. Fixes Debian bug #708614.
5093
273349fe
GS
50942013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5095
5096 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5097
418f86c6
GS
50982013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5099
5100 Prevent shadowing of stdlib's devname(3) on BSD.
5101
5102 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5103 and devlast to diskname and disklast, respectively.
5104
c137aea0
CW
51052013-08-11 Colin Watson <cjwatson@ubuntu.com>
5106
5107 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5108
272dc8df 51092013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
5110
5111 * docs/grub.texi: Introduce terminal window position options:
5112 terminal-left: terminal window's left position
5113 terminal-top: terminal window's top position
5114 terminal-width: terminal window's width
5115 terminal-height: terminal window's height
5116 terminal-border: terminal window's border width
5117 * grub-core/gfxmenu/theme-loader.c: Likewise.
5118 * include/grub/gfxmenu_view.h: Likewise.
5119 * po/exlude.pot: Likewise.
5120 * grub-core/gfxmenu/view.c: Likewise.
5121 Also updated minimal window size.
5122 Also terminal_sanity_check function has been introduced.
272dc8df
VT
5123 * grub-core/tests/checksums.h: Update (terminal window height
5124 is adjusted now for low resolution screen)
b4743461 5125
748a4533
VS
51262013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5129 position).
5130
fca5f944
VS
51312013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * po/exclude.pot: Add few recent exceptions.
5134
4f47d809
VS
51352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * tests/grub_func_test.in: Add unicode.pf2.
5138
a62ae90c
VS
51392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5142 standard rather than noral color, in line with other terminals.
5143
4ed41392
VS
51442013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5147 analysis.
5148
3719fbc5
VS
51492013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5152
459b1d91
VS
51532013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5156 inappropriate printf.
5157
f4e1ab9d
AB
51582013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5159
5160 * .bzrignore: Remove grub-core/lib/dtc-grub,
5161 grub-core/Makefile.libfdt.def
5162 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5163
fa471bfa
VS
51642013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * include/grub/video.h (grub_video_register): Keep double-linked as
5167 well as single-linked invariants.
5168 Reported by: qwertial.
5169
d65be02b
VS
51702013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/commands/nativedisk.c (get_uuid): Handle
5173 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5174
ba8bc620
VT
51752013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5176
5177 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5178 maximum of NW, N, NE heights instead of N's height and maximum of
5179 NW, W, SW widths instead of W's width. (So the box will be always
5180 correctly drawn)
5181
4f0ad029
GS
51822013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5183
5184 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5185 Fix misuse of variable count.
5186
43d53b72
LL
51872013-07-18 Leif Lindholm <leif.lindholm@arm.com>
51882013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
51892013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5190
43d53b72
LL
5191 New ports to arm-uboot and arm-efi.
5192 Mostly by Leif Lindholm with some additions from
5193 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5194
88f8d146
VS
51952013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5198 and not before.
5199 Reported by: Leon Drugi.
5200
3f42504c
VS
52012013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5204 Reported by: Paulo Flabiano Smorigo.
5205
d110499b
VT
52062013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5207
5208 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5209
a8674ad3
VT
52102013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5211
5212 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5213
286fe4b3
VS
52142013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5217
1bd57aa3
VS
52182013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5221
7a87d69f
AB
52222013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5223
5224 * grub-core/net/bootp.c: Export net_* variables.
5225 * grub-core/net/net.c: Likewise.
5226
b2182299
VS
52272013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5230
795b3dc0
VS
52312013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5234
68714c43
VS
52352013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5238
af211bab
VS
52392013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5242
0036f02d
MM
52432013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5244
5245 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5246 <= 0.
5247
6d0ddff3
MM
52482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5249
5250 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5251 functions.
5252
038016f4
MM
52532013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5254
5255 * grub-core/fs/zfs/zfs_lz4.c: New file.
5256 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5257
776bdce2
MM
52582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5259
5260 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5261
c71dbd40
MM
52622013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5263
5264 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5265 (check_pool_label): Likewise.
5266 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5267
52682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
5269
5270 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5271
8e67b50f
AB
52722013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5273
5274 * docs/grub.texi (Commands): Document postition parameters
5275 for menuentry command.
5276
f5ae3717
AB
52772013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5278
5279 * util/grub-mknetdir.in: Remove stray line from help output.
5280
9c28da2a
VS
52812013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Remove early sm712 init as there is no reason for it (the "watchdog"
5284 effect was due to wrong GPIO map).
5285
139072b8
VS
52862013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/commands/pcidump.c: Remove static variables.
5289
c6a61bda
VS
52902013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5293
51369614
VS
52942013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * configure.ac: Move delimiter after the infos.
5297
efa8640a
VS
52982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5301
6f80a7b2
VS
53022013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5305 not filling whole 8x16 space.
5306
a2371e19
VS
53072013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5310
64fce2d8
VS
53112013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * configure.ac: Indicate which liblzma is used if any.
5314
eb272d84
PW
53152013-06-21 Paul Wise <pabs3@bonedaddy.net>
53162013-06-21 Craig Sanders <savannah@taz.net.au>
5317
5318 * util/grub-reboot.in: Document submenu usage.
5319
a9e5abee
CW
53202013-06-25 Colin Watson <cjwatson@ubuntu.com>
5321
5322 * .bzrignore: Update with a number of new test-related files.
5323
e639c204
CW
53242013-06-25 Colin Watson <cjwatson@ubuntu.com>
5325
5326 * util/grub-script-check.c: Fail on scripts containing no
5327 commands, to guard against corrupted grub-mkconfig setups that
5328 produce no useful output.
5329 * tests/grub_script_no_commands.in: New test.
5330 * Makefile.util.def (grub_script_no_commands): Add.
5331 Reported by Hans Putter. Fixes Debian bug #713886.
5332
a4c89b17
AB
53332013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5334
5335 * grub-core/disk/diskfilter.c: Forgot to remove comment
5336 from previous commit.
5337
5b06b53c
AB
53382013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5339
5340 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5341 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5342
702da5c9
AB
53432013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5344
5345 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5346
aa62a5b7
AB
53472013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5348
5349 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5350 rescan diskfilter devices until nothing new is found.
5351
4aa237c8
VS
53522013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5355
93d8479b
VS
53562013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 Don't try to detect cbfs on *-emu.
5359
837222cc
VS
53602013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5363
99c971af
VS
53642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Add support for processed coreboot payload chainloading.
5367
e6930a45
VS
53682013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Enable coreboot information commands even when not loaded as
5371 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5372
5027af38
VS
53732013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 Support for cbfs. Also factor out the part which is common
5376 for all archives to a separate module. This splits tar from cpio
5377 as they are very different but keeps cpio, cpio_be, odc and newc
5378 together since they're very similar.
5379
a5b55c4b
DM
53802013-06-15 David Michael <fedora.dm0@gmail.com>
5381
5382 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5383 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5384
0301a8b3
VS
53852013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * tests/grub_script_eval.in: Really add the eval test.
5388
3d84cb17
VS
53892013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Move flavour-specific parts out of common cpio.c file and
5392 rename remaining to cpio_common.c
5393
593e430c
AB
53942013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5395
5396 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5397 off new function grub_script_execute_new_scope. Change callers to use
5398 either of them as appropriate.
5399 * grub-core/commands/eval.c: New command eval.
5400 * docs/grub.texi (Commands): Document it.
5401
63c29849
AB
54022013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5403
5404 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5405 to fetch values when listing.
5406
cc284112
AB
54072013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5408
5409 Fix make dist on non-pc.
5410
54112013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
5412
5413 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5414 without a device name.
5415
69544d1e
VS
54162013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Remove enable_executable_check as it's not needed anymore.
5419 Reported by: dougray.
5420
96dbe648
VS
54212013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5424 ambigouos RAID before discovering RAIDs on top of it.
5425 Reported by: bodom.
5426
ccfc0bdb
VS
54272013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 Fix typo (failback vs fallback).
5430
f2587088
AB
54312013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5432
5433 * util/grub.d/30_os-prober.in: Add support for probing EFI
5434 System Partition (as of os-prober 1.58).
5435
cec5cf0c
VS
54362013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * configure.ac: Add yet another path to unifont. For parabola.
5439
e40b4596
JT
54402013-05-30 Josh Triplett <josh@joshtriplett.org>
5441
5442 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5443 handling to copy the killed characters to the kill buffer as
5444 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5445 stored as char. Eliminates UCS4 truncation and corruption
5446 observed when killing characters with Ctrl-u and yanking them
5447 back with Ctrl-y.
5448
fc4c4fdd
VS
54492013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 Detach optional parts of gfxterm and integrate in with coreboot init.
5452
6570b205
VS
54532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 Move blit and fill dispatcher to appropriate files to decrease export
5456 and relocation overhead.
5457
b8323067
VS
54582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * grub-core/font/font.c, include/grub/font.h: Inline simple font
5461 functions.
5462
3cc1878f
VS
54632013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/Makefile.am: Fix compilation problem with some
5466 automake versions.
5467
4b80e43c
VS
54682013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
5471
57e0c20c
VS
54722013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
5475 automake versions.
5476
4fd42c53
VS
54772013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
5480 SSDT.
5481
1e908b34
RS
54822013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
5483
5484 * grub-core/partmap/dfly.c: New partition map.
5485
1359e474
VS
54862013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
5489 checking.
5490 Reported by: Francesco Lavra.
5491
17806392
AB
54922013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
5493
5494 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
5495 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
5496 false conditions.
5497 * conf/Makefile.common: define dist_grubconf_DATA
5498
cdce14fa
VS
54992013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 Progressively skip menu elements on small terminals rather
5502 than crashing.
5503
c8d6cc3c
VS
55042013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
5507 to avoid losing last column.
5508
a73b31ce
VS
55092013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * po/exclude.pot: Add missing string "%C".
5512
1202c764
VS
55132013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
5516 after the test.
5517
50268344
VS
55182013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * util/grub-install.in: Gettextize "Not found" message.
5521
62b15edf
VS
55222013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Fix distfiles list.
5525 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5526
55272013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
5528
5529 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
5530 present.
5531 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
5532
709ad61b
VS
55332013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
5536
d128901a
VS
55372013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
5540 attribute since structure is not necessarily aligned.
5541
34b22f5c
AB
55422013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
5543
5544 * docs/grub.texi (Device syntax): Clarify description of network
5545 drives.
5546
0f7e980b
VS
55472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
5550 for vasprintf presence.
5551
30b03dc2
VS
55522013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * util/grub-install.in: Handle efibootmgr presence check.
5555 Reported by: Leif Lindholm.
5556
0dc11c08
VS
55572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
5560 new strings to translate.
5561
f8024c3f
VS
55622013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
5565 yet another string (pun intended) to translate.
5566
b4c1da62
VS
55672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * po/POTFILES-shell.in: Autogenerate it.
5570
0ef7478b
VS
55712013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
5574
8200fa15
VS
55752013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
5578 misnomer.
5579
091945b2
AB
55802013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
5581
5582 * docs/grub.texi (Network): Add description of net_default_interface,
5583 net_default_ip and net_default_mac. Rewrite variables description
5584 to emphasize that they are per-interface.
5585
0e7b2e32
VS
55862013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 New test: cmdline and cat.
5589
16f7c8f6
VS
55902013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/commands/cat.c: Show UTF-8 characters.
5593
3e912fda
VS
55942013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * conf/Makefile.common: Poison float and double on non-emu.
5597
ee0220bc
VS
55982013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * configure.ac: Don't disable extended registers on emu.
5601
89e0240c
VS
56022013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 * configure.ac: Don't use extended registers on x86_64.
5605 Reported by: Peter Jones.
5606
e56d9637
VS
56072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/term/efi/console.c: Fix compile error.
5610
8098f655
VS
56112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 Compressed HFS+ support.
5614
16940e07
VS
56152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
5618 pixel".
5619
c5dbc13d
VS
56202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Menu color test.
5623
011f8ae8
VS
56242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/tests/setjmp_test.c: New test.
5627
2aa072d7
VS
56282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 New variables 'net_default_*' to determine MAC/IP of default interface.
5631
43fe02cb
VS
56322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * tests/gettext_strings_test.in: A test to check for strings not
5635 marked for translation.
5636
bed06142
VS
56372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * autogen.sh: Exclude unused libgcrypt files from translation.
5640
fb2666b5
VS
56412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 Simplify few strings.
5644
d22840ec
VS
56452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Mark few forgotten strings for translation.
5648
e34092fd
VS
56492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
5652 rather than printf.
5653
47cf82b4
VS
56542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
5657 rather than printf.
5658 * grub-core/video/readers/tga.c: Likewise.
5659
1eed0e6e
VS
56602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * tests/priority_queue_unit_test.cc: New test.
5663
c5b7697b
VS
56642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
5667 than printf.
5668
5945c2f8
AB
56692013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
5670
5671 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
5672 variable for one time boot menu entry.
5673
fa292343
B
56742013-05-05 Bean <bean123ch@gmail.com>
5675
5676 * grub-core/commands/testspeed.c: New command testspeed.
5677
310d4214
VS
56782013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 Factor-out human-size printing.
5681
85002bf3
VS
56822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 Agglomerate more mallocs to speed-up gfxterm.
5685
22b06e96
VS
56862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Speed-up gfxterm by slightly agglomerating mallocs.
5689
b7c036bc
VS
56902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 More video checks.
5693
92323d1f
VS
56942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Speed-up gfxterm by saving intermediate results in index+alpha
5697 format.
5698
0fb356a3
VS
56992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
5702 test.
5703
44dea3f9
VS
57042013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
5707 line of timeout as it may contain the rest of long line.
5708
14af86e4
VS
57092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/normal/main.c: Fix freed memory dereference.
5712
03f7c8c3
VS
57132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 Fix several memory leaks.
5716
c686014c
VS
57172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
5720
0788a695
VS
57212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
5724
daf01d61
VS
57252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 Fix test -a and -o precedence.
5728 Reported by: adrian15.
5729
82ae74d7
VS
57302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
5733
8cec7bd4
AB
57342013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
5735
5736 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
5737 and add it as source to functional_test module.
5738
aa73d688
VS
57392013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
5742
c104b6f9
VS
57432013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 New series of tests for gfxterm and gfxmenu.
5746
7391c4d5
VS
57472013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
5750 the theme path relative to $prefix/themes.
5751
cff50118
VS
57522013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
5755 Fix order bug.
5756 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5757
7c332bdc
VS
57582013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
5761 descriptor.
5762
a4f9a5ff
VS
57632013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
5766 grub_gfxmenu_timeout_notifications.
5767 (grub_gfxmenu_view_destroy): Likewise.
5768
b5a2114d
VS
57692013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
5772
a8905e8a
VS
57732013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 Several fixes to ieee1275 and big-endian video.
5776
813c1622
VS
57772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 Add missing exports on mips.
5780
3f3e7326
VS
57812013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
5784 if no unifont is found.
5785 Restore original keyboard.
5786
095accd1
VS
57872013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5790 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
5791
50361660
VS
57922013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 First automated video test (running videotest and comparing results)
5795
cd0f6eec
VS
57962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
5799 instead of 2 to have full RGB/CMY test pattern.
5800
3f9634e5
VS
58012013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 Add few more tests.
5804
583e5b64
VS
58052013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * include/grub/arc/arc.h: Account for missing "other" peripheral on
5808 ARCS. All users updated.
5809
aa7bcb99
VS
58102013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
5813
95ef1a54
VS
58142013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/partmap/amiga.c: Fix size of checksummed block.
5817
46546fc5
VS
58182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
5821 Reported by: qwertial.
5822
3476e0ef
VT
58232013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
5824
5825 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
5826 with syntax "XXX deg"/"XXX °".
5827
96f33fed
VS
58282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 Make PCI init in i386-qemu port more robust.
5831
58322013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
5833
5834 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
5835 cached view is reused.
5836 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
5837 open boot menus.
5838
c53b4e67
VS
58392013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 Unify more code in grub-install_header.
5842
f7457fb2
VS
58432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 Add few new tests.
5846
e2f27a8c
VS
58472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Enforce disabling of firmware disk drivers when native drivers kick in.
5850
ef9d8cd5
VS
58512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/commands/nativedisk.c: Customize the list of modules on
5854 platform. Don't try to search for disks already using native drivers.
5855
f7bf6c31
VS
58562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
5859 platforms.
5860
bdc4add8
VS
58612013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
5864 handling of variables containing backslash.
5865
e9e46c9a
VS
58662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
5869 dereference.
5870 Reported by: qwertial.
5871
0e90dee8
VS
58722013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5873
5874 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
5875
e0aacf24
VS
58762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
5879 dereference.
5880 Reported by: qwertial.
5881
3c0003c3
VS
58822013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * docs/grub.texi: Add a comment about usefullness of nativedisk.
5885
adb7d667
VS
58862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
5889
7cd0df84
VS
58902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 New command `nativedisk'.
5893
02adbb93
VS
58942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
5897 * grub-core/loader/i386/bsd.c: Likewise.
5898
9fb0fd4f
VS
58992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
5902
bd69257a
VS
59032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
5906 grub_get_unaligned16 rather than shifts.
5907
178c2764
VS
59082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/kern/file.c: Use const char * rather than casting to
5911 non-const.
5912
eadfad24
VS
59132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/commands/probe.c: Add missing grub_device_close.
5916
9f73ebd4
VS
59172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * INSTALL: Document linguas.sh.
5920
965fa829
VS
59212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Remove POTFILES.in and regenerate it in autogen.sh.
5924
d417ddc4
VS
59252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Move --directory/--override-directorry to grub-install_header and unify.
5928
f97ec546
VS
59292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/term/morse.c: Macroify dih and dah.
5932
b2d7470c
PFS
59332013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5934
5935 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
5936
141e2a78
VS
59372013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/term/ns8250.c: Systematically probe ports by writing
5940 to SR before using them.
5941
1dd70ebd
PFS
59422013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5943
5944 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
5945 disks.
5946 (check_sas): Get sas_adress info.
5947
c796a107
VS
59482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
5951 ports.
5952
43168646
LD
59532013-04-27 Leon Drugi <eyak>
5954
5955 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
5956 BSS clearing.
5957
e7b8fd08
VS
59582013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 Core compression test.
5961
17f9fd29
VS
59622013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Implement grub_machine_get_bootlocation for ARC.
5965
dc2a6c8b
VS
59662013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Improve AHCI detection and command issuing.
5969
f25a2ba6
VS
59702013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 Fix pseries test.
5973
a6393224
VS
59742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Make 'make check' work on emu.
5977
db99fbe8
VS
59782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 Replace libcurses with our own vt100 handling for the ease of testing
5981 and decreasing prerequisites.
5982
b24ca7cd
VS
59832013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
5986
63314aa4
VS
59872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
5990 compile when not needed.
5991
c1b00fff
VS
59922013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * tests/pseries_test.in: New test.
5995
f93e89ef
VS
59962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Add test to check that different boot mediums work.
5999
c4b456d3
VS
60002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6003 ofw limited ISO support.
6004
5fe67f39
VS
60052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * configure.ac: Fix loongson conditional.
6008
7f63a64f
VS
60092013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Enable mipsel-arc.
6012
b04b5990
VS
60132013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Add serial on ARC platform.
6016
88d2f302
VS
60172013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6020 commit.
6021
86eb23bc
VS
60222013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * tests/partmap_test.in: Add missing double semicolon.
6025
eec3bb75
VS
60262013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * util/grub-mkrescue.in: Fix loongson filename.
6029
e0810df3
VS
60302013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * util/grub-mkrescue.in: Move all files that don't have a location
6033 set in stone under /boot/grub. Use ISO hard links rather than copies
6034 to save some space.
6035
65a6b30b
VS
60362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6039 bogus SLOF values.
6040
6aff0107
VS
60412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 Make check work on mips-arc.
6044
5e013e56
VS
60452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * util/grub-mkrescue.in: Alias sashARCS as sash.
6048
d1989e2e
VS
60492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6052 it's serial.
6053
1a25e72c
VS
60542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * util/grub-install.in: Fix target fo qemu_mips.
6057 Fix extension on EFI.
6058
a59a9826
VS
60592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6062 in front of chosen entry to mark it even if highlighting is lost.
6063
1a40f80c
VS
60642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6067 gfxpayload=keep if cbfb is active.
6068
e343549c
VS
60692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6072
45fbd9a2
VS
60732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Add missing video ids to coreboot and ieee1275 video.
6076
ab1440bd
VS
60772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * util/grub-mkrescue.in: Add mips-arc support.
6080
cdeb8324
VS
60812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6084
8528c879
VS
60852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 Move mips-arc link address. Previous link address was chosen
6088 in belief that RAM on SGI platforms grows down while in fact it
6089 grows up from an unusual base.
6090
17fca573
VS
60912013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6094 Fix a type which prevented CD-ROM and floppy boot.
6095
d178788e
VS
60962013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Support coreboot framebuffer.
6099
6100 * grub-core/video/i386/coreboot/cbfb.c: New file.
6101
fe4c3e7e
VS
61022013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6105 detecting too small regions.
6106
ec2dd179
VS
61072013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6110
872dac83
VS
61112013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6114 Remove dprintf.
6115 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6116
90ec4b7f
VS
61172013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6120 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6121 * grub-core/loader/powerpc/ieee1275/linux.c
6122 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6123
f32555dd
VS
61242013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6127 Look for /boot-rom as well as /rom/boot-rom.
6128
38649799
VS
61292013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6132 handling when creating text_layer failed.
6133 * grub-core/video/video.c (grub_video_create_render_target):
6134 Set result to 0 on error.
6135 (grub_video_delete_render_target): Do not dereference NULL.
6136
aeace7f7
VS
61372013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6140 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6141 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6142 (grub_linux_load64): Mask out 2 high bits.
6143
4eafa175
AB
61442013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6145
6146 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6147 more place.
6148
daaa64bd
VS
61492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Add support for pseries and other bootinfo machines to grub-mkrescue.
6152
6153 Tested by: Paulo Flabiano Smorigo.
6154
d0d2daa6
VS
61552013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * util/grub-mkrescue.in: Add GPT for EFI boot.
6158
b193e100
VS
61592013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6162 It improves performance in qemu.
6163
a0f8f3ac
VS
61642013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * build-aux/snippet: Add missing gnulib files.
6167
284df0e2
AB
61682013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6169
6170 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6171
740201f3
AB
61722013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6173
6174 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6175
a7e03923
PJ
61762013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
61772013-04-15 Peter Jones <pjones@redhat.com>
6178
6179 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6180 sectors.
6181 Based on patch by Peter Jones.
6182
25fc51a8
VS
61832013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Fix DMRAID partition handling.
6186
88017d47
VS
61872013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * tests/grub_cmd_date.in: Skip on sparc64.
6190
fa7d914e
VS
61912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6194 firmware error messages.
6195
cbe57a48
VS
61962013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6199 source and destination differ.
6200
21aecce0
VS
62012013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6204 detection.
6205
25092d29
VS
62062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6209 match config-util.h to avoid warnings and increase compatibility.
6210
79451522 62112013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 62122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6213
6214 Add option to compress files on install/image creation.
6215
78b7d77b
VS
62162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * docs/grub-dev.texi: Rearrange menu to match the section order.
6219 Reported by: Bryan Hundven.
6220
cc2fa5ec
VS
62212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6224
b49fe879
VS
62252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Move GRUB out of system area when using xorriso 1.2.9 or later.
6228
5351da81
VS
62292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * tests/grub_cmd_date.in: Add missing exit 1.
6232
c9d586ea
VS
62332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * tests/partmap_test.in: Skip on sparc64.
6236
3f729741
VS
62372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 Support grub-shell on sparc64.
6240
8ca86b3a
VS
62412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Support mkrescue on sparc64.
6244
aa1af9bb
VS
62452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6248 Needed on OpenBIOS due to incomplete device tree.
6249
ac4fea79
VS
62502013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6253 would be otherwise excluded.
6254
62552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
6256
6257 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6258 Inline name defines used only once.
6259
fe22b071
VS
62602013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 Fix memory leaks in ofnet.
6263 Reported by: Francesco Lavra.
6264
9d21381b
VS
62652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * docs/man/grub-glue-efi.h2m: Add missing file.
6268
07aec23c
VS
62692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6272
67ab8353
VS
62732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Better support Apple Intel Macs on CD.
6276
ba44ca6d
VS
62772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 Replace stpcpy with grub_stpcpy in tools.
6280
bbdd6305
VS
62812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 Handle Japanese special keys.
6284 Reported by: Hiroyuki YAMAMORI.
6285 Codes supplied by: Hiroyuki YAMAMORI.
6286
8573d302
VS
62872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * util/grub-mkimage.c: Document memdisk implying --prefix.
6290
d70dbab7
VS
62912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6294 much we can do about it anyway.
6295
51a4c3e3
AN
62962013-04-12 Aleš Nesrsta <starous@volny.cz>
6297
6298 Fix handling of split transfers.
6299
92c8f58d
VS
63002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/net/http.c: Fix bad free.
6303
b7d17a49
VS
63042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6305
6306 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6307 than buffer size.
6308
a3d566d4
VS
63092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6312
a936af56
VS
63132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * tests/util/grub-shell.in: Fix it on powerpc.
6316
51212234
VS
63172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 Turn off QEMU ACPI-way since new releases don't have shutdown port
6320 anymore.
6321
a21eec9e
VS
63222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * docs/grub.texi: Update coreboot status info.
6325
e3734b84
VS
63262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * tests/grub_cmd_date.in: New test for datetime.
6329
f9d40055
VS
63302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * tests/partmap_test.in: Fix missing qemudisk setting.
6333
dbc56d8f
VS
63342013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Support i386-ieee1275 grub-mkrescue and make check on it.
6337
a79b8a15
VS
63382013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6341 feature for it.
6342
48f39bb4
VS
63432013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6346 GRUB_CMDLINE_XEN_DEFAULT.
6347 Reported by: Marc Warne (GigaTux) <gigatux>
6348
053cfcdd
VS
63492013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 Import new gnulib.
6352
93cd84df
VS
63532013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 Use ACPI shutdown intests as traditional port was removed.
6356
f4b1fa4f
AB
63572013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6358
6359 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6360 distinction.
6361
49818a59
VS
63622013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6365 Fix few warining messages and leaks while on it.
6366
9277a306
AB
63672013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6368
6369 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6370 links under grub-core/lib/libgcrypt-grub/mpi.
6371
d5e2a158
VS
63722013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 Fix ia64-efi image generation on big-endian machines. Deduplicate
6375 some code while on it.
6376 Reported by: Leif Lindholm.
6377
18866643
AB
63782013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6379
6380 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6381 as extra_dist.
6382
ca53deb8
AB
63832013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6384
6385 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6386
d4c4b8e1
BH
63872013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6388
6389 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6390 texinfo-5.1.
6391
47043f95
VS
63922013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/normal/term.c: Few more fixes for menu entry editor
6395 rendering.
6396 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6397
a3216068
VS
63982013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/normal/term.c: Few more fixes for menu entry editor
6401 rendering.
6402 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6403
21026747
AB
64042013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6405
6406 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6407 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6408
59624ca8
AB
64092013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6410
6411 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6412 instead of hardcoding grub.mo.
6413
1f44478c
FN
64142013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6415
6416 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6417
eeada7b1
VS
64182013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6421 grub-core/disk/geli.c.
6422
132867de
VS
64232013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * util/grub-mkfont.c: Prefer enum to #define.
6426
de73de17
VS
64272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6430
1865baa7
VS
64312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6434
ce7d92a9
VS
64352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6438
52eab656
VS
64392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6442
98b23b95
VS
64432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * include/grub/bsdlabel.h: Use enums.
6446
0467a5dd
VS
64472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 Move GRUB_CHAR_BIT to types.h.
6450
16cc9f03
AB
64512013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6452
6453 * docs/grub.texi: Document more user commands.
6454
3152aecb
AB
64552013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6456
6457 * docs/grub.texi: Document menuentry --id option.
6458
c506fc30
FL
64592013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
6460
6461 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
6462
aa428238
VS
64632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Unify file copying setup across different install scripts. Add
6466 options for performing partial install.
6467
efe0cdda
PJ
64682013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
64692013-04-04 Peter Jones <pjones@redhat.com>
6470
6471 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
6472
f75835bd
VS
64732013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Use TSC as a possible time source on i386-ieee1275.
6476
2cd5ce6c
VS
64772013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
6480 Init err.
6481
c9625630
VS
64822013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * util/grub-setup.c (setup): Handle some corner cases.
6485
be008941
VS
64862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
6489
1a78d573
VS
64902013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/commands/verify.c: Save verified file to avoid it being
6493 tampered with after verification was done.
6494
db8ff59f
VS
64952013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
6498 reported width by one to compensate for curesor algorithm problem.
6499
91bf46b1
VS
65002013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Fix screen corruption in menu entry editor and simplify the code
6503 flow while on it.
6504
a7b1d693
AB
65052013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
6506
6507 * util/grub-mount.c (fuse_init): Return error if fuse_main
6508 failed.
6509
31df9ad8
FL
65102013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
6511
6512 * include/grub/elf.h: Add missing ARM relocation codes and fix
6513 existing ones.
6514
07f392eb
VT
65152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6516
6517 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
6518
9efd73ec 65192013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
65202013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
6523 into account when calculating radius.
6524
65252013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
6526
6527 * grub-core/gfxmenu/view.c: Fix off-by-one error.
6528
4985ddaa
VT
65292013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
6530
6531 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
6532
8c3635ff
RS
65332013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6534
6535 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
6536 missing closing bracket.
6537
74a35e69
RS
65382013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
6539
6540 * INSTALL: Mention xorriso requirement.
6541
40f1c000
AB
65422013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
6543
6544 * grub-core/commands/verify.c: Fix hash algorithms values for
6545 the first three hashes - they start with 1, not with 0.
6546
e75fdee4
VS
65472013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
6550 Try terminating EFI services several times due to quirks in some
6551 implementations.
6552
33028f4c
CW
65532013-03-26 Colin Watson <cjwatson@ubuntu.com>
6554
6555 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
6556 skipping Event, Device, Processor, PowerRes, ThermalZone, and
6557 BankField extended opcodes.
6558 (get_sleep_type): Add minimal scope handling (just enough to
6559 handle setting the scope to the root path).
6560 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
6561 * include/grub/acpi.h: Add enumeration values for Event, Device,
6562 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
6563
33871a10
VT
65642013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
6565
6566 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
6567 memory leak.
6568
8990963a
VS
65692013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/disk/ahci.c: Give more time for AHCI request.
6572
daae8f9e
VS
65732013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
6576 command.
6577
6a7fb94b
VS
65782013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Replace the region at 0 from coreboot tables to available in BSD
6581 memory map.
6582
ff99babd
VS
65832013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
6586 non-BIOS platforms.
6587
30d6b1b2
VS
65882013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
6591 platforms.
6592
6ccd0b31
VS
65932013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6596 handling of multi-device filesystems.
6597
23c9cc04
VS
65982013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
6601 platforms.
6602
ce50dbd7
VS
66032013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Add new 'proc' filesystem framework and put luks_script into it.
6606
d975e8d5
VS
66072013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
6610 and qemu.
6611
e73ba5e8
VS
66122013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
6615
92750e4c
VS
66162013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 Add ability to generate newc additions on runtime.
6619
0ec45a68
VS
66202013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
6623 description.
6624
320abd43
VS
66252013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * po/POTFILES.in: Regenerate.
6628
d7a6506e
VS
66292013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/commands/verify.c (hashes): Add several hashes
6632 from the spec.
6633
8fe05def
VS
66342013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 Slight improve in USB-related boot-time checkpoints.
6637
524e2766
VS
66382013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/commands/boottime.c: Fix copyright header.
6641
cc19857a
VS
66422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
6645 coreboot tables content. Support for cbmemc.
6646
ef8810e9
VS
66472013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 Fix a conflict between ports structures with 2 controllers of
6650 same kind.
6651
e9dabdfa
VS
66522013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * include/grub/boottime.h: Add missing file.
6655
f6df57d2
VS
66562013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Initialize USB ports in parallel to speed-up boot.
6659
d745dda7
VS
66602013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 Fix USB devices not being detected when requested
6663 due to delayed attach.
6664
e5a2dd7b
VS
66652013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6666
e744219b
VS
6667 Implement boot time analysis framework.
6668
66692013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
6672 descriptor to just receive it as argument rather than endpoint
6673 address.
6674
5dd6f587
VS
66752013-03-19 Aleš Nesrsta <starous@volny.cz>
6676
6677 Better estimate the maximum USB transfer size.
6678
2f1071d5
VS
66792013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 Resend a packet if we got the wrong buffer in status.
6682
46ecfc49
VS
66832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
6686 multiplication rather than division.
6687
ea811130
VS
66882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
6691 than divisions.
6692
d2789cf0
VS
66932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
6696 operations to have intended shifts and not divisions.
6697
a9c94590
VS
66982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
6701 intended shifts rather than division.
6702
84cfe81b
VS
67032013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
6706 computation for some years before epoch. Avode confusing division
6707 while on it.
6708
21344ef6
VS
67092013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * grub-core/video/i386/pc/vbe.c
6712 (grub_video_vbe_print_adapter_specific_info): Replace division by
6713 shifts.
6714
3f2b4d1a
VS
67152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Adjust types in gdb module to have intended unsigned shifts rather than
6718 signed divisions.
6719
3dac5878
VS
67202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
6723 maximum size is 4G - 1 on hfs
6724
5341c0fb
VS
67252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
6728
fc3ff2a2
VS
67292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
6732 function.
6733
81455e8e
AB
67342013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
6735
6736 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
6737 causing gcc error with gcc 4.7.1.
6738
efd4f117
NZ
67392013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6740
6741 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
6742 dereference null pointer. While the code is technically correct, gcc
6743 may eliminate a null check if pointer is already dereferenced.
6744
e11645f4
NZ
67452013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
6746
6747 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
6748 OOM check.
6749 * grub-core/normal/term.c (read_terminal_list): Likewise.
6750
77468368
VS
67512013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 Lift up core size limits on some platforms. Fix potential memory
6754 corruption with big core on small memory systems. Document remaining
6755 limits.
6756
f6b58fe5
VS
67572013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
6760 gotoxy to 0,0.
6761
19ce697d
VS
67622013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 Remove all trampoline support. Add -Wtrampolines when
6765 present. Remove symbols used for trampolines to make
6766 link fail if trampolines are present.
6767
73b5d90f
VS
67682013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
6771 append out of its parent.
6772
cb758e96
VS
67732013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
6776 parent.
6777
3188131f
VS
67782013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
6781 all vars to a macro. All users updated.
6782
e42b2514
VS
67832013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/disk/ieee1275/nand.c: Fix compilation on
6786 i386-ieee1275.
6787
83e1a1a1
VS
67882013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
6791
1d5a880f
VS
67922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
6795
6e4146c4
VS
67962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 Move to more hookless approach in IEEE1275 devices handling.
6799
99fcda8a
VS
68002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * grub-core/kern/term.c (grub_term_normal_color),
6803 (grub_term_highlight_color): Add back lost defaults.
6804
73bf57e2
VS
68052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Make elfload not use hooks. Opt for flags and iterators instead.
6808
7f8c105f
VS
68092013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
6812 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
6813
396d4091
VS
68142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 * grub-core/script/execute.c (gettext_append): Remove nested functions.
6817
68182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
6821 hook pass-through parameter. All users updated and unnested.
6822
74a27421
VS
68232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
6826 out of its parent.
6827
b46d4213
VS
68282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/fs/hfs.c: Remove nested functions.
6831
e114c3cc
VS
68322013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
6835 the context through.
6836 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
6837
f9b7d780
VS
68382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * util/grub-editenv.c (list_variables): Move print_var out of its
6841 parent.
6842
ca9c2608
VS
68432013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
6846 function.
6847
5d983f5f
VS
68482013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/gentrigtables.c: Make tables const.
6851
3056d3e7
VS
68522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 Remove nested functions from videoinfo iterators.
6855
e2303774
VS
68562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
6859 for 64-bit platforms.
6860
f42e3a2f
VS
68612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
6864 a FOR_CHILDREN macro.
6865
be174e5e
VS
68662013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
6869 platform from firmware path.
6870
0789b672
VS
68712013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 Enable linux16 on non-BIOS systems for i.a. memtest.
6874
6875 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
6876 correctly.
6877 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
6878
005a9c32
VS
68792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
6882 Fix end of table condition.
6883
ff2b3cd9
VS
68842013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
6887 out of its parent.
6888
4fc40ff8
VS
68892013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/fs/jfs.c: Remove nested functions.
6892
be42d97a
VS
68932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/fs/minix.c: Remove nested functions.
6896
99373ce4
VS
68972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/fs/iso9660.c: Remove nested functions.
6900
5aec2afe
VS
69012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
6904 of parent function.
6905
6c69e691
VS
69062013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * util/grub-fstest.c: Remove nested functions.
6909
43c91882
VS
69102013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/loader/machoXX.c: Remove nested functions.
6913
4eb8b756
CW
69142013-02-27 Colin Watson <cjwatson@ubuntu.com>
6915
6916 Remove nested functions from disk and file read hooks.
6917
6918 * include/grub/disk.h (grub_disk_read_hook_t): New type.
6919 (struct grub_disk): Add read_hook_data member.
6920 * include/grub/file.h (struct grub_file): Likewise.
6921 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
6922 argument.
6923
6924 Update all callers.
6925
df6da5a5
AB
69262012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
6927
6928 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
6929 Fix off by one error in enumerating extended partitions.
6930
21aecde5
AB
69312013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
6932
6933 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
6934 memory leak if device name is not found.
6935
f1a19118
AB
69362013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6937
6938 * grub-core/normal/menu_entry.c (update_screen): remove
6939 unused variable `off' which caused scroll down arrow to be always shown.
6940
958bfd20
AB
69412013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6942
6943 * grub-core/normal/menu_entry.c (insert_string): fix off by one
6944 access to unallocated memory.
6945
b7b78edb
AB
69462013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
6947
6948 * Makefile.util.def: Add partmap/msdos.c to common library.
6949 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
6950 * grub-core/disk/ldm.c: Check for existence of
6951 GRUB_PC_PARTITION_TYPE_LDM.
6952
28d468d6
VS
69532013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
6956 sizes and display sector size.
6957
d55ffb02
VS
69582013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Implement new command cmosdump.
6961
b5ea6ce0
VS
69622013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6963
6964 Support Openfirmware disks with non-512B sectors.
6965
6966 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
6967 size of the disk.
6968 * (grub_ofdisk_get_block_size): New function.
6969 * (grub_ofdisk_prepare): Use the correct block size.
6970 * (grub_ofdisk_read): Likewise.
6971 * (grub_ofdisk_write): Likewise.
6972 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
6973 New proto.
6974
cc0e476f
VS
69752013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
6978
c5dbdc33
VS
69792013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
6982 on first error.
6983
3f078c0f
VS
69842013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
6987 freeing it.
6988
66a93674
VS
69892013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 Implement USBDebug (full USB stack variant).
6992
c9f0c134
VS
69932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
6996 unless they have unexpected values.
6997
cfe1288b
VS
69982013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7001 grub_print_error.
7002
e42b9969
VS
70032013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7006 zero-out of port structure.
7007
cf94fd62
VS
70082013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7011 of extended attributes.
7012
f81ef4b5
AB
70132013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7014
7015 * util/grub-install.in: change misleading comment about
7016 device.map creation
7017
af18fdb4
VS
70182013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7021 when menu highlight color isn't set.
7022
08bcec50
M
70232013-01-27 C. Masloch <pushbx@38.de>
7024
7025 Improve FreeDOS direct loading support compatibility.
7026
7027 * include/grub/i386/relocator.h (grub_relocator16_state):
7028 New member ebp.
7029 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7030 variable.
7031 (grub_relocator16_boot): Handle %ebp.
7032 * grub-core/lib/i386/relocator16.S: Likewise.
7033 * grub-core/loader/i386/pc/freedos.c:
7034 Load BPB to pass kernel which partition to load from.
7035 Check that kernel file is not too large.
7036 Set register dl to BIOS unit number as well.
7037
7782b8a6
CW
70382013-01-22 Colin Watson <cjwatson@ubuntu.com>
7039
7040 * util/grub-reboot.in (usage): Document the need for
7041 GRUB_DEFAULT=saved.
7042 * util/grub-set-default.in (usage): Likewise.
7043 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7044
e661c180
VS
70452013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7048 than defining WORDS_BIGENDIAN manually.
7049
1c22ca9a
VS
70502013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7053 invariants.
7054
d44892fe
CW
70552013-01-21 Colin Watson <cjwatson@ubuntu.com>
7056
7057 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7058 nested.
7059 (blit_comb: add_device_width): Likewise.
7060
5fdbaed1
CW
70612013-01-21 Colin Watson <cjwatson@ubuntu.com>
7062
7063 Remove nested functions from USB iterators.
7064
7065 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7066 (grub_usb_controller_iterate_hook_t): Likewise.
7067 (grub_usb_iterate): Add hook_data argument.
7068 (grub_usb_controller_iterate): Likewise.
7069 (struct grub_usb_controller_dev.iterate): Likewise.
7070
7071 Update all implementations and callers.
7072
4250985a
VS
70732013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7076 margin when not needed.
7077
7d8848f3
VS
70782013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7079
bc136973 7080 Make color variables global instead of it being per-terminal.
7d8848f3
VS
7081
70822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7083
bc136973
VS
7084 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7085 asterisk.
7d8848f3 7086
ed12a003
CW
70872013-01-21 Colin Watson <cjwatson@ubuntu.com>
7088
7089 Fix powerpc and sparc64 build failures caused by un-nesting memory
7090 map iterators.
7091
6a0db449
CW
70922013-01-21 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7095 parameter declarations.
7096
ccd86b21
VS
70972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7100
822b726b
VS
71012013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 Improve spkmomdem reliability by adding a separator between bytes.
7104
115c2cc1
CW
71052013-01-21 Colin Watson <cjwatson@ubuntu.com>
7106
7107 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7108 an Acer registration utility with several sightings in the wild.
7109 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7110
fc524edf
CW
71112013-01-21 Colin Watson <cjwatson@ubuntu.com>
7112
7113 Remove nested functions from filesystem directory iterators.
7114
7115 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7116 (struct grub_fs.dir): Add hook_data argument.
7117
7118 Update all implementations and callers.
7119
53d3e4e3
CW
71202013-01-21 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * docs/grub.texi (Multi-boot manual config): Fix typo for
7123 "recommended".
7124
c821711f
LL
71252013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7126
7127 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7128 until after its use in generate_image.
7129
6a0debbd
CW
71302013-01-20 Colin Watson <cjwatson@ubuntu.com>
7131
7132 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7133 initrd size to addr_min, since the initrd will be allocated after
7134 this address.
7135
f41e08db
AB
71362013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7137
7138 * conf/Makefile.common: Fix autogen rules to pass definition
7139 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7140
77529e0f
LL
71412013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7142
7143 * include/grub/elf.h: Update ARM definitions based on binutils.
7144
b879aa7b
VS
71452013-01-20 Aleš Nesrsta <starous@volny.cz>
7146
7147 Split long USB transfers into short ones.
7148
8eb8284d
AB
71492013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7150
7151 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7152 is interrupted by ESC.
7153
08dad2dc
VS
71542013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * util/grub-script-check.c (main): Uniform the error message.
7157
6c724b85
CW
71582013-01-20 Colin Watson <cjwatson@ubuntu.com>
7159
7160 Remove nested functions from ELF iterators.
7161
25239370
CW
71622013-01-20 Colin Watson <cjwatson@ubuntu.com>
7163
7164 Remove nested functions from device iterators.
7165
7166 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7167 (grub_arc_iterate_devs): Add hook_data argument.
7168 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7169 (struct grub_ata_dev.iterate): Add hook_data argument.
7170 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7171 (grub_device_iterate): Add hook_data argument.
7172 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7173 (struct grub_disk_dev.iterate): Add hook_data argument.
7174 (grub_disk_dev_iterate): Likewise.
7175 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7176 Likewise.
7177 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7178 Likewise.
7179 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7180 type.
7181 (struct grub_partition_map.iterate): Add hook_data argument.
7182 (grub_partition_iterate): Likewise.
7183 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7184 (struct grub_scsi_dev.iterate): Add hook_data argument.
7185
7186 Update all callers.
7187
6c0314d6
CW
71882013-01-20 Colin Watson <cjwatson@ubuntu.com>
7189
7190 Fix typos for "developer" and "development".
7191
600dc5f1
VS
71922013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 Add license header to spkmodem-recv.c.
7195
17334a6b
VS
71962013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Rewrite spkmodem to use PIT for timing. Double the speed.
7199
7d462559
VS
72002013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Add new command pcidump.
7203
b78d6c32
VS
72042013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 New terminal outputs using serial: morse and spkmodem.
7207
34f71cb8
VS
72082013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 Improve bidi handling in entry editor.
7211
4542e71b
VS
72122013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7215 argument to prevent name collision.
7216
09fd6d82
CW
72172013-01-15 Colin Watson <cjwatson@ubuntu.com>
7218
7219 Remove nested functions from script reading and parsing.
7220
7221 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7222 getline_data argument, passed to getline.
7223 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7224 getline_data argument, passed to grub_parser_split_cmdline.
7225 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7226 lexerstate->getline_data to lexerstate->getline.
7227 (grub_script_lexer_init): Add getline_data argument, saved in
7228 lexerstate->getline_data.
7229 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7230 argument, passed to grub_script_parse.
7231 * grub-core/script/script.c (grub_script_parse): Add getline_data
7232 argument, passed to grub_script_lexer_init.
7233 * include/grub/parser.h (grub_parser_split_cmdline): Update
7234 prototype. Update all callers to pass appropriate getline data.
7235 (struct grub_parser.parse_line): Likewise.
7236 (grub_rescue_parse_line): Likewise.
7237 * include/grub/reader.h (grub_reader_getline_t): Add void *
7238 argument.
7239 * include/grub/script_sh.h (struct grub_lexer_param): Add
7240 getline_data member.
7241 (grub_script_parse): Update prototype. Update all callers to pass
7242 appropriate getline data.
7243 (grub_script_lexer_init): Likewise.
7244 (grub_normal_parse_line): Likewise.
7245
7246 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7247 data argument.
7248 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7249 static instead of nested. Rename to ...
7250 (grub_parser_execute_getline): ... this.
7251 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7252 data argument.
7253 * grub-core/normal/main.c (read_config_file: getline): Make static
7254 instead of nested. Rename to ...
7255 (read_config_file_getline): ... this.
7256 (grub_normal_read_line): Add unused data argument.
7257 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7258 getline): Make static instead of nested. Rename to ...
7259 (grub_script_execute_sourcecode_getline): ... this.
7260 * util/grub-script-check.c (main: get_config_line): Make static
7261 instead of nested.
7262
d0d4b8a0
CW
72632013-01-15 Colin Watson <cjwatson@ubuntu.com>
7264
7265 Remove nested functions from memory map iterators.
7266
7267 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7268 argument, passed to hook.
7269 * grub-core/kern/i386/coreboot/mmap.c
7270 (grub_linuxbios_table_iterate): Likewise.
7271 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7272 instead of nested.
7273 (grub_machine_mmap_iterate): Add hook_data argument.
7274 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7275 Add hook_data argument, passed to hook.
7276 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7277 Likewise.
7278 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7279 Likewise.
7280 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7281 Likewise.
7282 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7283 Likewise.
7284 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7285 Likewise.
7286 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7287 Likewise.
7288 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7289 (grub_machine_mmap_iterate): Likewise.
7290 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7291 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7292 prototype.
7293 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7294 Remove NESTED_FUNC_ATTR from here and from all users.
7295 (grub_mmap_iterate): Update prototype.
7296 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7297 pass appropriate hook data.
7298 (grub_machine_mmap_iterate): Likewise.
7299
7300 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7301 static instead of nested.
7302 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7303 Rename to ...
7304 (lsmmap_hook): ... this.
7305 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7306 Likewise.
7307 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7308 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7309 heap_init): Likewise.
7310 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7311 Rename to ...
7312 (mmap_iterate_hook): ... this.
7313 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7314 Likewise.
7315 * grub-core/lib/ieee1275/relocator.c
7316 (grub_relocator_firmware_get_max_events: count): Likewise.
7317 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7318 to ...
7319 (grub_relocator_firmware_fill_events_iter): ... this.
7320 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7321 hook): Likewise. Rename to ...
7322 (grub_relocator_alloc_chunk_align_iter): ... this.
7323 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7324 Rename to ...
7325 (generate_e820_mmap_iter): ... this.
7326 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7327 Rename to ...
7328 (count_hook): ... this.
7329 (grub_linux_boot: hook): Likewise. Rename to ...
7330 (grub_linux_boot_mmap_find): ... this.
7331 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7332 (grub_linux_boot_mmap_fill): ... this.
7333 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7334 hook): Likewise. Rename to ...
7335 (grub_fill_multiboot_mmap_iter): ... this.
7336 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7337 hook): Likewise. Rename to ...
7338 (count_hook): ... this.
7339 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7340 hook): Likewise. Rename to ...
7341 (grub_fill_multiboot_mmap_iter): ... this.
7342 * grub-core/loader/powerpc/ieee1275/linux.c
7343 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7344 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7345 Likewise. Rename to ...
7346 (alloc_phys_choose): ... this.
7347 (determine_phys_base: get_physbase): Likewise.
7348 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7349 find_hook): Likewise.
7350 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7351 (malloc_hook: count_hook): Likewise.
7352 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7353 Likewise. Rename to ...
7354 (lower_hook): ... this.
7355 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7356 (upper_hook): ... this.
7357 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7358 (post64_hook): ... this.
7359 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7360 Likewise. Rename to ...
7361 (lower_hook): ... this.
7362 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7363 (upper_hook): ... this.
7364 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7365 (grub_mmap_iterate: fill_hook): Likewise.
7366 (fill_mask): Pass addr and mask within a single struct.
7367 (grub_cmd_badram: hook): Make static instead of nested. Rename
7368 to ...
7369 (badram_iter): ... this.
7370 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7371 (cutmem_iter): ... this.
7372
22099030
VS
73732013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7376 delimit path in strings using quotes.
7377 * util/getroot.c (grub_guess_root_devices): Likewise.
7378 (grub_make_system_path_relative_to_its_root): Likewise.
7379 * util/grub-probe.c (probe): Likewise.
7380 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7381 (xrealpath): Likewise.
7382
4a9950ec
VS
73832013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Fix compilation with older compilers.
7386
7387 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7388 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7389 declarations.
7390 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7391 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7392 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7393 identifier with b.
7394 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7395 * include/grub/crypto.h: Add type defines.
7396 * util/import_gcrypth.sed: Remove duplicate type defines.
7397
adcc6020
VS
73982013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 New command list_trusted.
7401
7402 * grub-core/commands/verify.c (grub_cmd_list): New function.
7403
a4528937
CW
74042013-01-13 Colin Watson <cjwatson@ubuntu.com>
7405
7406 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7407 info message.
7408
ca3a7446
CW
74092013-01-13 Colin Watson <cjwatson@ubuntu.com>
7410
7411 Remove nested functions from PCI iterators.
7412
7413 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7414 passed to hook. Update all callers to pass appropriate hook data.
7415 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7416 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7417 Remove NESTED_FUNC_ATTR from here and from all users.
7418 (grub_pci_iterate): Update prototype.
7419 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7420 instead of nested. Rename to ...
7421 (grub_cs5536_find_iter): ... this.
7422 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7423 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7424 Likewise.
7425 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7426 Likewise.
7427 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7428 Likewise.
7429 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7430 Likewise.
7431 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7432 * grub-core/video/radeon_fuloong2e.c
7433 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7434 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7435 find_card): Likewise.
7436 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7437 Likewise.
7438
f8e98fee
VS
74392013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/commands/verify.c: Mark messages for translating.
7442
055b36b6
VS
74432013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7446 fatal.
7447
f7ff879b
VS
74482013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7451 fatal.
7452
74532013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
7454
7455 * autogen.sh: Do not try to delete nonexistant files.
7456 * util/import_gcrypth.sed: Add some missing header removals.
7457
01323d49
CW
74582013-01-12 Colin Watson <cjwatson@ubuntu.com>
7459
7460 Clean up dangling references to grub-setup.
7461 Fixes Ubuntu bug #1082045.
7462
7463 * docs/grub.texi (Images): Refer generally to grub-install rather
7464 than directly to grub-setup.
7465 (Installing GRUB using grub-install): Remove direct reference to
7466 grub-setup.
7467 (Device map) Likewise.
7468 (Invoking grub-install): Likewise.
7469 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7470 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7471 * util/grub-install.in (usage): Likewise.
7472
7473 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
7474 Apply to grub-bios-setup and grub-sparc64-setup rather than to
7475 grub-setup.
7476 * configure.ac: Remove grub_setup output variable.
7477
7478 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
7479 to grub-bios-setup.
7480 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
7481 grub-setup to grub-sparc64-setup.
7482
5e3b8dcb
VS
74832013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 Import gcrypt public-key cryptography and implement signature checking.
7486
535714bd
VS
74872013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/fs/ntfs.c: Ue more appropriate types.
7490 * grub-core/fs/ntfscomp.c: Likewise.
7491 * include/grub/ntfs.h: Likewise.
7492
3e4f3566
VS
74932013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 Support Apple FAT binaries on non-Apple platforms.
7496
7497 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
7498 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7499 Likewise.
7500 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
7501 Apple FAT binaries.
7502
4dedb13f
VS
75032013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
7506 sector devices.
7507
f8861eaf
CW
75082013-01-07 Colin Watson <cjwatson@ubuntu.com>
7509
7510 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
7511 explicitly zeroing elements.
7512 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
7513 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
7514 of elements in a structure already allocated using grub_zalloc.
7515 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7516
86065b0a
CW
75172013-01-07 Colin Watson <cjwatson@ubuntu.com>
7518
7519 * docs/grub.texi (grub_cpu): New subsection.
7520 (grub_platform): Likewise.
7521
c6f1e92f
VS
75222013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
7525
f797ec85
VS
75262013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
7529 divisions.
7530
033d0b4b
VS
75312013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
7534 * grub-core/fs/ntfscomp.c: Likewise.
7535 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
7536 (grub_ntfs_comp): Likewise.
7537
21d1b9a0
VS
75382013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
7541 Rename to ...
7542 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
7543 of groups_per_block. All users updated.
7544
10ca8645
VS
75452013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
7548 grub_error properly.
7549 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
7550 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
7551
a4c3ed4c
VS
75522013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
7555 always in /boot/zfs.
7556 Reported by: Yuta Satoh.
7557
0b716507
YS
75582013-01-03 Yuta Satoh <nigoro>
7559
7560 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
7561 ${grub_probe}
7562
00c05e22
VS
75632013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * configure.ac: Extend -Wno-trampolines to host.
7566
dadddb76
VS
75672013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
7570 entry->len = 0.
7571
54ce53ca
CW
75722013-01-03 Colin Watson <cjwatson@ubuntu.com>
7573
7574 * docs/grub.texi (Invoking grub-mkrelpath): New section.
7575 (Invoking grub-script-check): Likewise.
7576
8912efca
CW
75772013-01-03 Colin Watson <cjwatson@ubuntu.com>
7578
7579 * docs/grub.texi (Invoking grub-mount): New section.
7580 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
7581
c3fc8394
CW
75822013-01-02 Colin Watson <cjwatson@ubuntu.com>
7583
7584 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
7585 test failures, so that a failing unit test correctly causes 'make
7586 check' to fail.
7587
45d26abb
CW
75882013-01-02 Colin Watson <cjwatson@ubuntu.com>
7589
7590 Fix failing printf test.
7591
7592 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
7593 '$' in the correct order when collecting type information.
7594
971dd2c6
CW
75952013-01-02 Colin Watson <cjwatson@ubuntu.com>
7596
7597 * docs/grub.texi (configfile): Explain environment variable
7598 handling.
7599 (source): New section.
7600 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
7601
5c67ea6c
CW
76022012-12-31 Colin Watson <cjwatson@ubuntu.com>
7603
7604 Remove several trivially-unnecessary uses of nested functions.
7605
7606 * grub-core/commands/i386/pc/sendkey.c
7607 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
7608 instead of nested.
7609 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
7610 Rename to ...
7611 (legacy_file_getline): ... this.
7612 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
7613 Likewise.
7614 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
7615 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
7616 to ...
7617 (probe_dummy_iter): ... this.
7618 * grub-core/kern/i386/coreboot/mmap.c
7619 (grub_linuxbios_table_iterate: check_signature): Likewise.
7620 * grub-core/kern/parser.c (grub_parser_split_cmdline:
7621 check_varstate): Likewise. Mark inline.
7622 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
7623 an additional parameter.
7624 (find_long: fnd_long): Likewise. Pass two additional parameters.
7625 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
7626 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
7627 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
7628 Likewise. Rename to ...
7629 (grub_cmos_find_port_iter): ... this.
7630 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
7631 Rename to ...
7632 (find_rtc_iter): ... this.
7633
7634 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
7635 function directly into the function body, since it is only called
7636 once.
7637
33a68ac6
CW
76382012-12-30 Colin Watson <cjwatson@ubuntu.com>
7639
7640 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
7641 __attribute__ ((unused)).
7642 * grub-core/video/bochs.c (find_card): Likewise.
7643 * grub-core/video/cirrus.c (find_card): Likewise.
7644 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
7645 * grub-core/video/sis315pro.c (find_card): Likewise.
7646 * grub-core/video/sm712.c (find_card): Likewise.
7647
608b647a
CW
76482012-12-28 Colin Watson <cjwatson@ubuntu.com>
7649
7650 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
7651 Fixes Savannah bug #37821.
7652
fd49ceb3
CW
76532012-12-28 Colin Watson <cjwatson@ubuntu.com>
7654
7655 Apply program name transformations at build-time rather than at
7656 run-time. Fixes Debian bug #696465.
7657
7658 * acinclude.m4 (grub_TRANSFORM): New macro.
7659 * configure.ac: Create output variables with transformed names for
7660 most programs.
7661 * util/bash-completion.d/grub-completion.bash.in: Use
7662 pre-transformed variables for program names.
7663 * util/grub-install.in: Likewise.
7664 * util/grub-kbdcomp.in: Likewise.
7665 * util/grub-mkconfig.in: Likewise.
7666 * util/grub-mkconfig_lib.in: Likewise.
7667 * util/grub-mknetdir.in: Likewise.
7668 * util/grub-mkrescue.in: Likewise.
7669 * util/grub-mkstandalone.in: Likewise.
7670 * util/grub-reboot.in: Likewise.
7671 * util/grub-set-default.in: Likewise.
7672 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7673 * tests/util/grub-shell-tester.in: Remove unused assignment.
7674 * tests/util/grub-shell.in: Likewise.
7675 * util/grub.d/00_header.in: Likewise.
7676
7024b3c0
CW
76772012-12-28 Colin Watson <cjwatson@ubuntu.com>
7678
7679 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
7680
7681 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
7682 HAVE_RAW_DECL_GETS.
7683 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
7684
e3501b13
VS
76852012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
7688 Reported by: Eriks Latosheks <foresterlv>.
7689
b40c88a9
VS
76902012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * docs/grub.texi (Network): Update instructions on generating netboot
7693 image.
7694
ce96d01c
VS
76952012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
7698 around device name if necessarry.
7699
0f596201
PFS
77002012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7701
7702 * util/grub-install.in: Follow the symbolic link parameter added
7703 to the file command.
7704
600d5bdb
AB
77052012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
7706
7707 * util/grub-install.in: Remove stale TODO.
7708
64ebd2f4
PFS
77092012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7710
7711 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
7712 dynamic allocation for the bootpath buffer.
7713
74b2fe3e
DTB
77142012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
7715
7716 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
7717 window too small.
7718
969b804f
VS
77192012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
7722 argument rather than font name. All users updated.
7723 (grub_gfxterm_set_window): Likewise.
7724
b9f5ebd6
VT
77252012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
7726
7727 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
7728 from working.
7729
258f43b7
VS
77302012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * util/getroot.c (convert_system_partition_to_system_disk): Support
7733 nbd disks.
7734
cc1ce5f9
VS
77352012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
7738 infinite loop on corrupted FS.
7739
e77a16ca
VS
77402012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 Fix big-endian mtime.
7743
7744 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
7745 together sec and usec.
7746 (grub_ufs_dir): Use correct byteswapping for UFS time.
7747
d9c48c7b
VS
77482012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 Support big-endian UFS1.
7751
7752 * Makefile.util.def (libgrubmods): Add ufs_be.c
7753 * grub-core/Makefile.core.def (ufs1_be): New module.
7754 * grub-core/fs/ufs_be.c: New file.
7755 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
7756 the file.
7757
2f9f40ba
LL
77582012-11-28 Leif Lindholm <leif.lindholm@arm.com>
7759
7760 * include/grub/types.h: Fix functionality unaffecting typo in
7761 GRUB_TARGET_WORDSIZE conditional macro.
7762
48ff0889
PFS
77632012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7764
7765 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
7766
03711240
GS
77672012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7768
7769 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
7770 that /netbsd appears first (when it exists).
7771
a31b11bd
CJ
77722012-10-12 Christoph Junghans <ottxor@gentoo.org>
7773
7774 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
7775 Fixes Savannah bug #37558.
7776
e8a5d5d4
CW
77772012-10-12 Colin Watson <cjwatson@ubuntu.com>
7778
7779 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
7780 description of extract_entries_configfile.
7781
77822012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
7783
7784 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
7785 preferred_address.
7786 (grub_cmd_linux): Likewise.
7787 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
7788 preferred_lifetime. Update all users.
7789
288c757d
CW
77902012-09-26 Colin Watson <cjwatson@ubuntu.com>
7791
7792 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
7793 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
7794
0d35da3f
CW
77952012-09-26 Colin Watson <cjwatson@ubuntu.com>
7796
7797 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
7798 errors from grub-probe to /dev/null, not stdout.
7799
b78c3127
VS
78002012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
7803 sector 1.
7804
473959f0
CW
78052012-09-24 Colin Watson <cjwatson@ubuntu.com>
7806
7807 * util/grub-install.in: Make the error message if $source_dir
7808 doesn't exist more useful.
7809
794c8c33
CW
78102012-09-22 Colin Watson <cjwatson@ubuntu.com>
7811
7812 Fix grub-emu build on FreeBSD.
7813
7814 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
7815 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
7816 headers on Linux.
7817 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
7818 implementation is currently Linux-specific.
7819 * util/getroot.c (exec_pipe): Define only on Linux or when either
7820 libzfs or libnvpair is unavailable.
7821 (find_root_devices_from_poolname): Remove unused path variable.
7822
86d08fdb
CW
78232012-09-19 Colin Watson <cjwatson@ubuntu.com>
7824
7825 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
7826 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
7827 should fit before end == 63.
7828
735abf54
CW
78292012-09-19 Colin Watson <cjwatson@ubuntu.com>
7830
7831 * util/grub-setup.c (write_rootdev): Remove unused core_img
7832 parameter. Update all callers.
7833 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
7834 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7835 GRUB_SETUP_BIOS.
7836
140acd3c
VS
78372012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * util/grub-mkconfig_lib.in (grub_tab): New variable.
7840 (grub_add_tab): New function.
7841 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
7842 * util/grub.d/10_illumos.in: Likewise.
7843 * util/grub.d/10_kfreebsd.in: Likewise.
7844 * util/grub.d/10_linux.in: Likewise.
7845 * util/grub.d/10_netbsd.in: Likewise.
7846 * util/grub.d/10_windows.in: Likewise.
7847 * util/grub.d/10_xnu.in: Likewise.
7848 * util/grub.d/20_linux_xen.in: Likewise.
7849 * util/grub.d/30_os-prober.in: Likewise.
7850
7ddffdad
VS
78512012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7854 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
7855 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
7856 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
7857 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
7858 ieee1275-nocursor.
7859 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7860 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
7861
4e092454
VS
78622012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
7865 le-conversion.
7866 Reported by: BURETTE, Bernard.
7867
735abf54 78682012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
7869
7870 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
7871 from comment.
7872
dfd39dbd
CW
78732012-09-14 Colin Watson <cjwatson@ubuntu.com>
7874
7875 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
7876 IEEE1275 machines. Fixes powerpc-emu compilation.
7877 * include/grub/terminfo.h: Likewise.
7878
3bfa763c
VS
78792012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
7882 a const pointer.
7883 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
7884 const pointer.
7885 (efiemu_set_variable): Make vendor_guid a const pointer.
7886
250e475b
VS
78872012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 Don't require grub-mkconfig_lib to generate manpages for programs.
7890
7891 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
7892 dependencies, don't add grub-mkconfig_lib.
7893 (program): Pass empty adddeps.
7894 (script): Pass grub-mkconfig_lib as adddeps.
7895
592fd0e4
VS
78962012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
7899 * util/getroot.c (grub_find_device): Likewise.
7900 (get_mdadm_uuid): Likewise.
7901 (grub_util_is_imsm): Likewise.
7902 (grub_util_pull_device): Likewise.
7903 * util/grub-probe.c (probe): Likewise.
7904
801a3027
BG
79052012-09-10 Benoit Gschwind <gschwind>
7906
7907 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
7908 (devs): Add devpath_8.
7909
c5052c81
PJ
79102012-09-08 Peter Jones <pjones@redhat.com>
7911
7912 * grub-core/Makefile.core.def (efifwsetup): New module.
7913 * grub-core/commands/efi/efifwsetup.c: New file.
7914 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
7915 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
7916 New define.
7917 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
7918
8e832f71
JS
79192012-09-05 Jiri Slaby <jslaby@suse.cz>
7920
7921 * configure.ac: Add SuSe path.
7922
f0f55752
CW
79232012-09-05 Colin Watson <cjwatson@ubuntu.com>
7924
7925 * NEWS: Fix typo.
7926
ecadc4c2
CW
79272012-09-05 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * util/import_gcry.py: Sort cipher_files, to make build system
7930 generation more deterministic.
7931
64498f25
VS
79322012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
7935 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
7936 (grub_set_datetime): Likewise.
7937
9cc836a2
VS
79382012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
7941 warnings.
7942
bcfcea01
VS
79432012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
7946
a4099485
VS
79472012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
7950
265c162a
CW
79512012-09-04 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
7954 required for checkouts from bzr, but it may be useful for users or
7955 distributors wishing to update translations against a tarball
7956 distribution, and it can be helpful for the tarball to be a superset
7957 of what's in bzr.
7958
3d171e95
CW
79592012-09-04 Colin Watson <cjwatson@ubuntu.com>
7960
7961 * Makefile.am (EXTRA_DIST): Add
7962 grub-core/tests/boot/linux.init-mips.S,
7963 grub-core/tests/boot/linux.init-ppc.S, and
7964 grub-core/tests/boot/linux-ppc.cfg.
7965
f2c2503e
CW
79662012-09-04 Colin Watson <cjwatson@ubuntu.com>
7967
7968 * grub-core/mmap/mips/loongson: Remove empty directory.
7969
79702012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
7971
7972 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
7973 gone.
7974
ab2163d5
CW
79752012-09-04 Colin Watson <cjwatson@ubuntu.com>
7976
7977 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
7978 grub-sparc64-setup.
7979
ce938140
GS
79802012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7981
7982 * configure.ac: Strengthen the test for working -nostdinc -isystem.
7983
529f58a5
GS
79842012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7985
7986 * po/POTFILES.in: Regenerated.
7987
16cf79e9
GS
79882012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
7989
7990 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
7991 (NetBSD): New subsection.
7992
39b27f1e 79932012-07-22 Ales Nesrsta <starous@volny.cz>
7994
7995 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
7996 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
7997
a885261b
VS
79982012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8001 * util/grub.d/10_hurd.in: Add missing quoting.
8002 * util/grub.d/10_illumos.in: Likewise.
8003 * util/grub.d/10_kfreebsd.in: Likewise.
8004 * util/grub.d/10_linux.in: Likewise.
8005 * util/grub.d/20_linux_xen.in: Likewise.
8006
7bd29c01
VS
80072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 New command `lsefi'.
8010
8011 * grub-core/Makefile.core.def (lsefi): New module.
8012 * grub-core/commands/efi/lsefi.c: New file.
8013 * include/grub/efi/api.h: Add more GUIDs.
8014
ac625d8f
VS
80152012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8018 (grub_bsd_elf32_hook): Likewise.
8019 (grub_bsd_elf64_size_hook): Likewise.
8020 (grub_bsd_elf64_hook): Likewise.
8021 (grub_bsd_load_elf): Likewise.
8022
e73bb801
VS
80232012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8026 if hash function is unavailable.
8027 (dec_stream_header): Likewise.
8028
e81db8b5
VS
80292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8032 filter state.
8033
d187a1c3
VS
80342012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Fix coreboot compilation.
8037
8038 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8039 (grub_vga_text_init_real): ... this.
8040 (grub_vga_text_fini): Rename to ...
8041 (grub_vga_text_fini_real): ... this.
8042
91a05f64
VS
80432012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8046
6af96df7
VS
80472012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * grub-core/lib/legacy_parse.c: Support clear and testload.
8050
4d569e12
VS
80512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8054
073b57bb
VS
80552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8058
a706f4cc
VS
80592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/net/tftp.c (ack): Fix endianness problem.
8062 (tftp_receive): Likewise.
8063 Reported by: Michael Davidsaver.
8064
e7850aa9
VS
80652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8068
80692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8072 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8073 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8074
35692881
VS
80752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8078 efi_mmap_size.
8079 Reported by: Stuart Hayes.
8080
c35fc5bd
VS
80812012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8084
8085 * grub-core/Makefile.core.def (mda_text): New module.
8086 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8087 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8088 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8089 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8090 here.
8091 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8092 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8093 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8094 here.
8095 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8096 to ..
8097 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8098 ... here
8099 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8100 here.
8101 * grub-core/term/i386/vga_common.c: Removed.
8102 * include/grub/i386/vga_common.h: Likewise.
8103 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8104 (grub_vga_cr_bw_read): Likewise.
8105 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8106 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8107 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8108 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8109 grub_vga_cr_read/grub_vga_cr_write.
8110 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8111
5f91f701
VS
81122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * configure.ac: Bump version to 2.00.
8115 * grub-core/normal/main.c (features): Add feature_200_final.
8116
0c4f85f6
VS
81172012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
81182012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8119
8120 * NEWS: Fix unclarity and language mistakes.
8121
f923ad22
VS
81222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8125 additional size to 3 pages.
8126 Reported by: Stuart Hayes.
8127
d22029ba
VS
81282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * NEWS: Add 2.00 entry.
8131
58eee08f
VS
81322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8135 put explicit "/" for empty path.
8136 (wildcard_expand): Improve dprintf.
8137
c59bdff7
VS
81382012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8141 it's equal to currnode. This can happen with "" symlink.
8142
5e6a440a
YB
81432012-06-27 Yves Blusseau <blusseau@zetam.org>
8144
8145 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8146 echo shell command by printf command.
8147
73a68bcb
VS
81482012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8151 the value returned by firmware is the maximal position, not diumension.
8152 (grub_terminfo_output_state): Use a more sane fallback.
8153
392a603b
VS
81542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8157
42d0867f
VS
81582012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8161 frequency to 150 MHz.
8162
489509f4
VS
81632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Apple fixes.
8166
8167 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8168 __APPLE_
8169 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8170 definition.
8171 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8172
9f3fc883
VS
81732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 Handle slash in HFS label.
8176
8177 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8178 (grub_hfs_dir): Tanslate slash.
8179 (grub_hfs_label): Don't translate slash.
8180
54853fd7
VS
81812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8184 network protocol listing since it introduces problematic dependency on
8185 net module.
8186
4dc02ddf
VS
81872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8190
c50c867d
VS
81912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 Init video early on yeeloong to avoid being rebooted by watchdog.
8194
8195 * grub-core/Makefile.am (gensm712): New target.
8196 (sm712_start.S): Likewise.
8197 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8198 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8199 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8200 description.
8201 * include/grub/vga.h: Move registry definitions to...
8202 * include/grub/vgaregs.h: ... here.
8203
5f92c8a1
VS
82042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8207 signedness.
8208
e9e6f111
VS
82092012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8212 platforms with firmware disk drivers in the core.
8213
754ad9eb
VS
82142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8217 informative verbose message.
8218 (read_lv): Handle 64-bit segment size.
8219
315654c2
VS
82202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8223
fb022c79
VS
82242012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8227 character but still remove trainling spaces.
8228 (grub_fat_label): Ignore archive flag.
8229
8645f72c
VS
82302012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8233 cast between linux_kernel_header and linux_kernel_params.
8234
36498496
VS
82352012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8238 type for size.
8239 (grub_raid6_recover_func_t): Likewise.
8240 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8241 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8242
0b5ea6b8
VS
82432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8246
650cfcfe
GS
82472012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8248
8249 Fix overflow.
8250
8251 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8252 [__NetBSD__]: Add explicit cast before bitshift.
8253
8a4d6a44
VS
82542012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * configure.ac: Bump to 2.00~rc1.
8257
2fb97ed3
VS
82582012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8261 half of $a0.
8262
1fa097dc
VS
82632012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
82642012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8265
8266 * docs/grub.texi: Fix search syntax.
8267 (Multi-boot manual config): Put msdos rather than GPT example.
8268 Grammar corrections.
8269
c890ba78
VS
82702012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8273
0f92dca7
VS
82742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8277
3988c4a0
VS
82782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8281 message on double free. Put the value of magic in case of mismatch.
8282
9e86d4c5
VS
82832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Speed-up video on yeeloong.
8286
8287 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8288 add cached_ptr.
8289 (grub_video_sm712_video_fini): Unmap cached_ptr.
8290 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8291 (grub_video_sm712_set_active_render_target): Removed.
8292 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8293 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8294 sync caches.
8295
ed24c312
VS
82962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 Avoid flushing the same line multiple times on loongson.
8299
8300 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8301 Step in 32 bytes and not 1 byte.
8302 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8303 Likewise.
8304
d1718e7d
VS
83052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8308 subvolumes.
8309
982f1909
VS
83102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Implement flow control for http.
8313
8314 * grub-core/net/http.c (parse_line): Handle response 206.
8315 (http_receive): Stall if too many packets are in the queue.
8316 (http_establish): Fix range header.
8317 (http_seek): Fix double free.
8318 (http_close): Likewise.
8319 (http_packets_pulled): New function.
8320 (grub_http_protocol): Set http_seek
8321 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8322 (ack_real): Set window depending on i_stall.
8323 (grub_net_send_tcp_packet): Likewise.
8324 (grub_net_tcp_stall): New function.
8325 (grub_net_tcp_unstall): Likewise.
8326 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8327 (grub_net_tcp_unstall): Likewise.
8328
bd407d6e
VS
83292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8332
c7564b8e
VS
83332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8336
a3706162
VS
83372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * tests/util/grub-shell.in: Fix a typo.
8340
b27069e0
VS
83412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 Implement flow control for tftp.
8344
8345 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8346 packets but stop only if stop condition is satisfied.
8347 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8348 `stall' instead of `eof' as stop condition.
8349 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8350 (http_err): Likewise.
8351 * grub-core/net/tftp.c (ack): Replace the first argument with data
8352 instead of socket.
8353 (tftp_receive): Stall if too many packets are in wait queue.
8354 (tftp_packets_pulled): New function.
8355 (grub_tftp_protocol): Set packets_pulled.
8356 * include/grub/net.h (grub_net_packets): New field count.
8357 (grub_net_put_packet): Increment count.
8358 (grub_net_remove_packet): Likewise.
8359 (grub_net_app_protocol): New field `packets_pulled'.
8360 (grub_net): New field `stall'.
8361
6b9cfac6
VS
83622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8365 sync part to handle them.
8366
f35abd81
VS
83672012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8370 * grub-core/net/drivers/ieee1275/ofnet.c
8371 (grub_ieee1275_net_config_real): Likewise.
8372
0e7ec820
VS
83732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8376 the direct route for server/gateway.
8377
9d611a31
VS
83782012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8381 IP address to server name since we may not hame the DNS.
8382
418f45ab
VS
83832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8386 freeing random buffer on failure.
8387 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8388
44a0efc1
VS
83892012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8392
531e2241
VS
83932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8396 reserved bytes.
8397 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8398 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8399 Handle malloc error correctly.
8400
cde393c9
VS
84012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8404 blocks.
8405
538478d0
VS
84062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8409 increment.
8410
9b55efe0
VS
84112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8414 none is explicitly specified.
8415
9eb832c3
VS
84162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8419 while reallocating.
8420
d6b7c7c9
VS
84212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Respect netmask from bootp/dhcp.
8424
8425 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8426 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8427 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8428 into ...
8429 (grub_net_add_ipv4_local): ... this.
8430 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8431 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8432 (grub_net_add_ipv4_local): New proto.
8433
67caf9eb
VS
84342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8437 determining EFI memory map size.
8438
43657558
VS
84392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8442
eb6d0dd3
VS
84432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8446 when looking for partition separator.
8447
31230544
VS
84482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8451 Escape commas.
8452
918a2517
VS
84532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 Restructure FAT driver to avoid hook in label reading as it hits a
8456 GCC bug.
8457
8458 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
8459 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8460 (grub_fat_iterate_dir): Split into ...
8461 (grub_fat_iterate_init): ... this, ...
8462 (grub_fat_iterate_fini): ... this, ...
8463 (grub_fat_iterate_dir_next): ... and this. All users updated.
8464
9f1d654e
VS
84652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8468 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
8469 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8470 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
8471 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
8472 New fields last_key and last_key_time.
8473 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
8474 extended key-esc into extended key-extended key.
8475
52f0f643
VS
84762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Avoid unnecessary memcpy of whole video buffer.
8479
8480 * grub-core/video/fb/video_fb.c (dirty): New struct.
8481 (framebuffer): Add members current_dirty and previous_dirty.
8482 (dirty): New function.
8483 (grub_video_fb_fill_rect): Update dirty.
8484 (common_blitter): Likewise.
8485 (grub_video_fb_scroll): Likewise.
8486 (doublebuf_blit_update_screen): Copy only dirty part.
8487 (doublebuf_pageflipping_update_screen): Likewise.
8488 (grub_video_fb_doublebuf_blit_init): Init dirty.
8489 (doublebuf_pageflipping_init): Likewise.
8490 (grub_video_fb_setup): Likewise.
8491
e169a180
VS
84922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
8495 poll rate.
8496
48556879
VS
84972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 Fix wildcard regexp dot and other special characters handling.
8500 Reported by: Robert Mabee.
8501
8502 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
8503 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
8504 (split_path): Trigger expansion on '?'.
8505 (unescape): New function.
8506 (wildcard_expand): Unescape parts copied without globbing.
8507 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
8508 (grub_script_arglist_to_argv): Don't unescape expansions.
8509
0494408e
VS
85102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * include/grub/net.h (grub_net_card): New member txbufsize.
8513 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
8514 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8515 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
8516 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
8517 txbufsize.
8518 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
8519 compatible property to check for macs. Set
8520 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
8521 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
8522 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
8523 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
8524 (send_card_buffer): Use txbuf.
8525 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
8526 nested function out of the parent while on it.
8527
cc35fe8f
VS
85282012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
8531 presence check.
8532 (grub_ieee1275_net_config_real): Fix config pointer.
8533
970a0a09
VS
85342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
8537 filename parsing to non-block devices.
8538
3e19bf87
VS
85392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/kern/device.c (grub_device_open): Remove dead code.
8542
c62d1a0c
VS
85432012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
8546 All users updated.
8547
ef76bec3
VS
85482012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
8551 UUID search command even if hints probing failed.
8552
85532012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
8554
8555 * po/POTFILES.in: Regenerated.
8556
70aaf305
VS
85572012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 Speed-up video on fuloong.
8560
8561 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
8562 New function.
8563 (grub_pci_device_unmap_range): Handle non-cached address.
8564 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
8565 add direct_ptr.
8566 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
8567 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
8568 (grub_video_sis315pro_set_active_render_target): Removed.
8569 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
8570 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8571 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
8572 sync caches.
8573 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
8574 New proto.
8575
10400f0b
VS
85762012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * docs/grub.texi (Multi-boot manual config): New section.
8579
ba67e2c6
VS
85802012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 Avoid slow read-back from VRAM.
8583
8584 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8585 Move from here ...
8586 * grub-core/video/fb/video_fb.c
8587 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
8588 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
8589 (front_target): Remove front_target. Add pages.
8590 (grub_video_fb_init): Skip setting front_pages.
8591 (grub_video_fb_fini): Likewise.
8592 (doublebuf_blit_update_screen): Use pages.
8593 (grub_video_fb_doublebuf_blit_init): Likewise.
8594 (doublebuf_pageflipping_init): Allocate offscreen buffer.
8595 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
8596 (grub_video_fb_setup): Prefer doublebuffing.
8597
377c98cb
VS
85982012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
8601 gzio.
8602
eac49cff
VS
86032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Add loongson tests.
8606
8607 * tests/util/grub-shell.in: Handle loongson.
8608 * tests/partmap_test.in: Add loongson to the list of platform using ATA
8609 drivers.
8610 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
8611 Reboot instead of shutdown if REBOOT is defined.
8612
0321415e
VS
86132012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
8616 sized ports since unlike on real hardware qemu supports only 32-bit
8617 regs.
8618
3f2bdd8f
VS
86192012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * Makefile.util.def (grub-mkrescue): Enable on loongson.
8622 * util/grub-mkrescue.in: Handle loongson.
8623
29a049c9
VS
86242012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
8627 Set is_part appropriately.
8628 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
8629 names. Canonicalize partition without full disk.
8630
4abde346
VS
86312012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 Revert usb-quiesce since it's wrong.
8634
8635 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
8636 (grub_ofdisk_init): Don't do quiesce.
8637
61f1d93b
VS
86382012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
8641 PowerMac workaround to Xserves as well.
8642 Information supplied by: Benjamin Herrenschmidt.
8643
a09eb541
VS
86442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 Don't assume that beginning address is also the entry point on ppc.
8647
8648 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
8649 (grub_linux_boot): Use linux_entry.
8650 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
8651 (grub_linux_load64): Likewise.
8652
505b3c9b
VS
86532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
8656
cbe0b4ef
VS
86572012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
8660 needlessly lose the console.
8661
3006e981
VS
86622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
8665 space.
8666
4e5a96b0
VS
86672012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8668
7da036bb
VS
8669 Remove non-functional EFI grub_get_rtc. Put a better fatal message
8670 than current grub_get_rtc() not implemented when booted with
8671 coreboot without TSC.
8672
8673 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
8674 Add machine/time.h to kernel headers on loongson.
8675 * grub-core/Makefile.core.def (kernel): Remove
8676 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
8677 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
8678 (grub_get_rtc): Likewise.
8679 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
8680 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
8681 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
8682 * grub-core/kern/i386/tsc.c (grub_tsc_init)
8683 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
8684 rather than installing known non-working time source.
8685 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
8686 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
8687 * include/grub/time.h: Don't include machine/time.h.
8688 * include/grub/efi/time.h: Removed.
8689 * include/grub/i386/efi/time.h: Likewise.
8690 * include/grub/i386/ieee1275/time.h: Likewise.
8691 * include/grub/powerpc/ieee1275/time.h: Likewise.
8692 * include/grub/sparc64/ieee1275/time.h: Likewise.
8693 * include/grub/x86_64/efi/time.h: Likewise.
8694
86952012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
8698
8699 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
8700 value.
8701 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
8702 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
8703 with dotless variants when any combining above is present.
8704
5561c22d
VS
87052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
8708 text and not binary.
8709
96f7e60e
VS
87102012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Stop polling as soon as we have the packet we were waiting for.
8713
8714 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
8715 All users updated.
8716 * grub-core/net/arp.c (have_pending): New var.
8717 (pending_req): Likewise.
8718 (grub_net_arp_send_request): Fill pending_req and use have_pending as
8719 stop indicator.
8720 (grub_net_arp_receive): Set have_pending.
8721 * grub-core/net/dns.c (recv_data): New field stop.
8722 (recv_hook): Set stop.
8723 (grub_net_dns_lookup): Init stop and use as stop condition.
8724 * grub-core/net/http.c (http_establish): Use headers_recv as stop
8725 condition.
8726 * grub-core/net/net.c (grub_net_poll_cards): New argument
8727 stop_condition. Stop when it goes true.
8728 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
8729 indicator.
8730 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
8731
3e747239
VS
87322012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 Keep TX and RX buffers on EFI rather than always allocate new ones.
8735
8736 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
8737 card. All users updated.
8738 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
8739 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
8740 (get_card_packet): Likewise.
8741 (grub_efinet_findcards): Init new fields.
8742
f695e99a
VS
87432012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
8746 compilation error on sparc64.
8747
9e5e66d1
VS
87482012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Use ITC on IA64 rather than broken routine based on daytime.
8751
8752 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
8753 ia64.
8754 (grub_get_rtc) [__ia64__]: Likewise.
8755 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
8756 (get_itc): New function.
8757 (grub_rtc_get_time_ms): Likewise.
8758 (grub_machine_init): Calibrate ITC.
8759 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
8760 Keep only on non-ia64. Don't export since it's broken and used only
8761 if TSC is unavailable.
8762
a1767404
VS
87632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
8766 even if it's used.
8767 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
8768 Skip if parent is unused.
8769
34b2bced
VS
87702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
8773
5e619f40
VS
87742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 Fix wildcard escaping.
8777
8778 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
8779 * grub-core/script/execute.c (wildcard_escape): .. to here.
8780 Don't escape dot.
8781 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
8782 * grub-core/script/execute.c (wildcard_unescape): .. to here.
8783 Don't escape dot.
8784 * grub-core/script/execute.c (gettext_append): Always escape.
8785 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
8786 * grub-core/script/yylex.l: Don't cut away the escaping.
8787 * tests/grub_script_echo1.in: Add tests with wildcard.
8788
c8ca5855
VS
87892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
8792 (ftdi_hw_configure): Likewise.
8793 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
8794 define.
8795 (real_config): Handle 1.5 stop bits.
8796 (pl2303_hw_configure): Likewise.
8797
7183452c
VS
87982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * Makefile.am: Add ppc linux bootcheck.
8801 * grub-core/tests/boot/linux-ppc.cfg: New file.
8802 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
8803
f57c84cd
VS
88042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * tests/grub_script_expansion.in: Skip network protocols.
8807
ecfc6207
VS
88082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
8811
8d03d284
VS
88122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
8815 --rom-directory.
8816 Add -graft-points.
8817
61c42af0
VS
88182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 ESCC serial driver for conducting sautomated tests in qemu.
8821 Not tested on real hardware.
8822
8823 * include/grub/serial.h (grub_serial_port): New field escc_desc.
8824 * grub-core/term/ieee1275/escc.c: New file.
8825 * grub-core/Makefile.core.def (escc): New module.
8826
08fd1291
VS
88272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
8830 invalid on error.
8831 (serial_hw_fetch): Don't read invalid handle.
8832 (serial_hw_put): Don't write into invalid handle.
8833
08dafeea
VS
88342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 Add a 1.5 stop bits value.
8837
8838 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
8839 * include/grub/serial.h (grub_serial_stop_bits_t): Add
8840 GRUB_SERIAL_STOP_BITS_1_5.
8841
9068fdcf
VS
88422012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
8845 value rather than let it uninited.
8846
f4d5820f
VS
88472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * grub-core/commands/wildcard.c (+check_file): New function.
8850 (wildcard_expand): Don't expand to non-existing files, expand with
8851 suffix and not attempt to expand if not needed.
8852
3d2de9a7
VS
88532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
8856 out of partitions containing other partitions.
8857
c5c81ff9
VS
88582012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
8861 on some qemu versions with GRUB.
8862
8863 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
8864 define.
8865 (grub_openbsd_bootarg_pcibios): New struct.
8866 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
8867 Add PCIINFO.
8868
08a14e0b
VS
88692012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * tests/util/grub-shell.in: Trim firmware output on EFI.
8872
cede3ca3
VS
88732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
8876 and coreboot since it's already in kernel.
8877
558d3a60
VS
88782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
8881 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8882 to here. New return value start. All users updated.
8883 Recursively scan linear mappings.
8884 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
8885 proto.
8886 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8887 Use grub_util_get_dm_node_linear_info.
8888 * util/getroot.c (convert_system_partition_to_system_disk): Use
8889 grub_util_info rather than grub_dprintf.
8890 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
8891
60fde14d
VS
88922012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
8895
8896 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
8897 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
8898
24bd8838
VS
88992012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * include/grub/types.h (grub_set_unaligned64): New function.
8902 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
8903 (setup): Likewise.
8904
7bc06a49
VS
89052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
8908 (grub_ofdisk_fini): Quiesce USB devices.
8909
49cea015
VS
89102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
8913 caches.
8914
8dcbe03b
VS
89152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
8918
5b258735
VS
89192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/disk/pata.c (grub_pata_pio_read)
8922 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
8923 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8924
37ba07eb
VS
89252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 Extend automated tests to qemu-mips.
8928
8929 * Makefile.am: reorganise tests and enable qemu-mips.
8930 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
8931 * grub-core/tests/boot/linux.init-mips.S: New file.
8932 * tests/partmap_test.in: Handle ata0 disks.
8933 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
8934 non-pc i386.
8935
070038f8
VS
89362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
8939 ia64.
8940 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
8941 quotes while on it.
8942
004be2cd
VS
89432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
8946 (grub_halt): Likewise.
8947 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
8948
b1622487
VS
89492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/term/serial.c (grub_serial_register)
8952 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
8953 the behaviour in line with x86 platforms.
8954
b7b4ab33
VS
89552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
8958 (grub_ata_strncpy): Likewise.
8959 (grub_ata_identify): Add missing byteswaps.
8960
5e3535ae
VS
89612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
8964 byte-swap.
8965 (screen_read_char): Likewise.
8966 (grub_vga_text_cls): Likewise.
8967
c21b17e6
VS
89682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
8971 filenames.
8972 (make_file_path): Likewise.
8973
bf293dec
VS
89742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
8977 machines.
8978 Tested by: Paulo Flabiano Smorigo.
8979 Crucial information about API supplied by: Coleen <Last name unknown>.
8980 Reviewed by: Coleen <Last name unknown>.
8981
81f6ef0e
VS
89822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * util/grub-mkimage.c: Disable -Wcast-align.
8985
7284143a
VS
89862012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
8989 as they are fatal.
8990
b99f3e00
VS
89912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
8994
944f752d
VS
89952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * util/grub-probe.c (escape_of_path): Fix double free.
8998
6cce6f38
VS
89992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/commands/videoinfo.c (hook): Show pitch.
9002
1e1eb50e
VS
90032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9006
1c715b5a
VS
90072012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9010 (probe): Add ieee1275 to OFW devices.
9011
007ae52d
VS
90122012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9015
4557a36d
VS
90162012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Handle IBM OFW path.
9019
9020 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9021 available.
9022 (of_path_of_scsi): Handle vdevice.
9023
efbeefe9
VS
90242012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9027 Allocate in multiples of 16 to avoid adding a few bytes free region the
9028 windows bugs upon.
9029
15a940bb
VS
90302012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9033 Allocate in multiples of 16 to avoid adding a few bytes free region the
9034 windows bugs upon.
9035 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9036
6e5efd60
VS
90372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9040 resolutions.
9041 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9042 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9043
0d3d137e
IS
90442012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9045
9046 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9047
45dbe300
VS
90482012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9051 resulted in \\ at the end of the line.
9052
6d8db947
VS
90532012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9056 (grub_parser_cmdline_state): Likewise.
9057 (grub_parser_split_cmdline): Likewise.
9058
de89d338
VS
90592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9062 /dev/root and /dev/dm-*.
9063
00d41dee
VS
90642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9067 fix partially stale display.
9068
f95d1f11
VS
90692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9072 substraction.
9073
6297e197
VS
90742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9077 Fix MBR remapping workaround.
9078 (grub_util_biosdisk_read) [__linux__]: Likewise.
9079
8a7ecad3
VS
90802012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9083
2b34f944
VS
90842012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * configure.ac: Bump to beta6.
9087
684aef11
CW
90882012-05-31 Christer Weinigel <christer@weinigel.se>
9089
9090 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9091
05b0bb91
VS
90922012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9095 (grub_cmd_linux): Likewise.
9096
bda36bfa
CW
90972012-05-31 Christer Weinigel <christer@weinigel.se>
9098
9099 Fix EHCI low-speed.
9100
9101 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9102 (GRUB_EHCI_MULT_TWO): Likewise.
9103 (GRUB_EHCI_MULT_THREE): Likewise.
9104 (GRUB_EHCI_CMASK_MASK): New enum value.
9105 (GRUB_EHCI_SMASK_MASK): Likewise.
9106 (GRUB_EHCI_CMASK_OFF): Likewise.
9107 (GRUB_EHCI_SMASK_OFF): Likewise.
9108 (grub_ehci_pci_iter): Enable periodic schedule.
9109 (grub_ehci_parse_notrun): Likewise.
9110 (grub_ehci_restore_hw): Likewise.
9111 (grub_ehci_setup_qh): Set flags for low speed transfers.
9112 (grub_ehci_find_qh): Use periodic list for low speed.
9113 (grub_ehci_setup_transfer): Check periodic queue as well.
9114 (grub_ehci_check_transfer): Likewise.
9115 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9116
e12bcb1c
PFS
91172012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9118
9119 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9120 parameter is used.
9121
bcc75fb3
PJ
91222012-05-31 Peter Jones <pjones@redhat.com>
9123
9124 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9125 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9126 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9127
f19cb95e
VS
91282012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9131 uninited variable. Allocate at least setup_sects.
9132
a4e5ca80
VS
91332012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 Fix handling of EFI with big memory maps.
9136
9137 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9138 (real_mode_mem): Likewise.
9139 (real_mode_target): Likewise.
9140 (real_mode_pages): Likewise.
9141 (prot_mode_pages): Likewise.
9142 (linux_params): New var.
9143 (linux_cmdline): Likewise.
9144 (free_pages): Don't set real mode variables.
9145 (allocate_pages): Don't allocate real mode memory.
9146 (grub_e820_add_region): Remove the limit.
9147 (grub_linux_boot): Allocate and copy real mode memory.
9148 (grub_linux_unload): Free linux_cmdline.
9149 (grub_cmd_linux): Use temporary storage for parameters.
9150 (grub_cmd_initrd): Likewise.
9151 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9152 (linux_kernel_params): Make it 1K big.
9153
ddb73558
VS
91542012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * Makefile.util.def: Remove -Wno-format.
9157 * grub-core/Makefile.core.def: Likewise.
9158
1c4afb60
VS
91592012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * tests/cmp_unit_test.c: Add missing failure message.
9162 * tests/example_unit_test.c: Likewise.
9163 * tests/printf_unit_test.c: Likewise.
9164
941e3a6d
VS
91652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9168 relaxation of protective MBR requirements.
9169
b105df76
VS
91702012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * configure.ac: Add condition for COND_HOST_XNU.
9173 * Makefile.util.def (10_xnu): New script.
9174 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9175
84e1569e
VS
91762012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9179 objconv bug.
9180
130c0f77
VS
91812012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9184 Binary on other platforms stays identical.
9185
6fd0b143
VS
91862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9189 Apple.
9190
0af1751d
VS
91912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9194
176d5f7d
VS
91952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9198 rather than defining size_t ourselves to avoid conflict.
9199
7de5e20a
VS
92002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9203 initialisation to avoid __bzero reference.
9204
f7143efe
VS
92052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9208 version.
9209 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9210 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9211 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9212 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9213 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9214
e6ad0555
VS
92152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9218 * grub-core/kern/misc.c: Likewise.
9219 * grub-core/loader/i386/xnu.c: Likewise.
9220 * include/grub/i386/tsc.h: Likewise.
9221 * include/grub/symbol.h: Likewise.
9222
4a5a3c4a
VS
92232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9226 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9227 on older compiler.
9228
037f6d90
VS
92292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9232 Implement Apple flavour.
9233 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9234
f7194551
VS
92352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9238 (memmove) [__APPLE__]: Likewise.
9239 (memcpy) [__APPLE__]: Likewise.
9240 (memset) [__APPLE__]: Likewise.
9241 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9242 (memmove) [__APPLE__]: Likewise.
9243 (memcpy) [__APPLE__]: Likewise.
9244 (memset) [__APPLE__]: Likewise.
9245
85a730ca
VS
92462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9249 dependency discard.
9250
40e80b94
VS
92512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/normal/main.c (read_config_file): Provide config_file and
9254 config_directory.
9255 * util/grub.d/41_custom.in: Use config_directoy when available.
9256
9da59c32
VS
92572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9260 (grub_bfs_dir): Likewise.
9261
2787ae53
PJ
92622012-05-27 Peter Jones <pjones@redhat.com>
9263
9264 The old code gives arguments to a printf function which can't work
9265 correctly, and the compiler complains.
9266
9267 * grub-core/tests/example_functional_test.c (example_test): Add
9268 missing text.
9269 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9270 * include/grub/test.h (grub_test_assert_helper): New declaration.
9271 (grub_test_assert): Use grub_test_assert_helper.
9272
526ef13d
VS
92732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9276 (exfctest): ... this to avoid overlong filenames.
9277 All users updated.
9278
20dd511c
VS
92792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Handle "." and ".." on squashfs.
9282
9283 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9284 Make inode numbers into stack.
9285 (grub_squash_read_symlink): Use stack.
9286 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9287 (make_root_node): Fill stack.
9288 (grub_squash_open): Use stack.
9289
1d80c62a
VS
92902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9293 freeing.
9294
d336f652
VS
92952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9298 stderr on test calls.
9299
8b43f587
VS
93002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9303
80a3dc3f
VS
93042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9307
47e297d4
VS
93082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9311 "..".
9312
df042ccb
VS
93132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9316 (grub_hfsplus_iterate_dir): Add "." and "..".
9317
fc977f48
VS
93182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9321 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9322
f3250e5f
VS
93232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9326 (find_path): Handle "." and "..".
9327
fd8ed4c5
VS
93282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9331 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9332 (grub_affs_iterate_dir): Handle hardlinks.
9333
4ce776d2
MG
93342012-05-26 Matthew Garrett <mjg@redhat.com>
9335
9336 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9337 (grub_efi_console_fini): Likewise.
9338 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9339 (grub_video_gop_fill_mode_info): Rename to ...
9340 (grub_video_gop_fill_real_mode_info): ... this.
9341 (grub_video_gop_fill_mode_info): New function.
9342 (grub_video_gop_setup): Setup double framebuffer.
9343 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9344 Free offscreen.
9345 (grub_video_gop_swap_buffers): Copy framebuffer.
9346 (grub_video_gop_fini): Free offscreen buffer.
9347 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9348 New enum.
9349 (grub_efi_gop_blt_pixel): New struct.
9350
683031ba
VS
93512012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * gentpl.py: Remove error disabling for objconv.
9354
c2deb798
VS
93552012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * configure.ac: Remove -Wunitialized as it's not available on older
9358 compilers.
9359
93602012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
9361
9362 Fix extent overflow comparator.
9363
9364 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9365 (grub_hfsplus_read_block): Set type.
9366 (grub_hfsplus_cmp_extkey): Compare type.
9367
d6b1fd36
VS
93682012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9371
0a9aa0f6
VS
93722012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9375 than 0.
9376
8360e159
VS
93772012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9380 (dejavu_bold_14.pf2): New target.
9381
501b9e4b
VS
93822012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * configure.ac: Fix djvu font detection.
9385
7026b0e2
VS
93862012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9389 ext* instead of ext2.
9390
c2a51ade
VS
93912012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9394 name with \0.
9395
8f803a5d
JU
93962012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9397
9398 * docs/grub-dev.texi: Remove dot from .png.
9399
13c6353f
VS
94002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9403 protective entry in any slot.
9404 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9405 if protective entry is found in any slot.
9406
9407 Protective entry in non-first slot make no sense but is a widespread
9408 brain damage.
9409
4cf6be1b
VS
94102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9413
937d1c44
VS
94142012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9417 with old reiserfs.
9418 (grub_reiserfs_open): Don't free root.
9419
021d90ec
VS
94202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9423 after freeing for safety.
9424
967b2b64
VS
94252012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9428 Reported by: Jordan Uggla.
9429
34274d02
JU
94302012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9431
967b2b64
VS
9432 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9433 actual implementation. Specifically, clarify that the grub menu will
9434 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9435 passed.
34274d02 9436
dcaaae9d
BH
94372012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9438
9439 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9440 of r0.
9441
7086ad52
VS
94422012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 Remove unjustified hard dependency of normal.mod on gfxterm.
9445
9446 * include/grub/term.h (grub_term_output): New member fullscreen.
9447 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9448 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9449 (grub_gfxterm): Set .fullscreen.
9450 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9451 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9452
37ed2c9b
VS
94532012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
9456 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 9457 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 9458
a4469c88
VS
94592012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
9462
4e461486
VS
94632012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9466 a bad FS.
9467
aa78f5c4
VS
94682012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
9471 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
9472
197626b5
VS
94732012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
9476 (grub_jfs_mount): Fill caseins.
9477 (grub_jfs_find_file): Respect caseins.
9478
8ad3f28c
VS
94792012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
9482 through UTF-16.
9483
0c6c324e
VS
94842012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
9487 New argument origpath. All users updated.
9488
c6666ba6
VS
94892012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
9492 (read_attr): Ensure that we read start of possibly compressed block.
9493
e28e5fe5
VS
94942012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
9497 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
9498 All users updated.
9499
5fc23ab2
VS
95002012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
9503 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
9504 (dejavu.pf2): Replace with ...
9505 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
9506 this.
9507
79dbc21c
VS
95082012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * util/grub.d/20_linux_xen.in: Add missing line.
9511
d2fcfb0c
VS
95122012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
9515 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
9516 (grub_utf16_to_utf8): Likewise.
9517
5560e9d6
VS
95182012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
9521 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
9522 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9523 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
9524 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9525 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
9526
95272012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
9528
9529 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
9530 a bad FS.
9531
5560e9d6 95322012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
9533
9534 * grub-core/fs/udf.c (read_string): Bail out on size=0.
9535 (grub_udf_read_symlink): Handle read_string failure.
9536
5eae3175
VS
95372012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
9540 comment.
9541
c1ad82db
VS
95422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 Fix handling of UDF symlinks.
9545
9546 * grub-core/fs/udf.c (read_string): New argument outbuf.
9547 All users updated.
9548 (grub_ufs_read_symlink): Rename to ...
9549 (grub_udf_read_symlink): ... this. All users updated.
9550 Handle symlinks with more than one component.
9551
33eca6e0
VS
95522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
9555 symlinks. Replace leading colon with a slash.
9556
57f4a70b
VS
95572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
9560 filename.
9561
38c8ee20
VS
95622012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
9565 match in inner node.
9566
2e57f28f
VS
95672012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
9570 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
9571 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
9572 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
9573 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
9574 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
9575 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
9576 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
9577 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
9578
fe8c2f11
VS
95792012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 Use grub-probe and not cmp to check that disk is empty.
9582
9583 * util/grub-install.in: Use grub-probe for zero-check.
9584 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
9585 (probe): Handle PRINT_ZERO_CHECK.
9586 (argp_parser): Handle -t zero_check.
9587
95882012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
9589
9590 Flush block cache on adding disk to device map.
9591
9592 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
9593 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
9594 adding.
9595 (read_device_map): Likewise.
9596 (open_device): Flush on opening.
9597
690434e8
VS
95982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
9601 (handle_symlink): Fix off-by-one error.
9602 Canonicalize the target.
9603 (grub_cpio_dir): Canonicalize the name.
9604 Fix memory leak.
9605 Set directory.
9606 (grub_cpio_open): Canonicalize the name.
9607
742d2be6
VS
96082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
9611 handling.
9612
3244fe96
VS
96132012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
9616 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
9617
8aeb1837
VS
96182012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
9621 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 9622 All users updated.
8aeb1837 9623
9133fd05
VS
96242012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
9627 counterpart.
9628
6d521c5b
VS
96292012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 Fix UFS1 big file support.
9632
9633 * grub-core/fs/ufs.c (INODE): Removed.
9634 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
9635 64-bit.
9636 (INODE_MODE): Simplify.
9637 (grub_ufs_inode): Use uint64_t for size and not int64_t.
9638 (grub_ufs_lookup_symlink): Don't use INODE.
9639
21b82e17
VS
96402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 Fix minixfs with non-power-of-two blocks since it's supported by minix.
9643
9644 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
9645 (grub_minix_data): Replace log_block_size with block_size.
9646 (grub_minix_read_file): Use block_size but avoid 64-bit division.
9647 (grub_minix_mount): Fill block_size.
9648
96492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
9650
9651 * configure.ac: Bump to beta5.
9652
f417ed04
VS
96532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 Fix wrapped HFS+ handling.
9656
9657 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
9658 blocks_start. All users updated.
9659 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
9660 wrapping offset.
9661 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
9662
607d282b
VS
96632012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 Fix long symlinks on reiserfs.
9666
9667 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
9668 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
9669 (grub_reiserfs_iterate_dir): Save size for non-directories.
9670 (grub_reiserfs_open): Don't reread stat block as we already know the
9671 size.
9672 (grub_reiserfs_read): Split into...
9673 (grub_reiserfs_read_real): ... and ...
9674 (grub_reiserfs_read): ...this.
9675
ae16024d
VS
96762012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 Fix non-indexed JFS.
9679
9680 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
9681 (grub_jfs_data): New field namecomponentlen.
9682 (grub_jfs_mount): Fill namecomponentlen.
9683 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
9684
eea1e26e
VS
96852012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
9688 * tests/grub_script_echo1.in: Add tests.
9689
df760f77
VS
96902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * util/grub-install.in: Ignore empty devicetree directory.
9693
5efb817d
B
96942012-05-08 Bean <bean123ch@gmail.com>
9695
9696 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
9697 All users updated.
9698 (free_rsm): Free header as well.
9699 (free_old_fragments): Fix memory leak.
9700 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
9701 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
9702 (destroy_pq): Likewise.
9703 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
9704
668ea6d2
VS
97052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
9708 resulting hash as a precaution.
9709
1739b1fe
VS
97102012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9711
9712 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
9713 '_' in variable names.
9714 * grub-core/net/net.c (grub_net_network_level_interface_register):
9715 Likewise.
9716
6ae485aa
VS
97172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 Fix AFFS with non-512B blocks.
9720
9721 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
9722 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
9723 (grub_affs_data): Replace blocksize with log_blocksize.
9724 (grub_affs_read_block): Fix non-512B blocks.
9725 (grub_affs_read_symlink): Likewise.
9726 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
9727 (grub_affs_read): Fix non-512B blocks.
9728 (grub_affs_label): Likewise.
9729 (grub_affs_mtime): Likewise.
9730 (grub_affs_mount): Fix block detection routine.
9731
d20fab84
VS
97322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 Add filesystem mtime to AFFS.
9735
9736 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
9737 (aftime2ctime): New function.
9738 (grub_affs_dir): Use aftime2ctime.
9739 (grub_affs_label): Fix return value.
9740 (grub_affs_mtime): New function.
9741 (grub_affs_fs): Add mtime.
9742
e87b10f5
VS
97432012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
9746 UTF-8.
9747
7dceec9b
VS
97482012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
9751 UTF-8.
9752
2f48221f
VS
97532012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
9756
dacd85cf
VS
97572012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
9760 flags.
9761 (FLAGS_CASE_SENSITIVE): New enum value.
9762 (cache_entry): New struct.
9763 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
9764 cache_size and cache.
9765 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
9766 Add log_blocksize and fshelp_flags.
9767 (grub_sfs_read_extent): Handle non-512 blocks.
9768 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
9769 (grub_sfs_read_file): Handle non-512 blocks.
9770 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
9771 fshelp_flags.
9772 (grub_sfs_read_symlink): Handle non-512 blocks.
9773 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
9774 (grub_sfs_dir): Free cache.
9775 (grub_sfs_close): Likewise.
9776
24e9a854
VS
97772012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
9780 filesystems.
9781
62ace64d
VS
97822012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
9785
83b2e89c
VS
97862012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
9789
75ccaea3
VS
97902012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
9793 (grub_sfs_read_extent): Likewise.
9794 (grub_sfs_read_block): Likewise.
9795 (grub_sfs_mount): Likewise.
9796 (grub_sfs_iterate_dir): Likewise.
9797 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
9798 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
9799
1b8463f2
VS
98002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 Fix errors on compressed NTFS with 512B clusters.
9803
9804 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
9805 types.
9806 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
9807 not 0.
9808 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
9809 Relax check for inline extents.
9810 (ntfscomp): Return correct -1 on error and not 0.
9811
4f8e368f
VS
98122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * util/grub-install.in: Fix handling of prefix containing spaces.
9815
6f5d5ee8
VS
98162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
9819 (grub_squash_read_data): Fix offset byte-swapping.
9820
ce41ab7a
VS
98212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
9824 per common usage and preffered in several parts of code.
9825 (grub_memcmp): Likewise.
9826 (grub_strncmp): Likewise.
9827 * include/grub/misc.h (grub_strcasecmp): Likewise.
9828 (grub_strncasecmp): Likewise.
9829 * Makefile.util.def (cmp_test): New test.
9830 (grub_script_strcmp): Likewise.
9831 * tests/cmp_unit_test.c: New file.
9832 * tests/grub_script_strcmp.in: Likewise.
9833 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
9834
49717bf4
VS
98352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * include/grub/pci.h: Move enums into no-asm part.
9838
0a308f64
VS
98392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
9842
1796965f
ST
98432012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
9844
9845 * util/getroot.c (find_hurd_root_device): Try to make error message
9846 and comments to translators clearer.
9847
4e9b2819
VS
98482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
9851
076aeb50
VS
98522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
9855 btrfs.
9856
19424d94
VS
98572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * docs/grub.cfg: Update.
9860
ebb73076
VS
98612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * docs/grub.texi (PXE): Remove not present variables.
9864
9a1b669c
VS
98652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/net/net.c (defserver_set_env): New function.
9868 (defserver_get_env): Likewise.
9869 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
9870
d38bf7d3
VS
98712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
9874 entries.
9875
98762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
9877
9878 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
9879 * grub-core/kern/emu/hostdisk.c: Likewise.
9880
e5e4ca48
ST
98812012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9882
9883 Handle hurd userspace partitions.
9884
9885 * util/getroot.c (find_hurd_root_device): New function.
9886 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
9887
56bb5dd5
VS
98882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
9891 names.
9892 Reported by: Bastian Blank.
9893
9e8bc27a
VS
98942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
9897 crossing page boundary.
9898
aa01499d
VS
98992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 Fix B-tree search in BFS, especially in presence of non-ASCII
9902 characters.
9903
9904 * grub-core/fs/bfs.c (bfs_strcmp): New function.
9905 (find_in_b_tree): Use standard bsearch + btree algorithm.
9906
57006035
VS
99072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
9910 and so on.
9911
9d34bb85
MG
99122012-05-03 Matthew Garrett <mjg@redhat.com>
99132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Suspend broadcom cards in order to stop their DMA.
9916
9917 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
9918 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
9919 (pci): Don't build on x86 EFI.
9920 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
9921 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
9922 New function.
9923 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
9924 stop_broadcom if running on EFI.
9925 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
9926 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
9927 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
9928 (grub_pci_find_capability): New proto.
9929
01aab997
VS
99302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * docs/grub.texi: Remove dot from the extension as it apparently
9933 doesn't work with some makeinfo versions.
9934
fbd8dca6
VS
99352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
9938 with GRUB expectance.
9939
dab797f4
VS
99402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
9943
1516bfb4
VS
99442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
9947 zero after directory block since last entry may be not 0-terminated if
9948 it ends on block boundary. Use continue instead of if spanning whole
9949 loop.
9950
a3a0eace
VS
99512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 Support 4K sectors UDF inline files.
9954
9955 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
9956 (grub_udf_extended_file_entry): Likewise.
9957 (grub_fshelp_node): Name the anonymous union. Put block at the end.
9958 All users updated.
9959 (get_fshelp_size): New function.
9960 (grub_udf_read_icb): Read whole block.
9961 (grub_udf_iterate_dir): Likewise.
9962 (grub_udf_dir): Likewise.
9963 (grub_udf_open): Likewise.
9964
c82f16c1
VS
99652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
9968
59fd2aac
VS
99692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
9972 inline symlinks in addition to workaround.
9973
3b4afb4d
VS
99742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
9977
f45c794a
VS
99782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
9981
f25cecbd
VS
99822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
9985
bb9a34e8
VS
99862012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 Fix reiserfs big seek times.
9989
9990 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
9991 exact. All users updated.
9992 (grub_reiserfs_read): Use nearest btree search for seeking.
9993 Fix return value on error.
9994
dc478aea
VS
99952012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
9998 entries.
9999 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10000 * docs/grub.texi: Update menuentry description.
10001
8db10f47
VS
100022012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10005 crash when embedding onto filesystem.
10006
bcb288ed
VS
100072012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10010 name.
10011
a626fdd7
VS
100122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10015
b2f68477
VS
100162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10019 commit.
10020
ba15b2af
B
100212012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
100222012-05-01 Bean <bean123ch@gmail.com>
10023
10024 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10025
a188012e
VS
100262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10029 Special behaviour for len = 0 to read whole file isn't used anywhere and
10030 can cause buffer ovewrflows in several places.
10031
f0a53ed2
VS
100322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10035
5ed554f0
VS
100362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 Handle RAIDZ on non-512B sectors.
10039
10040 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10041 max_children_ashift.
10042 (fill_vdev_info_real): Fill max_children_ashift.
10043 (read_device): Use max_children_ashift.
10044
ddc58357
VS
100452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10048
e3282399
VS
100492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10052 disk names.
10053 * docs/grub.texi: Update device.map parts.
10054
ee618bd4
VS
100552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 Don't scan into non-diskfilter devices having diskfilter names.
10058
10059 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10060 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10061 handling.
10062 (scan_disk_hook): New function.
10063
bdf88864
B
100642012-04-29 Bean <bean123ch@gmail.com>
10065
10066 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10067 allocation.
10068
32745f51
MK
100692012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10070
10071 * configure.ac: Detect starfield theme font path
10072 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10073
bc95c8c0
VS
100742012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10077 geometry on serial consoles.
10078
147fbcab
VS
100792012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10082 because of network consoles.
10083
0f42c889
VS
100842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10087 handling.
10088
4a3594c9
VS
100892012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10092 falls on Q syndrom.
10093
5cb53879
VS
100942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10097 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10098
b282dfe5
VS
100992012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10102 Allocate at lest 8192 for temporary buffer as required for lzo.
10103
daa59f47
VS
101042012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10107 to cluster_bits, since it's already added in.
10108 (grub_fat_read_data): Likewise.
10109
986748ce
VS
101102012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10113 as long as cluster size is multiple of 512 bytes.
10114
a20f6ad0
VS
101152012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * util/grub-mkrescue.in: Fix locale directory.
10118
385f9abb
VS
101192012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/kern/emu/hostdisk.c (map): Make static.
10122
1c557d30
B
101232012-04-23 Bean <bean123ch@gmail.com>
10124
10125 * util/grub-fstest.c (fstest): Add missing break.
10126
524b5d3a
ST
101272012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10128
10129 Fix hurd build.
10130
10131 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10132 not define nr variable.
fe4824e9 10133 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10134 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10135 grub_find_device): Do not define.
524b5d3a 10136
9a06490c
VS
101372012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 Fix kfreebsd compile and behaviour.
10140
10141 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10142 format-security.
10143 * util/getroot.c: Fix wait.h include.
10144 (grub_guess_root_devices): Error if grub_find_device fails.
10145 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10146 (grub_util_get_dev_abstraction): Likewise.
10147 (grub_util_pull_device): Likewise.
10148 (grub_util_get_grub_dev): Likewise.
10149 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10150
48143d96
VS
101512012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Fix and unify wholedisk detection.
10154
10155 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10156 is_part. All users updated.
10157 (device_is_wholedisk): Removed.
10158 (grub_util_biosdisk_get_grub_dev): Use is_part.
10159
ebbd24f3
VS
101602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10163 mode.
10164
56f7aa1e
VS
101652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * configure.ac: Bump to beta4.
10168
9c815e01
VS
101692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10172 --fs-uuid --set UUID syntax.
10173
59e2651a
VS
101742012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10177 disunification.
10178
54e03cfc
VS
101792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10182
81092a75
MK
101832012-04-18 Mads Kiilerich <mads@kiilerich.com>
10184
10185 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10186
f8315e14
MG
101872012-04-18 Mike Gilbert <floppym@gentoo.org>
10188
10189 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10190
1501ac21
B
101912012-04-18 Bean <bean123ch@gmail.com>
10192
10193 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10194 place.
10195
cb7f944e
VS
101962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10199 users updated.
10200 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10201 corresponding to GRUB partitions.
10202 (grub_util_biosdisk_write): Likewise.
10203
b72d44a1
VS
102042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Scan mdraid before LVM.
10207
10208 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10209 (grub_diskfilter_register_front): ... this.
10210 (grub_diskfilter_register_back): New function.
10211 All users of grub_diskfilter_register updated.
10212
33d918b8
VS
102132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * util/grub-install.in: Fix an automatic target detection bug.
10216
c6ca973d
VS
102172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * util/grub-install.in: New option --efi-directory.
10220
b41be562
VS
102212012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10224 boot services if we have no other choice.
10225
102262012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10229 document it.
10230 * tests/util/grub-shell.in: Update to --directory.
10231
e0595a73
VS
102322012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10235
4ed80652
VS
102362012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10239 (grub_minix_read_file): Likewise.
10240 (grub_minix_read_inode): Likewise.
10241 (grub_minix_find_file): Likewise.
10242 (grub_minix_dir): Likewise.
10243
56008077
VS
102442012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * util/grub-setup.c (setup): Fix partition handling and blocklist
10247 check.
10248
ee520775
VS
102492012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10252 redundant buggy overlap check.
10253
16fc9293
VS
102542012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10257 and grub-mknetdir.
10258
9bab65c4
VS
102592012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10262 kh.loadflags on pre-2.00 kernels.
10263
3c491b47
VS
102642012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 Terminate UNDI and PXE before launching the payload to avoid problems
10267 with DMA.
10268
10269 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10270 (grub_loader_flags): ... this. All users updated.
10271 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10272 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10273 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10274 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10275 function.
10276 (grub_pxe_restore): Likewise.
10277 (fini_hnd): New var.
10278 (GRUB_MOD_INIT): Register shutdown hook.
10279 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10280 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10281 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10282 (grub_loader_set): Rename second argument to flags.
10283
851ffada
VS
102842012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10287 written bytes.
10288 (grub_get_num_of_utf8_bytes): New function.
10289 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10290 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10291 executing it.
10292 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10293 (grub_ucs4_to_utf8): Change return type.
10294
491c57a8
VS
102952012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10298 warning.
851ffada
VS
10299 * grub-core/fs/bfs.c (hop_level): Likewise.
10300 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 10301
756773df
VS
103022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * grub-core/lib/adler32.c: Recode due to license unclearness.
10305
fd556a96
VS
103062012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10309 (test_header): Likewise.
10310
9f9d3f69
VS
103112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 Fix --help formatting.
10314
10315 * util/grub-mkconfig_lib.in (print_option_help): New function.
10316 (grub_fmt): Likewise.
10317 * util/grub-install.in: Use print_option_help and grub_fmt.
10318 * util/grub-kbdcomp.in: Likewise.
10319 * util/grub-mkconfig.in: Likewise.
10320 * util/grub-mknetdir.in: Likewise.
10321 * util/grub-mkrescue.in: Likewise.
10322 * util/grub-mkstandalone.in: Likewise.
10323 * util/grub-reboot.in: Likewise.
10324 * util/grub-set-default.in: Likewise.
10325 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10326
561ec77e
VS
103272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * linguas.sh: Remove autogenerated *.po.
10330
7ec2b021
VS
103312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * po/README: Move language fetcing to ...
10334 * linguas.sh: ... here.
10335 * po/README: Point to linguas.sh.
10336
a88f3270
VS
103372012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * po/README: Exclude ko.po due to disclaimer problems.
10340
d61357ce
VS
103412012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10344 len = 0.
10345 (grub_gettext_translate_real): Handle 0th string.
10346 (grub_gettext_translate): Ensure that "" isn't translated.
10347
505e41dc
VS
103482012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10351 TRANSLATORS comment.
10352 (grub_diskfilter_print_partmap): Propagate changing of error into
10353 warning.
10354
e44092db
VS
103552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10358 to uint64_t to prevent overflow.
10359 (grub_diskfilter_lv): Increase start_extent and extent_count
10360 to uint64_t to prevent overflow.
10361
9b83956a
VS
103622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * configure.ac: Increase version.
10365
da0d5b3f
VS
103662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10369
10370 * po/Rules-translit: New file.
10371 * po/arabic.sed: Likewise.
10372 * po/cyrillic.sed: Likewise.
10373 * po/greek.sed: Likewise.
10374 * po/hebrew.sed: Likewise.
10375 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10376 * po/Makefile.in.in: Add extra_dist4.
10377
ac66b453
VS
103782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10381
10382 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10383 modify names. Introduce MODE_BIGENDIAN.
10384 * grub-core/fs/minix_be.c: New file.
10385 * grub-core/fs/minix2_be.c: Likewise
10386 * grub-core/fs/minix3_be.c: Likewise.
10387 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10388 minix3_be.
10389 * grub-core/Makefile.core.def (minix_be): New module.
10390 (minix2_be): Likewise.
10391 (minix3_be): Likewise.
10392
103932012-04-01 Felix <email@hamburg.de>
10394
10395 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10396 (devs): Add MBP 2011.
10397
0a2d5a82
VS
103982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10401
d1625889
VS
104022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/normal/cmdline.c (print_completion): New field
10405 prompt_len.
10406 (grub_cmdline_get): Handle width properly.
10407
6d36a236
VS
104082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10411
9576977e
VS
104122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 10415 after 29th of February.
9576977e 10416
d73ff15d
VS
104172012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 Fix exfat endianness handling.
10420
10421 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10422 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10423 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10424 Byte-swap utf16 when necessary.
10425 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10426
bbb39a45
AB
104272012-03-31 Anton Blanchard <anton@samba.org>
104282012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 Fix btrfs endianness handling.
10431
10432 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10433 (lower_bound): Make root uint64_t. Use root in le.
10434 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10435 (find_path): Fix template key init.
10436 (grub_btrfs_dir): Fix mtime byteswap.
10437 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10438
354e0af7
VS
104392012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10442 recursion_depth. Break infinite resursions. All users updated.
10443
4e75f21c
VS
104442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10447 after free.
10448 Reported by: Peter Jones.
10449
25581802
AB
104502012-03-31 Anton Blanchard <anton@samba.org>
10451
10452 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
10453 8 bit values.
10454
08fbf92e
VS
104552012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * util/grub-install.in: Fix nvram call for PreP.
10458
5d1182a6
VS
104592012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
10462 the error when some elements are missing into a warning.
10463
3f8cdd90
VS
104642012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
10467
51006716
CW
104682012-03-28 Colin Watson <cjwatson@ubuntu.com>
10469
10470 * docs/grub.texi (Invoking grub-probe): New section.
10471 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
10472
e1bd676b
VS
104732012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 Fix tab and wide character handling in editor and menu.
10476
10477 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
10478 agglomerate control characters with combining marks.
10479 (bidi_line_wrap): Allow break on tab.
10480 (grub_unicode_get_comb_start): New function.
10481 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
10482 and tab correctly.
10483 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
10484 with a space.
10485 * grub-core/normal/term.c (print_ucs4_terminal): New argument
10486 fixed_tab_size. All users updated.
10487 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
10488 (grub_term_getcharwidth): Handle \t.
10489 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
10490 and copy.
10491
22e6a774
VS
104922012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Handle big-endian mdraid.
10495
10496 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
10497 * grub-core/Makefile.core.def (mdraid09_be): New module.
10498 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
10499 rather than grub_le_to_cpu* and grub_cpu_to_le*.
10500 * grub-core/disk/mdraid_linux_be.c: New file.
10501
3c0eae66
VS
105022012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
10505
b6cf74c9
VS
105062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
10509 missing quotes which caused confusion among translators.
10510
83c93b9c
VS
105112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * util/grub-mkconfig_lib.in: Fix typo.
10514
ac6fd218
VS
105152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
10518 spaces.
10519 * tests/grub_script_leading_whitespace.in: New file.
10520 * Makefile.util.def (grub_script_leading_whitespace): New test.
10521
ba287dd8
VS
105222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
10525 to work.
10526
d2d58d0a
VS
105272012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
10530 starts with control character.
10531
0382d9bb
VS
105322012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
10535 overflow.
10536 (grub_gdb_outbuf): Likewise.
10537
d83ff9f9
VS
105382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
10541 zero terminator. Fixes a crash.
10542
2282da4a
VS
105432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
10546 beyond 4 GiB.
10547 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
10548 images independently of preffered adderss field.
10549
0ae4f0bd
VS
105502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
10553 * grub-core/commands/regexp.c: Likewise.
10554 * grub-core/loader/i386/linux.c: Likewise.
10555 * grub-core/partmap/msdos.c: Likewise.
10556 * grub-core/script/execute.c: Likewise.
10557 * grub-core/term/gfxterm.c: Likewise.
10558
546fbe9b
VS
105592012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 Add variable parsing in $"..." and fix several mismatches with bash.
10562
10563 * Makefile.util.def (grub_script_gettext): New test.
10564 * grub-core/script/execute.c (parse_string): New function.
10565 (gettext_append): Likewise.
10566 (grub_script_arglist_to_argv): Use gettext_append.
10567 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
10568 * tests/grub_script_gettext.in: New file.
10569
9fdb2d7b
VS
105702012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 Fix handling of leading spaces in scripts.
10573
10574 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
10575 spaces.
10576 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
10577 other than skipping \r. All users updated.
10578 * tests/grub_script_echo1.in: Add space-related tests.
10579 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
10580
1a1ac4f6
VS
105812012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
10584
b63d89b6
VS
105852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * configure.ac: Bump up the version to beta2.
10588
17f38c0f
VS
105892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Fix gettext reload bugs (e.g. inability to disable gettext
10592 once enabled).
10593
10594 * grub-core/gettext/gettext.c: Encapsulate all static variables in
10595 main_context and secondary_context. All functions updated.
10596 (grub_gettext_translate): Rename to ...
10597 (grub_gettext_translate_real): ... this. Return NULL on failed
10598 translate.
10599 (grub_gettext_translate): Handle secondary context.
10600 (grub_gettext_delete_list): Close file and zero-out the context.
10601 (grub_mofile_open): Don't call grub_gettext_delete_list.
10602 Don't close file.
10603 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
10604 if locale="" to avoid pointless error message.
10605 (grub_gettext_env_write_lang): Update lang even if load fails.
10606 Handle secondary context.
10607 (grub_gettext_reread_prefix): New function.
10608 (read_main): Likewise.
10609 (read_secondary): Likewise.
10610 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
10611 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
10612 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
10613 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
10614
8e56f870
VS
106152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * configure.ac: Decrease warning level to avoid spurious warnings and
10618 to be able to compile with GCC 4.2.
10619 * Makefile.util.def: Remove -Wno-error=logical-op.
10620
82f6d455
WB
106212012-03-10 William Bittner <william.bittner@gmail.com>
10622
10623 * util/import_unicode.py: Add missing brackets around string for
10624 python 3 support.
10625
1ecd61a4
VS
106262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 Fix efi chainloader on network root.
10629
10630 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
10631 network devices.
10632 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
10633 New function.
10634
14361ee8
VS
106352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
10638 unused show_text member.
10639 * docs/grub.texi: Document "text" property.
10640
922aabf3
VS
106412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
10644 in dprintf.
10645
ec316771
VS
106462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 Fix IMSM handling on Fedora.
10649
10650 * util/getroot.c (grub_util_is_imsm): New function.
10651 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
10652
0f021838
VS
106532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * Makefile.am: Strip gold section.
10656 * conf/Makefile.common: Likewise.
10657 * gentpl.py: Likewise.
10658 * grub-core/Makefile.core.def: Likewise.
10659 * grub-core/genmod.sh.in: Likewise.
10660
1039c8eb
VS
106612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
10664 * util/grub.d/20_linux_xen.in: Likewise.
10665 Based on Debian patch.
10666
6dd412cd
VS
106672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * util/grub.d/10_linux.in: Fix syntax error resulting in
10670 Richard Laager's patch.
10671 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
10672
3fd8bae5
VS
106732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
10676 dependencies.
10677
7eea1671
RL
106782012-03-10 Richard Laager <rlaager@wiktel.com>
10679
10680 * util/grub.d/10_linux.in: Fix ZFS root passing.
10681
e8e0566b
VS
106822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10685 * grub-core/commands/xnu_uuid.c: Likewise.
10686 * grub-core/loader/efi/appleloader.c: Likewise.
10687 * grub-core/script/execute.c: Likewise.
10688 * grub-core/script/main.c: Likewise.
10689 * util/grub-mkfont.c: Likewise.
10690
1acc5b1f
VS
106912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * util/grub-mkfont.c (options): Use more appropriate "select" that
10694 "set" for face index.
10695
35d70620
VS
106962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * util/grub-editenv.c (options): Gettextize command summaries.
10699
c9eb96b5
VS
107002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
10703 "out of memory" error messagge.
10704
1f493136
VS
107052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
10708 of diskfilter for diskfilter on diskfilter support.
10709
6d790129
VS
107102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
10713
005f46c9
VS
107142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * util/grub-install.in: Check for themes/starfield/theme.txt and not
10717 themes/starfield.
10718
c8f778a0
VS
107192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
10722
de1e64eb
VS
107232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
10726
c6d54211
VS
107272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
10730 of error message.
10731
dd390777
VS
107322012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
10735
5fd1c522
VS
107362012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
10739 message.
c6d54211 10740 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 10741
fae01f6c
VS
107422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
10745 Gettextize.
10746 * util/grub-mount.c (options): Likewise.
10747
292fdaff
VS
107482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
10751 gettextize.
10752 * grub-core/commands/search_wrap.c (options): Likewise.
10753
ecdbae77
VS
107542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
10757
52bfedfa
VS
107582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
10761 size calculation.
10762 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
10763 none is known.
10764
55b20e58
VS
107652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
10768 "temporary" since it's used in identifier and is limited in space.
10769
fda9d101
VS
107702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * po/POTFILES.in: Regenerate. Include *.h since they contain
10773 translatable strings as well.
10774
6a0295e2
VS
107752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10778 byte-swap on big-endian.
10779 Reported by: Lennart Sorensen
10780
807fb77c
VS
107812012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
10782
10783 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
10784 (allocate_pages): Improve dprintf.
10785 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
10786 code32_start. Fill code32_start and kernel_alignment in params.
10787 (grub_cmd_initrd): Use prot_init_space.
10788
61ac50ba
VS
107892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
10792
abdd26dd
VS
107932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * util/grub-install.in: Add missing dot at the end of sentence.
10796
6e69da9c
VS
107972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
10800 * grub-core/commands/videotest.c: Likewise.
10801 * grub-core/loader/i386/linux.c: Likewise.
10802
4a929343
VS
108032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
10806 sentence.
10807 Reported by: Milo Casagrande.
10808
bb51c6c6
VS
108092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
10812 * grub-core/commands/gptsync.c: Likewise.
10813 * grub-core/commands/hashsum.c: Likewise.
10814 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10815 * grub-core/commands/legacycfg.c: Likewise.
10816 * grub-core/io/gzio.c: Likewise.
10817 * grub-core/net/net.c: Likewise.
10818 * grub-core/term/gfxterm.c: Likewise.
10819 * grub-core/term/terminfo.c: Likewise.
10820 * grub-core/tests/test_blockarg.c: Likewise.
10821 * grub-core/video/video.c: Likewise.
10822 * util/grub-install.in: Likewise.
10823 * util/grub-mkfont.c: Likewise.
10824
b2b149cb
VS
108252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
10828
c7c080ad
VS
108292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 10832 Reported by: David Prévot.
c7c080ad 10833
f2e243c0
VS
108342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
10837 description.
10838
09963c76
VS
108392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * util/grub-script-check.c (main): Fix a syntax error message which was
10842 unclear.
10843
a50514a8
VS
108442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
10847
4650daec
VS
108482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
10851 messages.
10852
108532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
10854
10855 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
10856 without argument.
10857 * util/grub-mount.c (options): Likewise.
10858
bbc5a342
VS
108592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
10862
ef292a87
VS
108632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/net/http.c: Add TRANSLATORS comments.
10866 * grub-core/normal/cmdline.c: Likewise.
10867 * grub-core/normal/misc.c: Likewise.
10868 * grub-core/partmap/msdos.c: Likewise.
10869 * grub-core/parttool/msdospart.c: Likewise.
10870 * grub-core/script/execute.c: Likewise.
10871 * grub-core/script/main.c: Likewise.
10872 * grub-core/term/terminfo.c: Likewise.
10873 * grub-core/video/bitmap.c: Likewise.
10874 * util/grub-install.in: Likewise.
10875 * util/grub-mkimage.c: Likewise.
10876 * util/grub-mklayout.c: Likewise.
10877 * util/grub-setup.c: Likewise.
10878
0fc19bd0
VS
108792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
10882 with similar messages in grub-fstest.
10883
d95862ef
VS
108842012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * util/grub-install.in: Unify "option requires an argument" message
10887 with similar messages in other files.
10888 * util/grub-mkconfig.in: Likewise.
10889
b7308f90
VS
108902012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * util/grub-set-default.in: Replace printf with gettext_printf (the
10893 string in in question is already translated from grub-reboot)
10894
559dc587
VS
108952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * configure.ac: Bump up the version to beta1.
10898
1a11761f
VS
108992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
10902 case when min_align = 0.
10903
24539abd
VS
109042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
10907 and fix a case when line_start overflows.
10908
32bd735b
VS
109092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * util/grub-reboot.in (usage): Mention id posibility.
10912 * util/grub-set-default.in (usage): Likewise.
10913
1a2fd1e6
VS
109142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
10917 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
10918 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10919 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10920 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10921 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10922 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10923
90eeab76
VS
109242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/commands/menuentry.c (options): Remove
10927 GRUB_ARG_OPTION_REPEATABLE.
10928 Reported by: Andreas Vogel
10929
5ad1be82
AV
109302012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
10931
10932 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
10933
cb055286
HE
109342012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
10935
10936 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
10937 error.
10938
93b1cd79
VS
109392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 Use sort -V by the idea of Georgi Georgiev.
10942
10943 * util/grub-mkconfig_lib.in (version_sort): New function.
10944 (version_test_numeric): Use version_sort.
10945
0cdc126c
VS
109462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 Use submenus in grub-mkconfig.
10949
10950 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
10951 * util/grub-mkconfig_lib.in (grub_quote): New function.
10952 (gettext_printf): Use gettext and not gettext_quoted to fix several
10953 messages.
10954 * util/grub.d/10_hurd.in: Use submenus.
10955 * util/grub.d/10_kfreebsd.in: Likewise.
10956 * util/grub.d/10_linux.in: Likewise.
10957 * util/grub.d/10_netbsd.in: Likewise.
10958 * util/grub.d/20_linux_xen.in: Likewise.
10959 * util/grub.d/30_os-prober.in: Likewise.
10960 * util/grub.d/10_illumos.in: Add missing quoting.
10961 * util/grub.d/10_windows.in: Likewise.
10962
d9bef9bc
VS
109632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 Fix menu title instability bug.
10966
10967 * grub-core/commands/menuentry.c (options): New option --id.
10968 (grub_normal_add_menu_entry): New argument id. All users updated.
10969 (grub_cmd_menuentry): Handle --id.
10970 (grub_menu_init): Accept unknown arguments.
10971 * grub-core/normal/main.c (features): Add feature_menuentry_id and
10972 feature_menuentry_options.
10973 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
10974 saved_entry.
10975 (get_entry_number): Match with id as well.
10976 * include/grub/menu.h (grub_menu_entry): New member id.
10977 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
10978 * util/grub.d/00_header.in: Define menuentry_id_option.
10979 * util/grub.d/10_hurd.in: Define id.
10980 * util/grub.d/10_illumos.in: Likewise.
10981 * util/grub.d/10_kfreebsd.in: Likewise.
10982 * util/grub.d/10_linux.in: Likewise.
10983 * util/grub.d/10_netbsd.in: Likewise.
10984 * util/grub.d/10_windows.in: Likewise.
10985 * util/grub.d/20_linux_xen.in: Likewise.
10986 * util/grub.d/30_os-prober.in: Likewise.
10987
109882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
10989
10990 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
10991 "scope" with "body".
10992
7c8d0ce7
VS
109932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
10996 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
10997 prot_size and prot_file_size.
10998
49de079b
VS
109992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11002 All users updated. If easily=1 require raid-5/-6 to be full.
11003 (is_node_readable): Likewise.
11004 (scan_devices): Scan incomplete but readable LVs at the end.
11005 (grub_diskfilter_memberlist): Pull missing devices.
11006 (insert_array): Skip scanning until device is complete or scan is
11007 done otherwise.
11008 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11009 check.
11010 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11011 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11012
aff05d45
MG
110132012-03-03 Matthew Garrett <mjg@redhat.com>
110142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 Avoid EFI boot services when loading Linux.
11017
11018 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11019 avoid_efi_bootservices. All users updated.
11020 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11021 argument avoid_efi_bootservices. All users updated.
11022 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11023 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11024 align, min_align, relocatable, prefered_address. All users updated.
11025 Allocate avoiding boot services if kernel is relocatable.
11026 (grub_cmd_linux): Check if kernel is relocatable.
11027 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11028 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11029 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11030 avoid_efi_boot_services.
11031 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11032 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11033 (linux_kernel_params): Likewise.
11034
3935dde2
MG
110352012-03-03 Matthew Garrett <mjg@redhat.com>
110362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 Use EDID on EFI.
11039
11040 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11041 datasize_out.
11042 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11043 modes. Set gop_handle.
11044 (grub_video_gop_get_edid): New function.
11045 (grub_gop_get_preferred_mode): Likewise.
11046 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11047 (grub_video_efi_gop_adapter): Set .get_edid.
11048 * include/grub/efi/edid.h: New file.
11049 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11050
32107ec0
VS
110512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * util/grub-install.in: Load efivars unconditionally.
11054
e70a2c50
VS
110552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * po/Rules-piglatin: Change suffix from .po-update-en to
11058 .po-update-en-piglatin.
11059
8f9cace1
VS
110602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 Add a pig farm.
11063
11064 * po/piglatin.sed: New file.
11065 * po/en@piglatin.header: Likewise.
11066 * po/Rules-piglatin: Likewise.
11067 * po/README: Add en@piglatin to autogenerated languages.
11068
8f95d002
VS
110692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11072 "Command for ...".
11073 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11074 "Check" since we don't check anything.
11075 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11076 is 64-bit one.
11077 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11078 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11079 (grub_md_sha512_real): Likewise.
11080
805a8dcc
VS
110812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * grub-core/commands/gptsync.c: Fix typographic quoting.
11084 * grub-core/commands/ieee1275/suspend.c: Likewise.
11085 * grub-core/commands/parttool.c: Likewise.
11086 * grub-core/commands/search_wrap.c: Likewise.
11087 * grub-core/commands/videoinfo.c: Likewise.
11088 * grub-core/gfxmenu/gui_label.c: Likewise.
11089 * grub-core/hello/hello.c: Likewise.
11090 * grub-core/kern/emu/main.c: Likewise.
11091 * grub-core/net/net.c: Likewise.
11092 * grub-core/normal/menu.c: Likewise.
11093 * grub-core/normal/menu_text.c: Likewise.
11094 * grub-core/normal/misc.c: Likewise.
11095 * util/grub-editenv.c: Likewise.
11096 * util/grub-install.in: Likewise.
11097 * util/grub-kbdcomp.in: Likewise.
11098 * util/grub-mkconfig.in: Likewise.
11099 * util/grub-mknetdir.in: Likewise.
11100 * util/grub-mkrescue.in: Likewise.
11101 * util/grub-mkstandalone.in: Likewise.
11102 * util/grub-reboot.in: Likewise.
11103 * util/grub-set-default.in: Likewise.
11104 * util/grub-setup.c: Likewise.
11105 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11106
40211ab8
VS
111072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11110 * grub-core/commands/keystatus.c: Likewise.
11111 * grub-core/commands/loadenv.c: Likewise.
11112 * grub-core/commands/probe.c: Likewise.
11113 * grub-core/commands/regexp.c: Likewise.
11114 * grub-core/commands/true.c: Likewise.
11115 * grub-core/commands/videoinfo.c: Likewise.
11116 * grub-core/disk/cryptodisk.c: Likewise.
11117 * grub-core/disk/ldm.c: Likewise.
11118 * grub-core/disk/loopback.c: Likewise.
11119 * grub-core/disk/luks.c: Likewise.
11120 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11121 * grub-core/kern/disk.c: Likewise.
11122 * grub-core/kern/emu/hostdisk.c: Likewise.
11123
0c7d99c7
VS
111242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11127 * util/grub-install.in: Add missing quote in the comment.
11128
e7d2559b
VS
111292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11132 * grub-core/commands/lsmmap.c: Likewise.
11133 * grub-core/commands/minicmd.c: Likewise.
11134 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11135 * grub-core/commands/regexp.c: Likewise.
11136 * grub-core/gdb/gdb.c: Likewise.
11137 * grub-core/term/gfxterm.c: Likewise.
11138 * util/grub-mkconfig.in: Likewise.
11139 * util/grub-mkfont.c: Likewise.
11140 * util/grub-mklayout.c: Likewise.
11141 * util/grub-mknetdir.in: Likewise.
11142 * util/grub-mkrescue.in: Likewise.
11143 * util/grub.d/30_os-prober.in: Likewise.
11144
49ce9e50
VS
111452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11148 with "Direct color" and "Packed" with "Packed pixel".
11149 (grub_cmd_videoinfo): Simplify legend.
11150
e4b791fa
VS
111512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11154 absolutely unclear error message.
11155
fd1265cb
VS
111562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * util/grub-mkstandalone.in: Remove confusing leftover print.
11159
8822a8a0
VS
111602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11163 comments.
11164 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11165 (GRUB_MOD_INIT): Likewise.
11166 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11167 VGA mode.
11168 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11169 comments.
11170 * util/grub-install.in (usage): Likewise.
11171 Spell ID in whole letters.
11172 Add missing ending dot.
11173 Quote variables.
11174 * util/grub-reboot.in: Fix capitalisation.
11175 * util/grub-set-default.in: Likewise.
11176
937fd0cc
VS
111772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11180 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11181 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11182 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11183 Disable -Werror for -Wdeprecated-declarations.
11184 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11185 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11186 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11187 (grub_util_get_grub_dev): Make luks handling dependent on
11188 HAVE_DEVICE_MAPPER and not __linux__.
11189 (get_win32_path): Fix format security.
11190 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11191 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11192 Don't try grub_find_zpool_from_dir.
11193 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11194 #ifdef-out paresdir.
11195
1bab1ae3
VS
111962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * util/grub-pe2elf.c (usage): Add missing noreturn.
11199 (write_section_data): Rename name to shname to avoid shadowing.
11200 (write_symbol_table): Rename name to symname to avoid shadowing.
11201 Fix write_reloc_section call.
11202
ef023e42
VS
112032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11206 to ensure that it's after the last byte of .text.
11207
48afcb75
VS
112082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * util/ieee1275/ofpath.c (my_isdigit): New function.
11211 (trailing_digits): Use my_isdigit.
11212 (strip_trailing_digits): Likewise.
11213
88d51eff
VS
112142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11217 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11218
17edc2ba
VS
112192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * grub-core/kern/i386/pc/startup.S: Define __start.
11222
ad5518d7
VS
112232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11226 strip already transforms he format.
11227
9e95e1bf
VS
112282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11231
9cc3ee5c
VS
112322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * util/grub-install.in: Add missing gettext init.
11235 * util/grub-kbdcomp.in: Likewise.
11236 * util/grub-mkconfig.in: Likewise.
11237 * util/grub-mknetdir.in: Likewise.
11238 * util/grub-mkrescue.in: Likewise.
11239 * util/grub-mkstandalone.in: Likewise.
11240 * util/grub-reboot.in: Likewise.
11241 * util/grub-set-default.in: Likewise.
11242 * util/grub.d/00_header.in: Likewise.
11243 * util/grub.d/10_hurd.in: Likewise.
11244 * util/grub.d/10_windows.in: Likewise.
11245 * util/grub.d/30_os-prober.in: Likewise.
11246 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11247
49e08a06
VS
112482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * po/Rules-swiss: Fix header comment.
11251
3809cb41
AV
112522012-02-29 Andreas Vogel <anvoit>
11253
11254 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11255 resulted in leak of arguments.
11256
fa6ec573
VS
112572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11260 reed_solomon_size const definition instead of computing it since
11261 Apple assembler doesn't support the later.
11262
22899b9c
VS
112632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * gentpl.py (kernel): Rewrite Apple part.
11266
a132afc3
VS
112672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11270
9d742bd4
VS
112712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11274 ELF section gap.
11275 (load_image): Likewise.
11276
f04a9a21
VS
112772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * configure.ac: Fix a typo in previous commit.
11280
46cf439c
VS
112812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 Don't add -Wl,-N on Apple platform.
11284
11285 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11286 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11287
c4c48c54
VS
112882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * grub-core/Makefile.core.def (lzma_decompress): Use
11291 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11292
31a12124
VS
112932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/genmod.sh.in: Rewrite the Apple part.
11296
4f3aa1af
VS
112972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11300 comparison.
11301
7bd8b0c7
VS
113022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * acinclude.m4 (grub_CHECK_PIC): New test.
11305 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11306
97304d7c
VS
113072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11310 to avoid the warning.
11311
fb883812
VS
113122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11315 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11316 after. All users updated.
11317
a121c964
VS
113182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 Use the common size routine in hostfs so we can read disks as well.
11321
11322 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11323 (grub_util_get_fd_size): ... this. Return size in bytes.
11324 All users updated.
11325 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11326 grub_util_get_fd_size.
11327
c66d6410
VS
113282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11331 Add blocksize retrieval.
11332
dfc8aeb0
VS
113332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * configure.ac: Restore CFLAGS after efiemu check.
11336
403e25a5
VS
113372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11340 Apple bug.
11341
382775d1
VS
113422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11345
6fd4e6e4
VS
113462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11349 (grub_cmd_halt): Likewise.
11350
bea359d6
VS
113512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11354 for local arithmetics.
11355 Break %sp init into 2 instructions.
11356 Add 0 byte at the end.
11357
32eb6ee1
VS
113582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11361 before loops.
11362
e8377389
VS
113632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11366 for context.
11367
8cb17de7
VS
113682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/disk/ldm.c (make_vg): Init part.name.
11371 (grub_ldm_detect): Silence spurious warning.
11372 (grub_util_is_ldm): Likewise.
11373
595717e6
VS
113742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11377 sane value to avoid a spurious warning.
11378
c4b7e588
VS
113792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11382 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11383
59824957
VS
113842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11387 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11388
70115b99
VS
113892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11392 hardcoding the relevant info.
11393
56733740
VS
113942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11397 missing const qualifiers.
11398 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11399
43481481
VS
114002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * util/getroot.c [__APPLE__]: Add missing includes.
11403 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11404
3cb38f01
VS
114052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11408
d9dbf11e
VS
114092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11412 avoid conflicts.
11413
0c42a45d
VS
114142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11417
46c34eb0
VS
114182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11421 and grub_file_close call.
11422
99ce1597
VS
114232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Add LZSS Mach-O support (needed for new xnu kernelcache).
11426
11427 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11428 * grub-core/loader/lzss.c: New file.
11429 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11430 on Mach-O open failure.
11431 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11432 Don't free cmdsXX in uncompressedXX is set.
11433 (grub_macho_file): Init new fields.
11434 New argument is_64bit. All users updated.
11435 Handle compressed. Error out if no suitable architecture is found.
11436 Don't close file.
11437 (grub_macho_open): New argument is_64bit. All users updated.
11438 * grub-core/loader/macho32.c: Add defines for new fields.
11439 * grub-core/loader/macho64.c: Likewise.
11440 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11441 (grub_macho_parse): Handle compressed.
11442 Defer actual processing if compressed.
11443 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11444 "filename". All users updated.
11445 (grub_macho_size): New argument "filename". All users updated.
11446 (grub_macho_get_entry_point): Likewise.
11447 (grub_macho_load): Handle compressed.
11448 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11449 (GRUB_MACHO_LZSS_OFFSET): New define.
11450 (grub_decompress_lzss): New proto.
11451 * include/grub/machoload.h (grub_macho_file): New fields to handle
11452 compressed.
11453 (grub_macho_contains_macho64): Remove proto.
11454 (grub_macho_contains_macho32): Likewise.
11455 * util/grub.d/30_os-prober.in: Use kernel cache if available.
11456
ebd17d6f
VS
114572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
11460
2702b4e4
VS
114612012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 Fix make dist.
11464
11465 * Makefile.am (starfield_theme_files): New var.
11466 (starfield_DATA): Use starfield_theme_files.
11467 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
11468 Add bootcheck-related files.
11469 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
11470 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
11471 and font_char_metrics.txt.
11472 * grub-core/Makefile.core.def (kernel): Update extra_dist.
11473 (setjmp): Add lib/ia64/longjmp.S.
11474 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
11475 * po/POTFILES.in: Regenerate.
11476 * po/Rules-swiss: use DISTFILES.common.extra2 and not
11477 DISTFILES.common.extra1.
11478 * util/devicemap.c: Removed.
11479 * grub-core/lib/i386/relocator_backward.S: Likewise.
11480 * util/import_gcry.py: Remove unused files. Add extra_dist for
11481 ChangeLog.
11482
cf1adfdf
VS
114832012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * grub-core/gettext/gettext.c (grub_mofile_open): Call
11486 grub_gettext_delete_list before changing grub_gettext_max to avoid
11487 running out of array bounds.
11488
114892012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
11490
11491 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
11492 grub_vga_text_init/grub_vga_text_fini.
11493
cf1adfdf 114942012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
11495
11496 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
11497
541d92e9
VS
114982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * configure.ac: Bump to 2.00~beta0.
11501
7931dddf
VS
115022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11503
11504 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
11505 missing initialisation.
11506
f1b16fa3
VS
115072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
11510
83ddae23
VS
115112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Support v2 xnu boot arguments.
11514
11515 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
11516 New argument fsbfreq_out.
11517 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
11518 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
11519 be used.
11520 * grub-core/loader/machoXX.c (grub_macho_load): New argument
11521 darwin_version.
11522 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
11523 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
11524 (grub_xnu_boot_params): Rename to ...
11525 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
11526 (grub_xnu_boot_params_v2): New struct.
11527
dc693fe6
VS
115282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
11531 zeroing of CRC field before computing CRC.
11532
5a6e39c2
VS
115332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
11536 Change order of allocations to decrease fragmentation.
11537
6c21f5d7
VS
115382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
11541
cfe456dc
CW
115422012-02-27 Colin Watson <cjwatson@ubuntu.com>
11543
11544 Use write-combining MTRR to speed up video with buggy BIOSes.
11545
11546 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
11547 (cpuid): New define.
11548 (rdmsr): Likewise.
11549 (wrmsr): Likewise.
11550 (mtrr_base): Likewise.
11551 (mtrr_mask): Likewise.
11552 (grub_vbe_enable_mtrr_entry): New function.
11553 (grub_vbe_enable_mtrr): Likewise.
11554 (grub_vbe_disable_mtrr): Likewise.
11555 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
11556 control off to BIOS.
11557 (grub_video_vbe_init): Fill mtrr.
11558 (grub_video_vbe_fini): Disable mtrr.
11559 (grub_video_vbe_get_info_and_fini): Likewise.
11560 (grub_video_vbe_setup): Enable mtrr.
11561
e3c78337
CW
115622012-02-27 Colin Watson <cjwatson@ubuntu.com>
11563
11564 * include/grub/partition.h (grub_partition_map): Change prototype of
11565 embed to take a maximum value for nsectors.
11566 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
11567 * include/grub/fs.h (grub_fs): Likewise.
11568 * grub-core/partmap/msdos.c (embed_signatures): New array.
11569 (pc_partition_map_embed): Check for and avoid sectors matching any
11570 of the signatures in embed_signatures, up to max_nsectors.
11571 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
11572 returned sector map to max_nsectors.
11573 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
11574 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
11575 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
11576 * util/grub-setup.c (setup): Allow for the embedding area being
11577 split into multiple blocklists. Tell dest_partmap->embed the
11578 maximum number of sectors we care about.
11579
115802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
11583 Specify blocklist_install and reserver_first_sector for all fs.
11584 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
11585 blocklists.
11586
984b973f
VS
115872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * util/grub-install.in: Clarify strings.
11590 Fix source dir check.
11591
f122e0d6
RL
115922012-02-27 Richard Laager <rlaager@wiktel.com>
11593
11594 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
11595 "zfs" and "fuse.zfs" as synonyms.
11596
071114bb
VS
115972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * configure.ac: Put platform and target_cpu substitutions back since
11600 they are used for directories.
11601
817e6abc
RL
116022012-02-27 Richard Laager <rlaager@wiktel.com>
116032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * util/grub.d/10_linux.in: Add ZFS-related arguments.
11606 * util/grub.d/20_linux_xen.in: Likewise.
11607
897b7419
RL
116082012-02-27 Richard Laager <rlaager@wiktel.com>
11609
11610 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
11611 with full paths.
11612
a414bd15
RL
116132012-02-27 Richard Laager <rlaager@wiktel.com>
11614
11615 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
11616 unescape.
11617
30ac48c4
VS
116182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 Don't use insecure popen in getroot.
11621
11622 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
11623 (exec_pipe): ... here.
11624 (find_root_devices_from_poolname): Use exec_pipe.
11625
53f13848
VS
116262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 Remove platform and target_cpu replacement.
11629
11630 * configure.ac: Remove platform and target_cpu substitutions.
11631 * tests/util/grub-shell.in: Use modinfo.
11632 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
11633 explicitly.
11634
90cb2803
VS
116352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 Autodetect platform in grub-install but allow override.
11638
11639 * util/grub-install.in: Autodetect platform. Support --target and
11640 --directory. Read platform from modinfo.sh.
11641
b9136427
VS
116422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 Support btrfs multi-volume probe.
11645
11646 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
11647 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
11648 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
11649 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
11650 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
11651 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
11652 grub_find_root_devices_from_btrfs if on btrfs.
11653
c36e5cd1
VS
116542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 Remove any awareness of *.c util files about target.
11657
11658 * Makefile.util.def (grub-setup): Split to ...
11659 (grub-bios-setup): ... and this.
11660 (grub-sparc64-setup): ... and this.
11661 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
11662 * docs/man/grub-setup.h2m: Split into ...
11663 * docs/man/grub-sparc64-setup.h2m: ... this.
11664 * docs/man/grub-bios-setup.h2m: ... and this.
11665 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
11666 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
11667 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
11668 (grub_target_addr_t): Remove.
11669 (grub_target_size_t): Remove.
11670 (grub_target_ssize_t): Remove.
11671 * util/grub-install.in: Use new grub-*-setup.
11672 * util/grub-mkimagexx.c (Elf_Word): New define.
11673 (Elf_Half): Likewise.
11674 (Elf_Section): Likewise.
11675 (ELF_ST_TYPE): Likewise.
11676 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
11677 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
11678
584b2f8a
VS
116792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 Replace grub_target_addr with more appropriate types.
11682
11683 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
11684 grub_target_addr with grub_addr.
11685 * grub-core/commands/iorw.c (grub_cmd_read): Replace
11686 grub_target_addr with grub_port.
11687 (grub_cmd_write): Likewise.
11688 * grub-core/commands/memrw.c (grub_cmd_read): Replace
11689 grub_target_addr with grub_addr.
11690 (grub_cmd_write): Likewise.
11691 * grub-core/video/efi_uga.c (find_line_len): Likewise.
11692
5a0dc6fb
VS
116932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
11696 const qualifier for vendor_guid.
11697
786aff6e
VS
116982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
11701 const qualifier.
11702 (efiemu_memequal): Likewise.
11703 (find_variable): Likewise.
11704
49017b17
VS
117052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Fix missing console prototype on qemu-mips.
11708
11709 * include/grub/mips/qemu_mips/console.h: New file.
11710
c5988629
MG
117112012-02-27 Matthew Garrett <mjg@redhat.com>
117122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
11715 * include/grub/efi/efi.h: Likewise.
11716 * include/grub/efi/api.h: Add guid for EFI-specified variables.
11717 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
11718 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
11719 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
11720 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
11721 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
11722
e33f8d69
MG
117232012-02-27 Matthew Garrett <mjg@redhat.com>
11724
11725 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
11726
fb312cd9
VS
117272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
11730 error.
11731
7134247c
VS
117322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * configure.ac: Remove inappropriate use of program_transform_name
11735 on grubdir and bootdir but allow explicit specification of those
11736 variables.
11737
6a313124
VS
117382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 * util/grub-mknetdir.in (grub_prefix): Removed.
11741 (subdir): Use @bootdirname@ and @grubdirname@.
11742
2311c5ca
VS
117432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
11746
7d5d60f7
VS
117472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * po/POTFILES.in: Regenerated.
11750
8151bc82
VS
117512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 Remove improper use of program_transform_name on pkglibrootdir.
11754
11755 * configure.ac (pkglibrootdir): Removed.
11756 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
11757 * util/grub-mkimage.c: Likewise.
11758
b4a6a533
VS
117592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
11762 warning.
11763
668f304f
VS
117642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * util/grub-install.in: Use file identifier if no UUID is available
11767 or user explicitly prompted for it.
11768
665f2341
NP
117692012-02-27 Navdeep Parhar <nparhar@gmail.com>
11770
11771 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
11772 (freebsd_get_zfs): New function.
11773 (grub_freebsd_boot): Pass zfs UUID.
11774 (grub_cmd_freebsd): Set zfs UUID.
11775
8151bc82 117762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
11777
11778 * conf/Makefile.common (platformdir): Base on pkglibdir and not
11779 pkglibrootdir.
11780
e4c498a1
MG
117812012-02-27 Mike Gilbert <floppym@gentoo.org>
11782
11783 Add configure flag to control libzfs integration.
11784
11785 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
11786
1e9a9a3f
VS
117872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
11790 device.
11791 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
11792 small devices.
11793
036985b8
VS
117942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 Remove grub_{modname}_init and grub_{modname}_fini. They should never
11797 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
11798 be used on non-modules.
11799
11800 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
11801 Rename to grub_boot_init.
11802 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
11803 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
11804 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
11805 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
11806 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
11807 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
11808 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
11809 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
11810 includes.
11811 (grub_machine_init): Remove empty inits.
11812 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
11813 includes.
11814 (grub_machine_init): Remove empty inits.
11815 * grub-core/term/arc/console.c: Remove explicit proto.
11816 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
11817 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
11818 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11819 grub_at_keyboard_fini.
11820 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
11821 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
11822 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11823 grub_gfxterm_fini.
11824 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
11825 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
11826 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11827 grub_vgatext_fini.
11828 * grub-core/term/ieee1275/console.c: Remove explicit proto.
11829 * grub-core/term/serial.c (GRUB_MOD_INIT)
11830 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
11831 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11832 grub_serial_fini.
11833 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
11834 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
11835 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
11836 grub_terminfo_fini.
11837 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
11838 (GRUB_MOD_FINI): Likewise.
11839 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
11840 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
11841 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11842 grub_video_radeon_fuloong2e_fini.
11843 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
11844 [LOONGSON]: Rename to grub_video_sis315pro_init.
11845 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11846 grub_video_sis315pro_fini.
11847 * grub-core/video/sm712.c (GRUB_MOD_INIT)
11848 [LOONGSON]: Rename to grub_video_sm712_init.
11849 (GRUB_MOD_FINI) [LOONGSON]: Rename to
11850 grub_video_sm712_fini.
11851 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
11852 (grub_at_keyboard_fini): Likewise.
11853 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
11854 Don't declare grub_{modname}_init.
11855 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
11856 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
11857 New proto.
11858 (grub_keylayouts_fini) [!EMU]: Likewise.
11859 * include/grub/serial.h (grub_serial_init) [!EMU]:
11860 New proto.
11861 (grub_serial_fini) [!EMU]: Likewise.
11862 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
11863 New proto.
11864 (grub_terminfo_fini) [!EMU]: Likewise.
11865 * include/grub/video.h (grub_font_init) [!EMU]:
11866 New proto.
11867 (grub_font_fini) [!EMU]: Likewise.
11868 (grub_gfxterm_init) [!EMU]: Likewise.
11869 (grub_gfxterm_fini) [!EMU]: Likewise.
11870 (grub_video_sm712_init) [!EMU]: Likewise.
11871 (grub_video_sm712_fini) [!EMU]: Likewise.
11872 (grub_video_sis315pro_init) [!EMU]: Likewise.
11873 (grub_video_sis315pro_fini) [!EMU]: Likewise.
11874 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
11875 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
11876
d5534665
VS
118772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Make nand a prefix for nand devices.
11880
11881 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
11882
10133b5f
VS
118832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
11886 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
11887
8e307a62
VS
118882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * include/grub/env.h (grub_env_find): Remove prototype.
11891 * grub-core/kern/env.c (grub_env_find): Make static.
11892 (grub_env_set): Remove useless set.
11893
a4c65f34
VS
118942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * grub-core/kern/i386/realmode.S: Remove useless align.
11897
d87893d5
VS
118982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * include/grub/dl.h (grub_dl_load_file): Don't export.
11901
50159add
VS
119022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
11905 grub_dprintf.
11906
b2582b84
VS
119072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
11910 grub_errors.
11911 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
11912 not reloading whole superblock but only the part which is really needed.
11913 Remove useless grub_errors.
11914 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
11915 grub_errors.
11916
e2a83395
VS
119172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 Don't export grub_get_rtc.
11920
11921 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
11922 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
11923
e7d2a906
VS
119242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
11927
6cf1363b
VS
119282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 11931 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 11932
eece3349
VS
119332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 Remove prio_list.
11936
11937 * include/grub/list.h (grub_prio_list): Removed.
11938 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
11939 GRUB_COMMAND_PRIO_MASK.
11940 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
11941 GRUB_COMMAND_FLAG_ACTIVE.
11942 (grub_prio_list_insert): Removed.
11943 (grub_prio_list_remove): Likewise.
11944 (GRUB_AS_PRIO_LIST): Likewise.
11945 (GRUB_AS_PRIO_LIST_P): Likewise.
11946 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
11947 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
11948 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
11949 * grub-core/kern/command.c (grub_register_command_prio): Inline
11950 the prio_list code.
11951 (grub_unregister_command): Likewise.
11952
94f064b4
VS
119532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 Fix interrupt mixup from previous commit.
11956
11957 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
11958 (grub_realidt): New var.
11959 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
11960 Load idt.
11961 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
11962 New declaration.
11963 (grub_relocator16_boot): Set grub_relocator16_idt.
11964 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
11965 (LOCAL(realidt)): ... this.
11966 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
11967 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
11968 (grub_realidt): New variable.
11969
27317084
VS
119702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
11973 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
11974 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
11975 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
11976 Gettextize.
11977 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
11978 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
11979 * po/POTFILES.in: Regenerate.
11980
47b40053
VS
119812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
11984 errors.
11985
2b343101
VS
119862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
11989 \0.
11990 (add_length): Likewise.
11991
ff27c3dd
LK
119922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
119932012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
11994
11995 GDB serial and backtrace support.
11996
11997 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
11998 (prot_to_real): Likewise.
11999 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12000 * grub-core/Makefile.core.def (backtrace): New module.
12001 (gdb): Likewise.
12002 * grub-core/gdb/cstub.c: New file.
12003 * grub-core/gdb/gdb.c: Likewise.
12004 * grub-core/gdb/i386/idt.c: Likewise.
12005 * grub-core/gdb/i386/machdep.S: Likewise.
12006 * grub-core/gdb/i386/signal.c: Likewise.
12007 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 12008 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
12009 * include/grub/backtrace.h: Likewise.
12010 * include/grub/gdb.h: Likewise.
12011 * include/grub/i386/gdb.h: Likewise.
12012
120132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
12014
12015 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12016 New function.
12017 (add_length): Likewise.
12018 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12019 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12020 proto.
12021 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12022 __argp_get_display_len.
12023
ff27c3dd 120242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
12025
12026 $"..." support in scripts.
12027
12028 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12029 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12030 * grub-core/script/yylex.l: Likewise.
12031 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12032 value.
12033
ff27c3dd 120342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
12035
12036 * gentpl.py: Remove obsolete pkglib_DATA handling.
12037
ff27c3dd 120382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
12039
12040 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12041 mailing list.
12042
12043 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12044 * util/grub-kbdcomp.in: Likewise.
12045 * util/grub-mkconfig.in: Likewise.
12046 * util/grub-mkconfig_lib.in: Likewise.
12047 * util/grub-mknetdir.in: Likewise.
12048 * util/grub-mkrescue.in: Likewise.
12049 * util/grub-mkstandalone.in: Likewise.
12050 * util/grub-reboot.in: Likewise.
12051 * util/grub-set-default.in: Likewise.
12052 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12053
ff27c3dd 120542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
12055
12056 Remove GRUB_PREFIX.
12057
12058 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12059 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12060 used for backward compatibility.
12061
ff27c3dd 120622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
12063
12064 Add new all_video module.
12065
12066 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12067 * grub-core/Makefile.core.def (all_video): New module.
12068 * grub-core/genmoddep.awk: Generate dependency of all_video from
12069 video.lst.
12070 * grub-core/lib/fake_module.c: New file.
12071 * grub-core/normal/main.c (features): Add feature_all_video_module.
12072 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12073 don't do explicit search again.
47454da5 12074 insmod all_video in load_video if available.
22c7ce85 12075
ff27c3dd 120762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
12077
12078 Another round of string clarification and adding TRANSLATORS comments.
12079
ff27c3dd 120802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
12081
12082 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12083
ff27c3dd 120842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
12085
12086 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12087 to grub_ssize_t.
12088 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12089 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12090
ff27c3dd 120912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
12092
12093 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12094 trailing newline implicitly. All users updated.
12095
ff27c3dd 120962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
12097
12098 Implement serial on IEEE1275 and EFI.
12099
12100 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12101 on emu. Mention arc and emu as the only platforms without serial
12102 support.
12103 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12104 ieee1275 platforms.
12105 * grub-core/term/efi/serial.c: New file.
12106 * grub-core/term/ieee1275/serial.c: Likewise.
12107 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12108 specification if no ns8250 driver is available.
12109 (grub_cmd_serial): Likewise.
12110 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12111 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12112 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12113 (grub_efi_parity_type_t): New type.
12114 (grub_efi_stop_bits_t): Likewise.
12115 (grub_efi_serial_io_interface): New struct.
12116 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12117 available for all interfaces.
12118 Add EFI and IEEE1275 fields.
12119 (grub_ofserial_init): New proto.
12120 (grub_efiserial_init): Likeiwse.
12121 * util/grub.d/00_header.in: Don't check for the presence of serial
12122 module.
12123
ff27c3dd 121242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
12125
12126 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12127 name as if it was an alias.
12128
114076ef
VS
121292012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/commands/lsacpi.c (options): Fix typo.
12132
6a656b0e
VS
121332012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 Convert grub-emu to argp.
12136
12137 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12138 emu.
12139 * util/argp_common.c: Rename to ...
12140 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12141 Add missing includes.
12142 * grub-core/kern/emu/main.c: Convert to argp.
12143 * po/POTFILES.in: Regenerate.
12144 * util/grub-install.in (usage): Make first letter lowcase in messages
12145 for uniformity.
12146 * util/grub-setup.c (options): Likewise.
12147
1e3f8ae8
VS
121482012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12151 Put back accidently commented-out code.
12152
ed167a80
VS
121532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12156 loop check using Brent algorithm.
12157 (grub_hfsplus_btree_search): Likewise.
12158
6753c0ec
VS
121592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * util/grub-install.in: Fix usage of wrong device for PreP install.
12162
4e27343f
VS
121632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * conf/Makefile.common (CFLAGS_GNULIB): Add
12166 -Wno-unsafe-loop-optimizations.
12167 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12168 on tools.
12169 * grub-core/commands/legacycfg.c: Add pragma to skip
12170 -Wunsafe-loop-optimizations.
12171 (check_password_md5_real): Fix loop counter type.
12172 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12173 reading.
12174 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12175 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12176 loop condition.
12177 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12178 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12179 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12180 condition.
12181 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12182 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12183 avoid possible infinite loops.
12184 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12185 and -Wunsafe-loop-optimizations.
12186 * grub-core/script/yylex.l: Likewise.
12187 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12188 (print_glyphs): Avoid infinite loops.
12189 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12190
697f18b0
GS
121912012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12192
12193 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12194 to avoid infinite loop.
12195 (disp_acpi_rsdt_table): Likewise.
12196
274416e8
VS
121972012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/font/font.c (grub_font_load): Add support for default
12200 path for fonts ($prefix/fonts).
12201 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12202 for checking if string is a path.
12203 * grub-core/normal/main.c (features): Add feature_default_font_path.
12204 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12205 * util/grub.d/00_header.in: Use default directory if possible.
12206 * util/grub-install.in: Install unicode.pf2.
12207
b3e08622
VS
122082012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12211 * po/Rules-swiss: New file.
12212 * po/swiss.sed: Likewise.
12213
fe42ce09
VS
122142012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/fs/btrfs.c (find_device): Fix typos.
12217 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12218 * util/grub-mkrelpath.c (argp_parser): Likewise.
12219 Reported by: Yuri Chornoivan.
12220
72f1d065
DO
122212012-02-23 Dalet Omega <daletomega@gmail.com>
12222
12223 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12224 for usual informative messages.
12225
c5884973
DO
122262012-02-23 Dalet Omega <daletomega@gmail.com>
12227
12228 Starfield theme.
12229
12230 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12231 * conf/Makefile.common: Define starfielddir.
12232 * configure.ac: Configure starfield.
12233 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12234 * themes/starfield/README: Likewise.
12235 * themes/starfield/blob_w.png: Likewise.
12236 * themes/starfield/boot_menu_c.png: Likewise.
12237 * themes/starfield/boot_menu_e.png: Likewise.
12238 * themes/starfield/boot_menu_n.png: Likewise.
12239 * themes/starfield/boot_menu_ne.png: Likewise.
12240 * themes/starfield/boot_menu_nw.png: Likewise.
12241 * themes/starfield/boot_menu_s.png: Likewise.
12242 * themes/starfield/boot_menu_se.png: Likewise.
12243 * themes/starfield/boot_menu_sw.png: Likewise.
12244 * themes/starfield/boot_menu_w.png: Likewise.
12245 * themes/starfield/slider_c.png: Likewise.
12246 * themes/starfield/slider_n.png: Likewise.
12247 * themes/starfield/slider_s.png: Likewise.
12248 * themes/starfield/src/blob_nw.xcf: Likewise.
12249 * themes/starfield/src/bootmenu/: Likewise.
12250 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12251 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12252 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12253 * themes/starfield/src/slider_c.xcf: Likewise.
12254 * themes/starfield/src/slider_n.xcf: Likewise.
12255 * themes/starfield/src/slider_s.xcf: Likewise.
12256 * themes/starfield/src/terminalbox/: Likewise.
12257 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12258 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12259 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12260 * themes/starfield/starfield.png: Likewise.
12261 * themes/starfield/terminal_box_c.png: Likewise.
12262 * themes/starfield/terminal_box_e.png: Likewise.
12263 * themes/starfield/terminal_box_n.png: Likewise.
12264 * themes/starfield/terminal_box_ne.png: Likewise.
12265 * themes/starfield/terminal_box_nw.png: Likewise.
12266 * themes/starfield/terminal_box_s.png: Likewise.
12267 * themes/starfield/terminal_box_se.png: Likewise.
12268 * themes/starfield/terminal_box_sw.png: Likewise.
12269 * themes/starfield/terminal_box_w.png: Likewise.
12270 * themes/starfield/theme.txt: Likewise.
12271
17d73325
VS
122722012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * util/grub.d/00_header.in: Add missing export theme.
12275
dbebaf92
VS
122762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12279 already included.
12280 Reported by: Eren D.
12281
3d68bffb
VS
122822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * conf/Makefile.common (grubdatadir): Removed.
12285 (Makefile.am): Move eveything grubdata to pkgdata.
12286
4b59234d
VS
122872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * grub-core/commands/acpihalt.c (get_sleep_type):
12290 Remove unused variable.
12291
463dcadc
VS
122922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12293
12294 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12295 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12296 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12297 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12298 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12299 i18n with gettext no-op.
12300 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12301 GRUB_ACPI_OPCODE_STRING_CONST.
12302 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12303 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12304
e5b90c82
VS
123052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * po/POTFILES.in: Regenerate.
12308
2a704ca9
VS
123092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12312 -Wno-error=missing-noreturn.
12313
84f9d341
VS
123142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12317 condition to avoid possibly infinite loops.
12318 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12319 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12320
d46683f9
VS
123212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12324 condition to avoid possibly infinite loops.
12325
c44866b2
VS
123262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12329 on show_error.
12330
96790539
VS
123312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12334
1ba7e295
VS
123352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12338
21ffe8f1
VS
123392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * util/bin2h.c (usage): Add missing attribute noreturn.
12342
0ccb6b3c
VS
123432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12346 if the size isn't divisible by 512.
12347
b00d7fb6
VS
123482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 Make list_push and list_remove functions rather than inline functions
12351 to decrease size and avoid aliasing violations.
12352
12353 * include/grub/list.h (grub_list_push): Move to ...
12354 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12355 * include/grub/list.h (grub_list_remove): Move to ...
12356 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12357
9d369087
VS
123582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12361 and -Wunused-result.
12362
af0250d9
VS
123632012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12366 Reported by: Seth Goldberg
12367
aad32b14
VS
123682012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12371
ac96441c
ST
123722012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12373
12374 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12375 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12376 command line.
12377 * docs/grub.texi (Simple configuration): Document
12378 GRUB_CMDLINE_GNUMACH.
12379
123802012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
12381
12382 * conf/Makefile.common (platform_SCRIPTS): New variable.
12383 (platform_PROGRAMS): Likewise.
12384 * gentpl.py: Mark *,module and *.image for install.
12385 * grub-core/gdb_grub.in: Add a notice of expected environment.
12386 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12387 (gmodule.pl): Likewise.
12388
ac96441c 123892012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
12390
12391 Replace grub_checkkey with grub_getkey_noblock.
12392
12393 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12394 (grub_getkey_noblock): ... this. All users updated.
12395
ac96441c 123962012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
12397
12398 * grub-core/kern/emu/console.c: Move to ...
12399 * grub-core/term/emu/console.c: ...here.
12400 (grub_ncurses_getkey): Fix return value if no key is detected.
12401
e51b5666
VS
124022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12405 (grub_unit_test_fini): Likewise.
12406 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12407
124082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * include/grub/test.h (GRUB_UNIT_TEST)
12411
d9a62292
VS
124122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12415 Better error handling.
12416 (grub_script_return): Likewise.
12417 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12418
77c9182f
VS
124192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12422 rimplicit redifinition.
12423
edb13cf9
VS
124242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12427 GRUB.
12428
a9e9dc7c
VS
124292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12432 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12433 prompt here.
12434
b4ba8e02
VS
124352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12438 as GRUB_ERR_BUG. Don't malloc if no device is available.
12439
dded5540
VS
124402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12443 Mark calling with invalid term as GRUB_ERR_BUG.
12444
0cf69874
VS
124452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12448 packets rather than raising an error.
12449
59bfe502
VS
124502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
12453 in if.
12454
db5fc596
VS
124552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
12458 diagnostic to dprintf.
12459 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12460
e4b7f404
VS
124612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
12464 device name.
12465
e7b02f9e
VS
124662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
12469 (grub_ntfs_iterate_dir): Likewise.
12470
0331e102
VS
124712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Efiemu stylistic fixes and gettext.
12474
12475 * grub-core/efiemu/i386/loadcore32.c
12476 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
12477 * grub-core/efiemu/i386/loadcore64.c
12478 (grub_arch_efiemu_relocate_symbols64): Likewise.
12479 * grub-core/efiemu/i386/pc/cfgtables.c
12480 (grub_machine_efiemu_init_tables): Likewise.
12481 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
12482 (grub_efiemu_loadcore_initXX): Add a filename argument.
12483 All users updated.
12484 Improved error message.
12485 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
12486 Add a filename argument.
12487 All users updated.
12488 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
12489 Reclassify double relocation as GRUB_ERR_BUG.
12490
306fc074
VS
124912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
12494 handling.
12495
794d8ef2
VS
124962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
12499 on partition.
12500
125012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
12502
12503 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
12504
794d8ef2 125052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
12506
12507 Improve string. Gettextize.
12508
78dde88e
VS
125092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
12512 utils.
12513 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
12514
4786a90f
VS
125152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
12518 [GRUB_UTIL]: New function.
12519 (insert_array) [GRUB_UTIL]: Store partmaps.
12520 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
12521 partmaps.
12522 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
12523 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
12524 (probe_abstraction): Print diskfilter and not raid.
12525 Reported by: Lennart Sorensen
12526
0b6225bd
VS
125272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
12530 * util/grub-mkimagexx.c (MASK3): New define.
12531 (add_value_to_slot_20b): Use MASK3.
12532 (add_value_to_slot_21): Likewise.
12533 (relocate_addresses): Fix format specification.
12534 (load_image): Explicitly init symtab_section.
12535
b055f8f6
VS
125362012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
12539 (grub_util_biosdisk_get_grub_dev): Fix format specification.
12540
b77c2fb7
VS
125412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
12544 on powerpc.
12545 Reported by: Lennart Sorensen
12546
e3ec28ab
VS
125472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * gentpl.py: Add missing license header.
12550 * docs/grub.texi: Update copyright year.
12551
c8d9ead6
GS
125522012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12553
12554 Source grub-mkconfig_lib from the build directory at build time.
12555 Suggested by: Vladimir Serbinenko.
12556
12557 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
12558 * util/grub-install.in: Define pkgdatadir if not already set, and source
12559 grub-mkconfig_lib from there.
12560 * util/grub-kbdcomp.in: Likewise.
12561 * util/grub-mkconfig.in: Likewise.
12562 * util/grub-mknetdir.in: Likewise.
12563 * util/grub-mkrescue.in: Likewise.
12564 * util/grub-mkstandalone.in: Likewise.
12565 * util/grub-reboot.in: Likewise.
12566 * util/grub-set-default.in: Likewise.
12567 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12568
ebcecdf1
VS
125692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Increase warning level.
12572
12573 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
12574 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
12575 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
12576 (TARGET_CFLAGS): Likewise.
12577 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
12578 * grub-core/Makefile.core.def (decompressor_xz): Add
12579 -Wno-unreachable-code.
12580 (normal): Add -Wno-redundant-decls.
12581 (xzio): Add -Wno-unreachable-code.
12582 (lzopio): Add -Wno-redundant-decls -Wno-error.
12583 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
12584 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
12585 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
12586 * grub-core/kern/dl.c: Add exception to -Wcast-align.
12587 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
12588 * grub-core/kern/i386/coreboot/init.c: Add exception to
12589 -Wsuggest-attribute=noreturn.
12590 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
12591 * grub-core/kern/ia64/dl_helper.c: Likewise.
12592 * grub-core/kern/mips/dl.c: Likewise.
12593 * grub-core/kern/sparc64/dl.c: Likewise.
12594 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
12595 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
12596 (memcmp): Likewise.
12597 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
12598 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
12599 * grub-core/loader/mips/linux.c: Likewise.
12600 * grub-core/loader/multiboot_elfxx.c: Likewise.
12601 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
12602 * grub-core/video/sm712.c: Add exception to -Wcast-align.
12603 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
12604 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
12605 fixme.
12606 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12607 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
12608 Fix prototype.
12609
37bb97fe
VS
126102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
12613 address.
12614
29a3550b
VS
126152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12618 Avoid improper use of strings.
12619 (grub_cmd_legacy_initrdnounzip): Likewise.
12620
dfdffd0d
VS
126212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * include/grub/emu/misc.h (grub_util_warn): Add missing format
12624 attribute.
12625 (grub_util_info): Likewise.
12626 (grub_util_error): Likewise.
12627
102fae4a
VS
126282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
12631 * util/grub-fstest.c (fstest): Likewise.
12632
7e94d044
VS
126332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
12636 (grub_md_sha512_real): Likewise.
12637 (grub_util_get_geli_uuid): Likewise.
12638 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
12639 (grub_util_biosdisk_open): Fix format specification.
12640 Respect format security.
12641 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
12642 (xrealloc): Likewise.
12643 (xasprintf): Likewise.
12644
5ebd9769
VS
126452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * util/import_gcry.py: Include grub/crypto.h in init.c.
12648
495fc8c1
VS
126492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
12652 (generate_image): Make prefix a const char *.
12653 Fix format specifications. Respect format security.
12654 Avoid void * arithmetics.
12655 Avoid shadowing.
12656 (argp_parser): Remove unused variable. Respect format security.
12657 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
12658 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
12659 (count_funcs): Remove unused variable.
12660 (relocate_addresses): Fix format specification.
12661 Disable x86-64 with elf32. Remove unused variables.
12662 (add_fixup_entry): Avoid shadowing.
12663 (make_reloc_section): Fix format specification.
12664 Use assert.
12665 (locate_sections): Fix format specifications.
12666 (load_image): Avoid shadowing.
12667
043c2ea3
VS
126682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
12671 Fix format specifications. Respect format security.
12672 Don't translate already translated grub_errmsg.
12673 (argp_parser): Remove unused variable
12674
3ec65a81
VS
126752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
12678
a4d9fe4a
VS
126792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
12682 (main): Likewise. Use xmalloc. Respect format security.
12683
15b81d49
VS
126842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
12687 a const char *.
12688 (argp_parser): Remove unused variable.
12689
31731fc0
VS
126902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
12693 (add_pixel): Make static.
12694 (add_font): Likewise.
12695 (write_string_section): Make name and str a const char *.
12696 (write_be16_section): Make name a const char *.
12697 (print_glyphs): Make static.
12698 (write_font_ascii_bitmap): Likewise.
12699 (write_font_width_spec): Likewise.
12700 (write_font_pf2): Likewise.
12701 (argp_parser): Remove unused variable.
12702 Respect format security.
12703 (main): Avoid shadowing. Respect format security.
12704
0809527b
VS
127052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub-editenv.c (argp_parser): Make static.
12708 (create_envblk_file): Use xmalloc.
12709 (open_envblk_file): Likewise.
12710 Resepect format security.
12711 (set_variables): Respect format security.
12712
45b0c8b7
VS
127132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * util/getroot.c (grub_find_device): Respect format security.
12716 (get_mdadm_uuid): Remove unused variable.
12717 (grub_util_pull_device): Dont call gettext on already translated
12718 grub_errmsg.
12719 (find_system_device): Remove unused variable.
12720 (grub_util_get_grub_dev): Likewise.
12721 (grub_make_system_path_relative_to_its_root): Respect format security.
12722
1b024b4e
VS
127232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * util/grub-fstest.c (execute_command): Make first argument
12726 a const char *.
12727 (read_file): Avoid shadowing.
12728 Reuse underlying error message if device open fails.
12729 (cmd_cmp): Respect format security.
12730 (root): Make const char *.
12731 (fstest): Remove args argument and use global copy.
12732 Respect format security.
12733 (argp_parser): Make static.
12734 (main): Make default_root const char *.
12735
5d1d4e28
VS
127362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * util/grub-mount.c (root): Make const char *.
12739 (execute_command): Make first argument a const char *.
12740 (fuse_init): Respect format security.
12741 (argp_parser): Make static. Remove unused variable.
12742 (main): Make default_root a const char *.
12743 Respect format security.
12744
36eb7379
VS
127452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * util/grub-probe.c (probe): Don't call gettext on already translated
12748 grub_errmsg.
12749 Remove unused variables.
12750 (argp_parser): Remove unused variable.
12751
76fb2ea9
VS
127522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * util/grub-script-check.c (argp_parser): Remove unused variable.
12755 (main): Rename read to curread to avoid shadowing.
12756
56c98584
VS
127572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * util/misc.c (grub_util_write_image_at): Fix format specification.
12760 (grub_util_write_image): Likewise.
12761 (grub_script_execute_argument_to_string): Removed (unused).
12762 (grub_script_execute_menuentry): Likewise.
12763 (grub_putchar): Likewise.
12764
164ebb48
VS
127652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
12768 (FUNCTION) [GRUB_UTIL]: Likewise.
12769 (VARIABLE) [GRUB_UTIL]: Likewise.
12770
44318d61
VS
127712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
12774 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
12775
31a26002
VS
127762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
12779 buffer.
12780
127812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
12784 (LzmaEnc_SaveState): Removed (unused).
12785 (LzmaEnc_RestoreState): Likewise.
12786 (LzmaEnc_InitPriceTables): Made static.
12787 (LzmaEnc_Construct): Likewise.
12788 (LzmaEnc_FreeLits): Likewise.
12789 (LzmaEnc_Destruct): Likewise.
12790 (LzmaEnc_Init): Likewise.
12791 (LzmaEnc_InitPrices): Likewise.
12792 (LzmaEnc_Finish): Likewise.
12793 (LzmaEnc_PrepareForLzma2): Removed (unused).
12794 (LzmaEnc_MemPrepare): Likewise.
12795 (LzmaEnc_GetNumAvailableBytes): Likewise.
12796 (LzmaEnc_GetCurBuf): Likewise.
12797 (LzmaEnc_CodeOneMemBlock): Likewise.
12798
6fa67967
VS
127992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
12802 (grub_util_ldm_embed): Likewise.
12803
9a7428e6
VS
128042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * util/grub-editenv.c (print_var): Rename name to varname to
12807 avoid shadowing.
12808 (main): Rename index to curindex to avoid shadowing.
31a26002 12809 Make filename a const char *.
9a7428e6 12810
4f96abd1
VS
128112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
12814 to arg_getline to avoid shadowing.
12815
44d10dad
VS
128162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
12819 disk_ to avoid shadowing.
12820
340ba63e
VS
128212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
12824 curindex to avoid shadowing.
12825 Make static.
12826 (MatchFinder_GetNumAvailableBytes): Make static.
12827
22965bce
VS
128282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
12831 avoid shadowing.
12832
7b5784d4
VS
128332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
12836 argument from encrypt to do_encrypt to avoid shadowing.
12837
6f48ca01
VS
128382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
12841 incorrect nesting of #if's.
12842
a4ea2dff
VS
128432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
12846 checks which are always false on some platforms.
12847 (grub_cmd_lsacpi): Likewise.
12848 * grub-core/kern/misc.c (grub_strtoul): Likewise.
12849 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
12850 Likewise.
12851
def9fc1b
VS
128522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
12855 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
12856
a67b2a04
VS
128572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
12860 re_dfa_t to avoid breaking alignment invariants.
12861 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
12862 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
12863
44c6828d
VS
128642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
12867 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
12868
bebe0dd0
VS
128692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
12872 Fix declaration.
12873
a9cdb3cf
VS
128742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
12877 conserve alignment invariants.
12878 (grub_ehci_ehcc_read16): Likewise.
12879 (grub_ehci_oper_read32): Likewise.
12880 (grub_ehci_oper_write32): Likewise.
12881 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
12882 Conserve alignment invariants.
12883
ccc3b1b8
VS
128842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
12887 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
12888 declarations.
12889
987fbd95
VS
128902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
12893 Remove unused variable.
12894
0df363f3
VS
128952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
12898 Remove set in if.
12899
b2c0c4a6
VS
129002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * include/grub/net.h: Remove double declarations.
12903
690c531f
VS
129042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 Remove "payload" command in ia64 Linux loader since I couldn't
12907 find any evidence of it being used for anything.
12908 Replace "relocate" command with an environment variable
12909
12910 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
12911 fields.
12912 (ia64_boot_payload): Removed.
12913 (last_payload): Likewise.
12914 (RELOCATE_OFF): Likewise.
12915 (RELOCATE_ON): Likewise.
12916 (RELOCATE_FORCE): Likewise.
12917 (relocate): Likewise.
12918 (free_pages): Don't free payloads.
12919 (grub_load_elf64): Use common error messages.
12920 Use "linux_relocate" variable.
12921 Increase the space after boot_params.
12922 (grub_cmd_payload): Removed.
12923 (grub_cmd_relocate): Likewise.
12924 (grub_cmd_fpswa): Improve messages.
12925 (cmd_payload): Removed.
12926 (cmd_relocate): Likewise.
12927 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
12928 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
12929
01783768
VS
129302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 Convert UHCI to DMA framework.
12933
12934 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
12935 (grub_uhci_pci_iter): Fill new members
12936 (grub_alloc_td): Use P2V and V2P functions.
12937 (grub_free_queue): Likewise.
12938 (grub_alloc_qh): Likewise.
12939 (grub_uhci_setup_transfer): Likewise.
12940 (grub_uhci_check_transfer): Likewise.
12941
43206939
VS
129422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
12945 Remove assignment in if while on it.
12946
571e140e
VS
129472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * util/grub-mkstandalone.in: Fix modules directory.
12950
a9d96eeb
VS
129512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
12954 on i386-pc target.
12955 (argp_parser): Accept "auto" as compression specification.
12956
e4e37e8d
VS
129572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 Fix `help' with unloaded modules.
12960
12961 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
12962 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
12963 (grub_dyncmd_dispatcher): Small stylistic fix.
12964 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
12965 explicit help is requested.
12966
e1ea3ade
VS
129672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
12970 Explicitly init restart while on it.
12971
27556881
VS
129722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
12975 uninited variable.
12976
d65f6b36
VS
129772012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * util/grub-mknetdir.in: Use . rather than source for POSIX
12980 compatibility.
12981
0a1e473c
VS
129822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
12985
ce6647c8
VS
129862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
12989 variable.
12990
66747894
VS
129912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
12994 without quotes.
12995
71645f6e
VS
129962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
12999
0e1c1f61
VS
130002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13003 iteration of partitions.
13004
9c4b5c13
VS
130052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 Improve gettext support. Stylistic fixes and error handling fixes while
13008 on it.
13009
215c90cb
VS
130102012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13013 part. Instead setup the correct stack in RM.
13014 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13015 for stack.
13016 * include/grub/i386/relocator_private.h: New file.
13017
b5c1f9bf
VS
130182012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13021 argument.
13022 * util/grub-fstest.c (options): Add missing DEVICE part.
13023
b525fd83
VS
130242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 Clarify and unify messages.
13027
13028 * grub-core/commands/hashsum.c (options): Unify messages.
13029 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13030 literal-only message as translatable.
13031 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13032 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13033 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13034 commands.
13035 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13036 key, not the key used to unlock. Clarify what it's used for.
13037 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13038 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13039 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13040 * util/grub-editenv.c (options): Unify "verbose" message.
13041 * util/grub-fstest.c (read_file): Unify error message.
13042 (fstest): Add quotes around commands.
13043 (options): Unify "verbose" message.
13044 * util/grub-install.in: Add quotes around variable name.
13045 * util/grub-kbdcomp.in: Unify error message.
13046 * util/grub-mkfont.c (main): Likewise.
13047 * util/grub-mkrescue.in: Likewise.
13048 * util/grub-mklayout.c (options): Unify "verbose" message.
13049 * util/grub-mkstandalone.in: Unify help and verbose messages.
13050 * util/grub-mount.c (options): Unify "verbose" message.
13051 * util/grub-probe.c (options): Likewise.
13052 * util/grub-script-check.c (options): Likewise.
13053 * util/grub-setup.c (setup): Unify no-terminator message.
13054 (options): Use DEVICE and not DEV.
13055 Unify "verbose" message.
13056 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13057
0ae70393
VS
130582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 Improve and unify messages.
13061
13062 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13063 name. All users updated.
13064 Print filename in error.
13065 (read_device_map): Print filename in error.
13066 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13067 (grub_util_get_os_disk): Likewise.
13068 (grub_util_biosdisk_get_grub_dev): Likewise.
13069 (grub_util_check_block_device): Likewise.
13070 (grub_util_check_char_device): Likewise.
13071 (grub_make_system_path_relative_to_its_root): Likewise.
13072 * util/grub-editenv.c (create_envblk_file): Likewise.
13073 (open_envblk_file): Likewise.
13074 (write_envblk): Likewise.
13075 * util/grub-fstest.c (cmd_cp): Likewise.
13076 (cmd_cat): Likewise.
13077 (cmd_cmp): Likewise.
13078 * util/grub-menulst2cfg.c (main): Likewise.
13079 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13080 (write_font_width_spec): Likewise.
13081 (write_font_pf2): Likewise.
13082 * util/grub-mkimage.c (generate_image): New argument outname.
13083 All users updated.
13084 Remove unreacheable message.
13085 (options): Unify messages.
13086 (help_filter): Likewise.
13087 * util/grub-mklayout.c (usage): Removed (unused).
13088 (main): Print filename in error.
13089 * util/grub-mkrescue.in: Fix wrong quoting.
13090 * util/grub-setup.c (setup): Print filename in error.
13091 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13092 (check_sas): Likewise.
13093 * util/misc.c (grub_util_get_fp_size): Removed.
13094 (grub_util_get_image_size): Print filename in error.
13095 (grub_util_read_at): Removed.
13096 (grub_util_read_image): Print filename in error.
13097 (grub_util_load_image): Likewise.
13098 (grub_util_write_image_at): New argument filename. All users updated.
13099 Print filename in error.
13100 (grub_util_write_image): New argument filename. All users updated.
13101 Print filename in error.
13102 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13103 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13104
0a96117d
VS
131052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * grub-core/Makefile.core.def (pxechain): New module.
13108 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13109 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13110 function.
13111 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13112 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13113
aca002f7
VS
131142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13117 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13118 * include/grub/err.h (grub_error_saved): New struct.
13119 (grub_errmsg): Make array size explicit.
13120 * include/grub/misc.h (grub_error_save): New function.
13121 (grub_error_load): Likewise.
13122 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13123 (grub_error_push): Update `errno' member name.
13124 (grub_error_pop): Likewise
13125 * grub-core/net/tftp.c (tftp_data): New member save_err.
13126 (tftp_receive): Save error.
13127 (tftp_open): Restore error.
13128
a51dab13
VS
131292012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13132 to real mode down to execute A20-related code in protected mode as
13133 intended.
13134
eb6e6649
GS
131352012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13136
13137 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13138 NULL when the argument `level' has an unexpected value.
13139
92cd0f6e
VS
131402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 Move platform-dependent files from $prefix to $prefix/$platform.
13143
13144 * config.h.in (GRUB_TARGET_CPU): New definition.
13145 (GRUB_PLATFORM): Likewise.
13146 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13147 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13148 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13149 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13150 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13151 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13152 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13153 * grub-core/normal/term.c (read_terminal_list): Likewise.
13154 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13155 $prefix/locale.
13156 (grub_gettext_init_ext): Likewise.
13157 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13158 grub_platform.
13159 * util/grub-install.in: Update directories.
13160 * util/grub-mknetdir.in: Likewise.
13161 * util/grub-mkrescue.in: Likewise.
13162
db606889
VS
131632012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13166 grub_error framework. All users updated.
13167
c39992a4
VS
131682012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13171 lists (by always binsearching), improve caching (cache strings
13172 used for binsearch, not only results), improve
13173 maintainability (by using more structured binary search) and correct
13174 error handling.
13175
1e5ec32f
VS
131762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/script/execute.c (grub_script_return): Fix warning.
13179
ac576cde
VS
131802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/script/execute.c (grub_script_return): Fix potential
13183 NULL-dereference.
13184 Reported by: Jim Meyering.
13185
498453f6
VS
131862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * po/POTFILES.in: Regenerate.
13189 * util/grub-install.in: Gettextize the strings missed in first pass.
13190
8be63f2e
VS
131912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * Makefile.util.def (grub-mkdevicemap): Removed.
13194 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13195 * include/grub/util/deviceiter.h: Removed.
13196 * util/deviceiter.c: Likewise.
13197 * util/getroot.c (grub_util_get_os_disk): New function.
13198 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13199 replacement for EFI.
13200 * util/grub-mkdevicemap.c: Removed.
13201 * util/grub-probe.c (probe): Handle PRINT_DISK.
13202 (argp_parser): Handle -t disk.
13203
8e1e4e39
VS
132042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * util/grub-mkfont.c: Migrate to argp.
13207 * util/grub-mklayout.c: Likewise.
13208 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13209 * util/grub-mkrelpath.c: Likewise.
13210 * util/grub-probe.c: Likewise.
13211 * util/grub-script-check.c: Likewise.
13212
4459819a
VS
132132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/grub-reboot.in: Add missing datarootdir.
13216 Add missing newline.
13217 * util/grub-set-default.in: Add missing datarootdir.
13218 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13219 * util/grub-mkrescue.in: Likewise.
13220
f65741c7
VS
132212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13224
c1a33466
VS
132252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 * util/grub-kbdcomp.in: Add decent help and gettextize.
13228 * docs/man/grub-kbdcomp.h2m: New file.
13229
c76899a0
VS
132302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 Migrate grub-mkimage.c to argp.
13233
13234 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13235 (grub-setup): Likewise.
13236 * util/grub-setup.c (print_version): Move to ...
13237 * util/argp_common.c (print_version): ... here.
13238 * util/grub-setup.c (argp_program_version_hook): Move to ...
13239 * util/argp_common.c (argp_program_version_hook): ... here.
13240 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13241 safety.
13242 * util/grub-mkimage.c (main): Migrate to argp.
13243
57db0757
VS
132442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * util/grub-mkrescue.in: Use same message as
13247 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13248 for better translations.
13249
18534ad9
VS
132502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13253 options with generic grub-mkrescue.in with the goal of future
13254 merge.
13255
c84ba308
VS
132562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/kern/mm.c: Add missing include of i18n.h
13259 * grub-core/lib/relocator.c: Likewise.
13260
347998c2
VS
132612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13264 error.
13265 (allocate_pages): Check return value.
13266 Replace fatal with error.
13267 (grub_linux_boot): Replace printf with dprintf.
13268 Check find_mmap_size return value.
13269 Replace fatal with error.
13270 Don't call grub_machine_fini.
13271 (grub_load_elf64): Replace printf with dprintf.
13272 (grub_cmd_linux): Likewise.
13273 (grub_cmd_initrd): Likewise.
13274 (grub_cmd_payload): Likewise.
13275
c779226e
VS
132762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13279 message.
13280 * grub-core/video/radeon_fuloong2e.c
13281 (grub_video_radeon_fuloong2e_setup): Likewise.
13282 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13283 * grub-core/video/video.c (grub_video_set_mode): Don't override
13284 standard out of memory message.
13285
dc87d45a
GS
132862012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13287
13288 NetBSD disk wedge support.
13289
13290 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13291 [__NetBSD__]: Handle NetBSD disk wedges.
13292 * util/getroot.c (convert_system_partition_to_system_disk)
13293 [__NetBSD__]: Likewise.
13294
055f856f
MW
132952012-02-03 Mark Wooding <mdw@distorted.org.uk>
13296
13297 * util/grub-mkconfig.in: Use umask rather than chmod to create
13298 grub.cfg.new to avoid insecure grub.cfg.
13299
4a9f8346
VS
133002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * grub-core/commands/ls.c: Gettextize.
13303 * grub-core/commands/setpci.c: Likewise.
13304 * grub-core/commands/videotest.c: Likewise.
13305 * grub-core/disk/geli.c: Likewise.
13306 * grub-core/kern/mm.c: Likewise.
13307 * grub-core/lib/relocator.c: Likewise.
13308 * grub-core/loader/efi/appleloader.c: Likewise.
13309 * grub-core/loader/i386/xnu.c: Likewise.
13310 * grub-core/loader/ia64/efi/linux.c: Likewise.
13311 * grub-core/loader/xnu.c: Likewise.
13312 * grub-core/net/dns.c: Likewise.
13313 * grub-core/net/net.c: Likewise.
13314 * grub-core/script/lexer.c: Likewise.
13315 * grub-core/script/parser.y: Likewise.
13316 * grub-core/script/yylex.l: Likewise.
13317 * util/getroot.c: Likewise.
13318 * util/grub-setup.c: Likewise.
13319
a646a366
VS
133202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13323 number.
13324
54e2be26
VS
133252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13328
f7c71e68
VS
133292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13332 macro.
13333 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13334 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13335
a32d5c71
VS
133362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13339 * util/grub-install.in: Gettextize.
13340 * util/grub-mkconfig.in: Likewise.
13341 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13342 if not available.
13343 (grub_warn): Gettextize.
13344 * util/grub-mknetdir.in: Gettextize.
13345 * util/grub-mkrescue.in: Likewise.
13346 * util/grub-mkstandalone.in: Likewise.
13347 * util/grub-reboot.in: Likewise.
13348 * util/grub-set-default.in: Likewise.
13349 * util/grub.d/00_header.in: Likewise.
13350 * util/grub.d/10_hurd.in: Likewise.
13351 * util/grub.d/10_kfreebsd.in: Likewise.
13352 * util/grub.d/10_linux.in: Likewise.
13353 * util/grub.d/10_netbsd.in: Likewise.
13354 * util/grub.d/10_windows.in: Likewise.
13355 * util/grub.d/20_linux_xen.in: Likewise.
13356 * util/grub.d/30_os-prober.in: Likewise.
13357 * po/POTFILES-shell.in: Regenerate.
13358
69edd81a
RL
133592012-02-03 Richard Laager <rlaager@wiktel.com>
13360
13361 * util/grub-mkimage.c (main): Fix format-security warning.
13362 * util/grub-mkrelpath.c (main): Likewise.
13363 * util/grub-probe.c (main): Likewise.
13364
65f08dbf
RL
133652012-02-03 Richard Laager <rlaager@wiktel.com>
13366
13367 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13368 failure.
13369 Put back lost PRINT_DRIVE.
13370
e9084abe
RL
133712012-02-03 Richard Laager <rlaager@wiktel.com>
13372
13373 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13374 (grub_guess_root_devices): Replace strlen with sizeof.
13375 Avoid crash.
13376 (find_root_devices_from_poolname): Remove unused variable.
13377 Handle raidzN.
13378
cf5f7ee7
VS
133792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 Support install on multi-device filesystems.
13382
13383 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13384 (grub_guess_root_devices): ...this. Return char **. All users updated.
13385 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13386 Removed.
13387 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13388 (find_root_devices_from_poolname): ... here.
13389 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13390 Support zfs-fuse.
13391 (grub_guess_root_device): Rename to ...
13392 (grub_guess_root_devices): ... this. Return char **. All users updated.
13393 * util/grub-install.in: Handle multi-device filesystems.
13394 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13395 argument. All users updated.
13396 Handle multi-device filesystems.
13397 Use 'delim' as separator.
13398 Remove device check to allow filesystems on file.
13399 (main): Support -0 argument. Handle multi-device.
13400 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13401 Fix a cross-device check while on it.
13402 (arguments): Remove root_dev.
13403 (argp_parser): Remove -r.
13404 (main): Remove root_dev.
13405
2f53a9ed
VS
134062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13409
17e1d934
VS
134102012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13413 symbol.
13414 Reported by: NODA, Kai <nodakai>.
13415
d3e3fab5
VS
134162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 Fix ehci on amd64.
13419
13420 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13421 pointers.
13422 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13423 (grub_ehci_setup_qh): Likewise.
13424 (grub_ehci_find_qh): Likewise.
13425 (grub_ehci_transaction): Likewise.
13426 (grub_ehci_setup_transfer): Likewise.
13427 (grub_ehci_check_transfer): Likewise.
13428 (grub_ehci_portstatus): Likewise.
13429 (grub_ehci_detect_dev): Likewise.
13430 (grub_ehci_transfer_controller_data): New field td_last_phys.
13431 (grub_ehci_setup_transfer): Fill td_last_phys.
13432 (grub_ehci_check_transfer): Use td_last_phys.
13433
3008675b
SG
134342012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13435
13436 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13437 if no submenu is present.
13438
fc9b5652
AN
134392012-02-01 Aleš Nesrsta <starous@volny.cz>
13440
13441 CBI support.
13442
13443 * include/grub/usb.h (grub_usbms_protocol_t): New values
13444 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13445 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13446 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13447 (grub_usbms_dev): Add subclass, protocol and intrpt.
13448 Remove in_maxsz and out_maxsz.
13449 (grub_usbms_reset): Rename to ...
13450 (grub_usbms_bo_reset): .. this.
13451 (grub_usbms_cbi_cmd): New function.
13452 (grub_usbms_cbi_reset): Likewise.
13453 (grub_usbms_reset): Likewise.
13454 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
13455 (grub_usbms_transfer): Rename to ...
13456 (grub_usbms_transfer_bo): ... this.
13457 (grub_usbms_transfer_cbi): Likewise.
13458 (grub_usbms_transfer): Likewise.
13459
a2b81d53
AN
134602012-02-01 Aleš Nesrsta <starous@volny.cz>
134612012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
13464 the support for the CS5536 modification thereos and few bugfixes.
13465
13466 * grub-core/Makefile.core.def (ehci): New module.
13467 * grub-core/bus/usb/ehci.c: New file.
13468 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
13469 port and hubaddr. All users updated.
13470 Save port and hubaddr into dev structure.
13471 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
13472 define.
13473 * include/grub/pci.h (grub_dma_phys2virt): New function.
13474 (grub_dma_virt2phys): Likewise.
13475 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
13476
b1d51f02
VS
134772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
13480 check as some mkfs implementations omit it.
13481
fc694106
VS
134822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * docs/grub.texi (Unicode): Mention identifier and space limitations.
13485
6c0920e3
VS
134862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
13489 Add new member volname2.
13490 (grub_jfs_label): Use volname2 if available.
13491
d1a46f9a
VS
134922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
13495 over last_mounted as seen in image generated by mkfs.nilfs2.
13496 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
13497
dec8ed14
VS
134982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
13501 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
13502 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
13503
7397c69b
VS
135042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
13507 over the sector.
13508
b3fe42ad
VS
135092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
13512 subvolume name (by removing a bogus and useless check).
13513
10476bb0
VS
135142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
13517 sizeof while on it.
13518
9c08ad87
VS
135192012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
13522 (grub_scsi_read_capacity10): ... this.
13523 (grub_scsi_read_capacity16): New function.
13524 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
13525 0xffffffff.
13526 Fix off-by-one error.
13527 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
13528 64-bit unsigned.
13529 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
13530 (grub_scsi_read_capacity10): ... this.
13531 (grub_scsi_read_capacity_data): Rename to ...
13532 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
13533 (grub_scsi_read_capacity16): New struct.
13534 (grub_scsi_read_capacity16_data): Likewise.
13535 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
13536 grub_scsi_cmd_read_capacity10.
13537 New command grub_scsi_cmd_read_capacity16.
13538
bc8d0f45
VS
135392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 SCSI >2TiB support.
13542
13543 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
13544 (grub_scsi_write16): Likewise.
13545 (grub_scsi_read): Use read16 when necessary.
13546 (grub_scsi_write): Likewise.
13547 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
13548 (grub_scsi_write16): Likewise.
13549 (grub_scsi_cmd_t): Add READ16 and WRITE16.
13550
cc774926
VS
135512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 SCSI write support (for usbms mainly).
13554
13555 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
13556 a const pointer.
13557 (grub_scsi_write): Implement.
13558 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
13559
67639fd7
VS
135602012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
13563 variable.
13564
9079d3ed
VS
135652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/lib/posix_wrap/string.h (memchr): New function.
13568
c6a6f204
VS
135692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * po/POTFILES.in: Regenerate.
13572
ecbf8cd1
VS
135732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
13576 with grub_printf to avoid unnecessary fatal failure.
13577
0b3b3b38
VS
135782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
13581 (INT_MAX): Likewise.
13582 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
13583 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
13584 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
13585 (strcpy): Likewise.
13586 (strstr): Likewise.
13587 (strchr): Likewise.
13588 (strncpy): Likewise.
13589 (strcat): Likewise.
13590 (strncat): Likewise.
13591 (strcoll): Likewise.
13592 * include/grub/types.h (GRUB_SHRT_MAX): New define.
13593 (GRUB_INT_MAX): Likewise.
13594
db7337a3
VS
135952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
13598 unexpected error.
13599 (optimize_utf8): Likewise.
13600 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
13601
f37c87e1
VS
136022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/boot/i386/pc/lnxboot.S: Use
13605 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
13606 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13607 location.
13608 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
13609 definition.
13610 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
13611
63fe43f3
VS
136122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
13615 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
13616 now to avoid double free.
13617 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
13618 hostdisk.
13619 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
13620 * util/grub-probe.c (escape_of_path): Always return a new copy.
13621 (print_full_name): Escape path.
13622 (probe): Don't call grub_util_devname_to_ofpath on NULL.
13623 Fix hints on abstractions.
13624
ebe2c961
VS
136252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
13628 Don't add "root" line if no compatibility hont is available.
13629 Suggested by: Seth Goldberg.
13630
2b5336a2
VS
136312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
13634 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
13635 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
13636 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
13637
74310bd8
VS
136382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
13641
c30582ba
VS
136422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * util/grub-pe2elf.c (ehdr): Make static.
13645 (shdr): Likewise.
13646 (num_sections): Likewise.
13647 (offset): Likewise.
13648
5f47782c
VS
136492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 Eliminate ofpath limits and possible overflows.
13652
13653 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
13654 (OF_PATH_MAX): Removed.
13655 (MAX_DISK_CAT): New const.
13656 (find_obppath): Use allocated rather than preallocated buffer.
13657 Return result. Argument of_path removed. All users updated.
13658 Add missing fdstat.
13659 (xrealpath): New function.
13660 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
13661 Allocate rather than use preallocated buffer. All users updated.
13662 (__of_path_common): Use allocated rather than preallocatecd buffer.
13663 Return result. Argument of_path removed. All users updated.
13664 (vendor_is_ATA): Read only needed part form the file.
13665 (check_sas): Allocate depending on contents rather than fixed.
13666 (main) [STANDALONE]: Handle NULL result.
13667
f990cbf9
VS
136682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * grub-core/normal/completion.c (iterate_dev): Close the disk.
13671
9c6e84b8
VS
136722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 Cryptodisk write support.
13675
13676 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
13677 (grub_cryptodisk_decrypt): Moved logic to ...
13678 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
13679 (grub_cryptodisk_write): Implement.
13680 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
13681 (grub_util_fd_write): ... this. Make global.
13682 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
13683
87cf9744
VS
136842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * include/grub/list.h (grub_list_remove): Don't crash if element is
13687 removed twice.
13688
ca8c0baf
VS
136892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 Rename ofconsole to console.
13692
13693 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
13694 as sysnonym to console.
13695 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13696 * grub-core/term/ieee1275/console.c: ... this. All users updated.
13697 Rename grub_ofconsole_ to grub_console_. All users updated
13698 (grub_console_term_output): Rename "ofconsole" to "console".
13699 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
13700 as "console".
13701
64c8b8f6
VS
137022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
13705 handling.
13706 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
13707 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
13708 GRUB_DISK_DEVICE_FILE_ID.
13709
f6c434d5
VS
137102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
13713 and improve performance.
13714
5858b42d
VS
137152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
13718 missing ieee1275/ prefix on whole disk.
13719
4ed3c26b
VS
137202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
13723 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13724
df71143e
VS
137252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
13728
076e7c0f
VS
137292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 Merge common RAID and LVM logic to an abstract diskfilter.
13732 Add LDM support using the same framework.
13733
13734 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
13735 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
13736 (libgrubmods): Remove grub-core/disk/raid.c and
13737 grub-core/partmap/gpt.c.
13738 * grub-core/Makefile.core.def (ldm): New module.
13739 (raid): Renamed to diskfilter. All users updated.
13740 * grub-core/disk/raid.c: Moved to ...
13741 * grub-core/disk/diskfilter.c: ... here.
13742 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
13743 (lv_num): New var.
13744 (find_array): Renamed to ...
13745 (find_lv): ... this. Support multi-LV. Skip nameless LVs
13746 (grub_is_array_readable): Renamed to ...
13747 (grub_is_lv_readable): ... this. Support multinode hierarchy.
13748 (insert_array): New argument id.
13749 (is_node_readable): New function.
13750 (scan_device): Rename to ...
13751 (scan_disk): .. this. Restrict to one disk.
13752 (scan_devices): New function.
13753 (grub_diskfilter_iterate): Support multi-LV.
13754 Skip invisible and nameless LVs.
13755 (grub_diskfilter_memberlist): Support multi-LV.
13756 (grub_diskfilter_read_node): New function.
13757 (grub_raid_read): Most of logic moved to ...
13758 (read_segment): ... here
13759 (read_lv): New function.
13760 (grub_diskfilter_get_vg_by_uuid): New function.
13761 (grub_diskfilter_make_raid): Likewise.
13762 * grub-core/disk/ldm.c: New file.
13763 * grub-core/disk/lvm.c (vg_list): Removed.
13764 (lv_count): Likewise.
13765 (scan_depth): Likewise.
13766 (is_lv_readable): Likewise.
13767 (grub_lvm_getvalue): Advance pointer past the number.
13768 (find_lv): Removed.
13769 (do_lvm_scan): Refactored into ...
13770 (grub_lvm_detect): ... this. Support raid.
13771 (grub_lvm_iterate): Removed.
13772 (grub_lvm_memberlist): Likewise.
13773 (grub_lvm_open): Likewise.
13774 (grub_lvm_close): Likewise.
13775 (read_lv): Likewise.
13776 (read_node): Likewise.
13777 (is_node_readable): Likewise.
13778 (is_lv_readable): Likewise.
13779 (grub_lvm_read): Likewise.
13780 (grub_lvm_write): Likewise.
13781 (grub_lvm_dev): Use diskfilter
13782 (GRUB_MOD_INIT): Likewise.
13783 (GRUB_MOD_FINI): Likewise.
13784 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
13785 new interface.
13786 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
13787 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13788 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
13789 grub_diskfilter_read_node.
13790 Fix a bug with xor.
13791 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
13792 grub_diskfilter_read_node.
13793 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
13794 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
13795 (grub_disk_dev_iterate): Move from here...
13796 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
13797 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
13798 Make global.
13799 (grub_hostdisk_find_partition_start): Likewise.
13800 (grub_hostdisk_os_dev_to_grub_drive): New function.
13801 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
13802 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
13803 * util/getroot.c (make_device_name): ... here.
13804 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
13805 Move to ...
13806 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
13807 * grub-core/kern/emu/hostdisk.c
13808 (convert_system_partition_to_system_disk): Move to ...
13809 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
13810 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
13811 * util/getroot.c (device_is_wholedisk): ... here.
13812 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
13813 * util/getroot.c (find_system_device): ... here.
13814 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
13815 Move to ...
13816 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
13817 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13818 Move to ...
13819 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
13820 Handle LDM.
13821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13822 Move to ...
13823 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
13824 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
13825 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
13826 DISKFILTER.
13827 * include/grub/raid.h: Renamed to ...
13828 * include/grub/diskfilter.h: ... this.
13829 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
13830 (GRUB_RAID_LAYOUT_*): Make into array.
13831 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
13832 (grub_diskfilter_vg): New struct.
13833 (grub_diskfilter_pv_id): Likewise.
13834 (grub_raid_member): Removed.
13835 (grub_raid_array): Likewise.
13836 (grub_diskfilter_pv): New struct.
13837 (grub_diskfilter_lv): Likewise.
13838 (grub_diskfilter_segment): Likewise.
13839 (grub_diskfilter_node): Likewise.
13840 (grub_diskfilter_get_vg_by_uuid): New proto.
13841 (grub_raid_register): Inline.
13842 (grub_diskfilter_unregister): Likewise.
13843 (grub_diskfilter_make_raid): New proto.
13844 (grub_diskfilter_vg_register): Likewise.
13845 (grub_diskfilter_read_node): Likewise.
13846 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
13847 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
13848 (grub_util_is_ldm): Likewise.
13849 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
13850 (grub_hostdisk_find_partition_start): Likewise.
13851 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
13852 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
13853 New definition.
13854 (grub_gpt_partition_map_iterate): New proto.
13855 * include/grub/lvm.h (grub_lvm_vg): Removed.
13856 (grub_lvm_pv): Likewise.
13857 (grub_lvm_lv): Likewise.
13858 (grub_lvm_segment): Likewise.
13859 (grub_lvm_node): Likewise.
13860 * util/getroot.c [...]
13861 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
13862 (probe_abstraction): Likewise.
13863 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
13864 (main): Remove dead logic.
13865
8a7f9b9c
VS
138662012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 Simplify root device discover and don't fail when trying to open
13869 incorrect devices.
13870
13871 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
13872 function.
13873 (get_diskname_from_path): Likewise.
13874 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
13875 of iterating.
13876
30545b85
VS
138772012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
13880
28ea58cf
VS
138812012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
13884 pastthe end.
13885
692dabca
VS
138862012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 * util/grub-install.in: Add missing \.
13889 Reported by: gentoofan
13890
f6e4ea70
VS
138912012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
13894 (direct_read): Use correct compressed size.
13895 (grub_squash_read_data): Likewise.
13896
138972012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
13898
13899 * docs/grub.texi (Platform limitations): New section.
13900 (Platform-specific operations): Likewise.
13901 * docs/grub-dev.texi (Porting): Likewise.
13902
76261110
VS
139032012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 IEEE1275 disk write support.
13906
13907 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
13908 const void *.
13909 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
13910 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
13911 and seek loginc to ...
13912 (grub_ofdisk_prepare): ... here.
13913 (grub_ofdisk_write): Implement.
13914
fc36d603
VS
139152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 ARC disk write support.
13918
13919 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
13920 (reopen): New argument writable. All users updated.
13921 Handle required access mode.
13922 (grub_arcdisk_write): Implement.
13923 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
13924 (grub_arc_firmware_vector): Make buffer to write a const buffer.
13925
e06c2e7a
VS
139262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
13929 (read_sblock): Don't attempt to read superblocks outside the disk size.
13930
ff447958
VS
139312012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
13934 first superblock to find the second one when possible.
13935
9e88df39
VS
139362012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * util/grub-install.in: Fix an ARC bug.
13939 Print a warning if no platform-specific setup is available.
13940
bb26e4ff
VS
139412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 Use static allocation rather than scratch pointer in reed_solomon.
13944 It decreases its size significantly and avoids a variable in .text.
13945
13946 * grub-core/lib/reed_solomon.c (scratch): Removed.
13947 (chosenstat): New const or static array.
13948 (sigma): Likewise.
13949 (errpot): Likewise.
13950 (errpos): Likewise.
13951 (sy): Likewise.
13952 (mstat): Likewise.
13953 (errvals): Likewise.
13954 (eqstat): Likewise.
13955 (pol_evaluate): Replace x with log_x argument. All users updated.
13956 (syndroms): Removed.
13957 (gauss_solve): Use statically allocated arrays.
13958 (rs_recover): Likewise.
13959 Calculate syndroms directly.
13960 (decode_block): Use statically allocated arrays.
13961 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
13962 (main) [TEST]: Allow -DTEST -DSTANDALONE.
13963
2e13ede5
VS
139642012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 Eliminate fixed limit on reed solomon decoder length.
13967
13968 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
13969 rather than hardcoding the address.
13970 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
13971 no_reed_solomon_length.
13972 Move gate_a20 to no-reed-solomon part.
13973 Don't force a particular size of no reed-solomon part.
13974 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13975 Removed.
13976 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
13977 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
13978
f8a9ab12
VS
139792012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * grub-core/commands/wildcard.c (match_files): Handle filenames
13982 without explicit device.
13983 (wildcard_expand): Don't add explicit device if not already present.
13984 * tests/grub_script_echo1.in: Add a new expansion test.
13985
87edb894
VS
139862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 Replace single-linked with double-linked lists. It results in more
13989 compact and more efficient code.
13990
13991 * grub-core/kern/list.c (grub_list_push): Moved from here ...
13992 * include/grub/list.h (grub_list_push): ... to here. Set prev.
13993 (grub_list_remove): Moved from here ...
13994 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
13995 (grub_prio_list_insert): Set prev.
13996 * include/grub/list.h (grub_list): Add prev. All users updated.
13997
48b391e9
VS
139982012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 Handle newer autotools. Add some missing quotes while on it.
14001
14002 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14003 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14004 (pkgdata_DATA): ... here.
14005 * Makefile.util.def (update-grub_lib): Removed.
14006 * conf/Makefile.common (pkglib_DATA): Removed.
14007 (pkglib_SCRIPTS): Likewise.
14008 (pkgdata_DATA): New variable.
14009 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14010 needed.
14011 Add missing quotes.
14012 Remove unused variable while on it.
14013 * tests/util/grub-shell.in: Likewise.
14014 * util/grub-install.in: Likewise.
14015 * util/grub-mkconfig.in: Likewise.
14016 * util/grub-mknetdir.in: Likewise.
14017 * util/grub-mkrescue.in: Likewise.
14018 * util/grub-mkstandalone.in: Likewise.
14019 * util/grub.d/00_header.in: Likewise.
14020 * util/grub.d/10_hurd.in: Likewise.
14021 * util/grub.d/10_illumos.in: Likewise.
14022 * util/grub.d/10_kfreebsd.in: Likewise.
14023 * util/grub.d/10_linux.in: Likewise.
14024 * util/grub.d/10_netbsd.in: Likewise.
14025 * util/grub.d/10_windows.in: Likewise.
14026 * util/grub.d/20_linux_xen.in: Likewise.
14027 * util/grub.d/30_os-prober.in: Likewise.
14028 * util/update-grub_lib.in: Removed.
14029
140302012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
14031
14032 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14033 a workaround for intel problem.
14034
66832792
PRP
140352012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
140362012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
140372012-01-23 pfsmorigo
14038
14039 * util/grub-install.in: Support dd'in into PreP partition.
14040 * util/grub-probe.c (probe): Support discovering partition type.
14041 (main): Support -t msdos_parttype.
14042
7816a17e
VS
140432012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14046 infinite recursion using counter.
14047 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14048 init to skip it if the magic check fails.
14049 (dec_stream_header): Init s->crc32.
14050
8f9d3a8c
ZB
140512012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
140522012-01-22 Zachary Bedell <pendorbound@gmail.com>
140532012-01-22 Richard Laager <rlaager@wiktel.com>
14054
14055 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14056 All users updated.
14057 (find_bestub): Determine correct size.
14058 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14059 (scan_disk): Align the size down.
14060 Call check pool before find_bestub to have ashift.
14061
b055dd32
VS
140622012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14065 dprintf in no-malloc zone.
14066
d779e9bd
ML
140672012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14068
14069 * configure.ac: Add back in test for limits.h.
14070
b508af69
VS
140712012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 Support 4K-sector NTFS.
14074
14075 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14076 (grub_ntfs_data): Remove blocksize.
14077 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14078 Remove data argument. All users updated.
14079
dad9c8b5
VS
140802012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14083 being in .text to avoid dprel references.
14084 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14085 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14086 (grub_arch_highmemsize): Likewise.
14087 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14088 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14089 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14090
d43a777e
VS
140912012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14094
14095 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14096 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14097
34e4208f
VS
140982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14101 GRUB_UTIL.
14102 (grub_set_datetime_cmos): Likewise.
14103
3ec0fc1c
VS
141042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 Make XZ compression parameters dependent on target and not host CPU.
14107
14108 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14109 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14110
22489834
VS
141112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14114 set but not used variable.
14115
8502fbca
VS
141162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14119 created when no uuid support is compiled into mkfs.reiser.
14120
76df2068
VS
141212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14124 (utf8_to_macroman): Do the opposite.
14125 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14126
64e3f8f6
VS
141272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 * configure.ac: Refise build qemu_mips w/o unifont.
14130
9c271078
VS
141312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Eliminate grub_min/grub_max prone to overflow usage.
14134
14135 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14136 (poll_nonroot_hub): Likewise.
14137 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14138 (grub_affs_label): Likewise.
14139 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14140 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14141 (grub_hfs_label): Likewise.
14142 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14143 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14144 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14145 (zap_leaf_array_get): Likewise.
14146 (dnode_get_path): Likewise.
14147 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14148 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14149 * grub-core/script/execute.c (grub_script_break): Likewise.
14150 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14151 grub_max.
14152 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14153 * include/grub/misc.h (grub_min): Removed.
14154 (grub_max): Likewise.
14155
80662dbc
VS
141562012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14157
14158 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14159 direct.inode = 0.
14160
e6da1467
VS
141612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14164
b1ac4cb1
VS
141652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14168
b4bf7c3b
VS
141692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14172 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14173
8ee1101a
VS
141742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14177 rather than a hack for grub_strncasemap.
14178
141792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 Support multiple initrds
14182 Note: part of this was accidently committed in r3739.
14183
14184 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14185 initrd.
14186 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14187 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14188 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14189 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14190 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14191
4d1e2bc9
VS
141922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14195 disks with unknown size.
14196 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14197
75b49ebe
VS
141982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 Remove defines pertaining to arbitrary limits not affecting GRUB
14201 anymore.
14202
14203 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14204 (EXT2_MAX_SYMLINKCNT): Likewise.
14205 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14206 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14207 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14208 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14209 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14210 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14211 (DN_MAX_OBJECT_SHIFT): Likewise.
14212 (DN_MAX_OFFSET_SHIFT): Likewise.
14213 (DN_MAX_OBJECT): Likewise.
14214 (DNODES_PER_LEVEL_SHIFT): Likewise.
14215 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14216 (SPA_MAXBLOCKSIZE): Likewise.
14217 (SPA_BLOCKSIZES): Likewise.
14218 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14219 (MZAP_MAX_BLKSZ): Likewise.
14220
74a1dce7
VS
142212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14224 handle NULL appropriately.
14225 Remove MIN.
14226
30c7d3ce
VS
142272012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Fix efiemu.
14230
14231 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14232 cpu/types.h.
14233 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14234 * configure.ac: Fix efiemu check.
14235
3c76ea0c
VS
142362012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14239 grub_probe.
14240 Reported by: adamwill
14241
7e532280
SG
142422012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14243
14244 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14245
30492374
VS
142462012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 Fix handling of wide characters in gfxterm.
14249
14250 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14251 (clear_char): Likewise.
14252 (paint_char): Skip code == NULL chars.
14253 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14254
e70cb72f
VS
142552012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 * grub-core/normal/charset.c: Move comment to right place.
14258
5c827cf9
VS
142592012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14262 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14263 (grub_affs_mount): Revert the correct version checking.
14264
53603892
VS
142652012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * docs/grub.texi (Unicode): Mention several other unsupported features.
14268
ff094b9b
VS
142692011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14270
14271 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14272 case statements as compile-time one.
14273 (direct_read): Prevent spurious warnings.
14274 (grub_squash_read_data): Likewise.
14275
c029da8a
VS
142762011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 Various squash4 fixes and LZO and XZ support.
14279
14280 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14281 Add xzembed source files.
14282 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14283 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14284 (grub_squash_inode): New subtype long_dir.
14285 (SQUASH_TYPE_LONG_DIR): New inode type.
14286 (COMPRESSION): New enum.
14287 (XZBUFSIZ): New const.
14288 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14289 (read_chunk): Use data->decompress.
14290 (zlib_decompress): New function.
14291 (lzo_decompress): Likewise.
14292 (xz_decompress): Likewise.
14293 (squash_mount): Set new data fields.
14294 (grub_squash_iterate_dir): Handle long dir.
14295 (squash_unmount): Free xzdec and xzbuf.
14296 (grub_squash_open): Check ino type.
14297 (direct_read): Stylistic fixes. Use data->decompress.
14298 (grub_squash_read_data): Likewise.
14299 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14300 (get_byte): Likewise.
14301 (grub_zlib_disk_read): Removed.
14302 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14303 (GRUB_POSIX_BOOL_DEFINED): New define.
14304 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14305 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14306 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14307 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14308
7a45a539
VS
143092011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Don't override more informative errors.
14312
14313 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14314 * grub-core/font/font.c (open_section): Likewise.
14315 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14316 filename. Don't override errors.
14317 (grub_cmd_openbsd_ramdisk): Don't override errors.
14318 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14319 (grub_cmd_initrd): Likewise.
14320 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14321 (grub_cmd_initrd): Likewise.
14322 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14323 (grub_cmd_linux): Likewise.
14324 (grub_cmd_initrd): Likewise.
14325 (grub_cmd_payload): Likewise.
14326 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14327 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14328 (grub_cmd_module): Likewise.
14329 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14330 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14331 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14332 (grub_cmd_xnu_mkext): Likewise.
14333 (grub_cmd_xnu_ramdisk): Likewise.
14334 (grub_xnu_check_os_bundle_required): Likewise.
14335 (grub_xnu_load_kext_from_dir): Likewise.
14336 (grub_cmd_xnu_kextdir): Likewise.
14337 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14338
b2d004db
VS
143392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14342 as 1024 in block size field. Found on one of my test images.
14343 Small optimisation while on it.
14344
ec000eac
VS
143452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14348 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14349 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14350 performance fixes while on it.
14351 (grub_sfs_close): Fix memory leak while on it.
14352 (grub_sfs_label): Convert Latin1 to UTF-8.
14353
f50e1165
VS
143542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14357 space to avoid overflows.
14358 (grub_hfs_label): Convert from macroman to UTF-8.
14359
2ae254de
VS
143602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14363
0108f491
VS
143642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14367
f45f5f89
VS
143682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * unicode: Import Unicode 6.0 data.
14371
4d8c4765
VS
143722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14373
63fa8ef9
VS
14374 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14375 outside of range.
14376
143772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
14380
14381 * include/grub/charset.h (grub_getend): New function.
14382 * grub-core/script/function.c (grub_script_function_find): Use
14383 grub_getend.
14384 * grub-core/normal/completion.c (add_completion): Likewise.
14385
f3cb4a4e
VS
143862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14389 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14390 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14391 (GRUB_UNICODE_TAG_END): Likewise.
14392 (GRUB_UNICODE_LAST_VALID): Likewise.
14393
5da8dbc5
VS
143942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14397 len and make it smaller. All users updated.
14398 * util/import_unicode.py: Put length and not end character.
14399 Check length.
14400
8569f13d
VS
144012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Make better Unicode-compliant and unify some UTF-8 code pathes.
14404
14405 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14406 valid character.
14407 (grub_is_valid_utf8): Use grub_utf8_process.
14408 Check resulting code range.
14409 (grub_utf8_to_ucs4): Use grub_utf8_process.
14410 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14411 valid character.
14412
cc4fddf5
VS
144132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14416
bbc47747
VS
144172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * docs/grub.texi (Filesystems): Mention AFS.
14420
f63d6bf4
VS
144212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * docs/grub.texi (Filesystems): Clarify restrictions.
14424 (Regexp): Mention non-Unicode regexp behaviour.
14425 (Other): Mention non-Unicode matching behaviour.
14426
74bbf0db
VS
144272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14428
f63d6bf4 14429 Make HFS implementation use MacRoman.
74bbf0db
VS
14430
14431 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14432 (macroman): New const array.
14433 (macroman_to_utf8): New function.
14434 (utf8_to_macroman): Likewise.
14435 (grub_hfs_find_dir): Use utf8_to_macroman.
14436 (grub_hfs_dir): Use macroman_to_utf8.
14437 Set case_insensitive.
14438
4ea0316e
VS
144392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14442
d3c13cbd
VS
144432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Integrate hints into autogeneration scripts.
14446
14447 * docs/grub.texi (Filesystems): Add a hostdisk example.
14448 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14449 (grub-probe): Add ofpath.
14450 * gentpl.py: Remove group nosparc64.
14451 * grub-core/commands/search.c (cache_entry): New struct.
14452 (cache): New var.
14453 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
14454 * grub-core/commands/search_wrap.c (options): Add platform-specific
14455 hint options.
14456 (grub_cmd_search): Handle platform-specific hints.
14457 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
14458 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
14459 (grub_util_biosdisk_data): Likewise.
14460 (grub_util_biosdisk_open): Set device_map.
14461 (read_device_map): Handle "" as indication of no map.
14462 Set device_map.
14463 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
14464 (grub_util_biosdisk_get_compatibility_hint): New function.
14465 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
14466 * include/grub/emu/hostdisk.h
14467 (grub_util_biosdisk_get_compatibility_hint): New proto.
14468 * util/grub-install.in: Don't call grub-mkdevicemap.
14469 Add platform-specific hint to load.cfg.
14470 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
14471 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14472 hints. Set root preliminary to compatibility hint, not to OS name.
14473 * util/grub-probe.c (PRINT_*): Add hints.
14474 (print): Make static.
14475 (escape_of_path): New function.
14476 (guess_bios_drive): Likewise.
14477 (guess_efi_drive): Likewise.
14478 (guess_baremetal_drive): Likewise.
14479 (print_full_name): Likewise.
14480 (probe): Handle hints.
14481 (main): Likewise.
14482 * util/ieee1275/devicemap.c: Removed.
14483 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
14484 updated.
14485 (grub_util_devname_to_ofpath): Return NULL on failure.
14486
14487 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
14488 resource leak.
14489 * util/getroot.c (grub_util_pull_device): Fix memory leak.
14490
14491 * po/POTFILES.in: Regenerated.
14492
14493 Allow purely long options
14494
14495 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
14496 (SHORT_ARG_USAGE): Likewise.
14497 (grub_arg_show_help): Compare opt with help_options.
14498 (parse_option): Receive opt as argument. If makes big simplificatons.
14499 All users updated
14500
00ce2df3
VS
145012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
14504 Restructure to avoid warning.
14505
e77e325f
VS
145062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * util/grub-install.in: Account for possible escaped comma in device
14509 name.
14510
165099ea
VS
145112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
14514 channel.
14515
ce4a999d
VS
145162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
14519 allocation and zero-setting.
14520 (grub_ieee1275_get_devname): Check that alias is complete.
14521
379586ad
VS
145222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
14525 unaligned segments.
14526
9197b0ad
VS
145272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
14530 prefix.
14531 (grub_ofdisk_open): Check and discard ieee1275 prefix.
14532 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14533 Add ieee1275 prefix.
14534
edddb7f9
VS
145352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * docs/grub.texi (Filesystems): Update.
14538
a1a8b1b9
VS
145392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 Support odc, newc and bigendian cpio formats.
14542
14543 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
14544 * grub-core/Makefile.core.def (newc): New module.
14545 (odc): Likewise.
14546 (cpio_be): Likewise.
14547 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
14548 (MAGIC): Likewise.
14549 (MAGIC2): Likewise.
14550 (head) [MODE_ODC]: Adapt for the format.
14551 (head) [MODE_NEWC]: Likewise.
14552 (head) [!MODE_*]: Write fields of interest as arrays.
14553 (MAGIC_USTAR): Removed.
14554 (read_number) [MODE_NEWC]: Change to hex.
14555 (read_number) [!MODE_*]: Parse binary arrays.
14556 (grub_cpio_find_file): Factor out the code for better structure and
14557 always use read_number.
14558 (grub_cpio_mount): Use MAGIC and MAGIC2.
14559 (grub_cpio_dir): Exit on first hook non-0 return.
14560 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
14561 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
14562 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
14563 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
14564 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
14565 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
14566 * grub-core/fs/newc.c: New file.
14567 * grub-core/fs/odc.c: Likewise.
14568 * grub-core/fs/cpio_be.c: Likewise.
14569
58eba9ee
VS
145702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Fix handling of tar numbers occupying the whole field.
14573
14574 * grub-core/fs/cpio.c (read_number): New function.
14575 (grub_cpio_find_file): Use read_number instead of strtoull.
14576
a54a0e12
VS
145772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
14580 occupying the whole field size.
14581
a6120aca
LA
145822011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
14583
14584 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
14585
a93964ce
VS
145862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
14589
3ea1ca46
SG
145902011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
14591
14592 * grub-core/Makefile.core.def (lzma_decompress): Add missing
14593 TARGET_IMG_LDFLAGS.
14594
b87f7ef2
VS
145952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 * util/getroot.c (ESCAPED_PATH_MAX): New define.
14598 (mountinfo_entry): Increase the field size to take escaping into
14599 account.
14600 (find_root_device_from_libzfs): Add one byte to size of strings for
14601 security.
14602
62092395
VS
146032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
14606 an assert.
14607 * util/grub-setup.c (setup): Likewise.
14608
1f0b1a77
VS
146092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
14612 _LzmaDecodeA.
14613
8eba9997
VS
146142011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * docs/grub.texi (Internationalisation): New section.
14617
dd0c91e9
VS
146182011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * docs/grub.texi (Loopback booting): New section.
14621
146222011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
14623
14624 * util/grub-mkstandalone.in: Fix minor typo errors.
14625
198e150a
VS
146262011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
14629
14630 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
14631 net/icmp.c and net/icmp6.c.
14632 (http): New module.
14633 (priority_queue): Likewise.
14634 * grub-core/io/bufio.c: Rewritten.
14635 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
14636 TYPE_WITH_CONFIGFILE_OPTION.
14637 (legacy_commands): Add bootp and dhcp.
14638 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
14639 (grub_legacy_parse): Likewise.
14640 * grub-core/lib/priority_queue.c: New file.
14641 * grub-core/net/arp.c: Add missing license header.
14642 (arp_find_entry): Removed.
14643 (arp_find_entry): Likewise.
14644 (grub_net_arp_resolve): Rename to ...
14645 (grub_net_arp_send_request): ...this.
14646 (grub_net_arp_receive): New card argument.
14647 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
14648 Set router and DNS server.
14649 (grub_net_configure_by_dhcp_ack): Handle routing information.
14650 (grub_cmd_bootp): Set checksum.
14651 (grub_bootp_init): Remove net_dhcp.
14652 * grub-core/net/dns.c: New file.
14653 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
14654 completion.
14655 (get_card_packet): Handle allocation.
14656 (grub_efinet_findcards): Set mtu.
14657 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
14658 (get_card_packet): Handle allocation.
14659 (emucard): Set mtu.
14660 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
14661 (GRUB_MOD_INIT): Set mtu.
14662 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
14663 mtu.
14664 (get_card_packet): Handle allocation.
14665 (grub_ofnet_findcards): Set mtu.
14666 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
14667 assert.
14668 (grub_net_recv_ethernet_packet): Handle IPv6.
14669 * grub-core/net/http.c: New file.
14670 * grub-core/net/icmp.c: Likewise.
14671 * grub-core/net/icmp6.c: Likewise.
14672 * grub-core/net/ip.c (ip6addr): New type.
14673 (ip6hdr): Likewise.
14674 (reassemble): Likewise.
14675 (cmp): New function.
14676 (reassembles): New variable.
14677 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
14678 (id): New variable.
14679 (send_fragmented): New function.
14680 (grub_net_send_ip_packet): Rename to ...
14681 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
14682 Handle non-UDP.
14683 (grub_net_recv_ip_packets): Rename to ...
14684 (handle_dgram): ... this. Check checksum. Handle non-UDP.
14685 (free_rsm): New function.
14686 (free_old_fragments): Likewise.
14687 (grub_net_recv_ip4_packets): New function.
14688 (grub_net_send_ip6_packet): Likewise.
14689 (grub_net_send_ip_packet): Likewise.
14690 (grub_net_recv_ip6_packets): Likewise.
14691 (grub_net_recv_ip_packets): Likewise.
14692 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
14693 (LINK_LAYER_CACHE_SIZE): New const.
14694 (link_layer_find_entry): New function.
14695 (grub_net_link_layer_add_address): Likewise.
14696 (grub_net_link_layer_resolve_check): Likewise.
14697 (grub_net_link_layer_resolve): Likewise.
14698 (grub_net_ipv6_get_slaac): Likewise.
14699 (grub_net_ipv6_get_link_local): Likewise.
14700 (grub_cmd_ipv6_autoconf): Likewise.
14701 (parse_ip): Handle one number representation.
14702 (parse_ip6): New functoion.
14703 (match_net): Handle IPv6.
14704 (grub_net_resolve_address): Handle IPv6 and DNS.
14705 (grub_net_resolve_net_address): Handle IPv6.
14706 (route_cmp): New function.
14707 (grub_net_route_address): Find best route.
14708 (grub_net_addr_to_str): Handle IPv6.
14709 (grub_net_addr_cmp): New function.
14710 (grub_net_add_addr): Register local route.
14711 (print_net_address): Handle net address.
14712 (grub_net_poll_cards): Retransmit TCP.
14713 (grub_net_poll_cards_idle_real): Likewise.
14714 (have_ahead): New function.
14715 (grub_net_seek_real): Use underlying seek.
14716 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
14717 * grub-core/net/tcp.c: New file.
14718 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
14719 (cmp): New function.
14720 (ack): Likewise.
14721 (tftp_receive): Handle unordered input.
14722 (destroy_pq): New function.
14723 (tftp_close): Close pq.
14724 * grub-core/net/udp.c: Put missing license header.
14725 (grub_net_udp_socket): New function.
14726 (udp_socket_register): Likewise.
14727 (grub_net_udp_close): Likewise.
14728 (grub_net_recv_udp_packet): Check checksum.
14729 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
14730 * include/grub/misc.h (grub_memchr): New function.
14731 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
14732 (grub_net_card_driver): Return buf in recv.
14733 (grub_net_slaac_mac_list): New struct.
14734 (grub_network_level_protocol_id): Add ipv6.
14735 (grub_net_network_level_addr): Likewise.
14736 (grub_net_network_level_net_addr): Likewise.
14737 (grub_net_app_protocol): Add seek.
14738 (grub_net_socket): Removed.
14739 (grub_net_sockets): Likewise.
14740 (grub_net_socket_register): Likewise.
14741 (grub_net_socket_unregister): Likewise.
14742 (FOR_NET_SOCKETS): Likewise.
14743 (grub_net_add_addr): Add const.
14744 (GRUB_NET_BOOTP_*): New enum.
14745 (grub_net_addr_cmp): New proto.
14746 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
14747 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
14748 (grub_net_hwaddr_to_str): NEw proto.
14749 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
14750 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
14751 (grub_dns_init): New proto.
14752 (grub_dns_fini): Likewise.
14753 (grub_net_tcp_retransmit): Likewise.
14754 (grub_net_link_layer_add_address): Likewise.
14755 (grub_net_link_layer_resolve_check): Likewise.
14756 (grub_net_link_layer_resolve): Likewise.
14757 (grub_net_dns_lookup): Likewise.
14758 (grub_net_add_dns_server): Likewise.
14759 (grub_net_remove_dns_server): Likewise.
14760 (GRUB_NET_TRIES): New const.
14761 (GRUB_NET_INTERVAL): Likewise.
14762 * include/grub/net/arp.h: Mostly rewritten.
14763 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
14764 * include/grub/net/ip.h: Mostly rewritten.
14765 * include/grub/net/netbuff.h: Indent.
14766 * include/grub/net/tcp.h: New file.
14767 * include/grub/net/udp.h: Mostly rewritten.
14768 * include/grub/priority_queue.h: New file.
14769 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
14770 (grub_swap_bytes64_compile_time): Likewise.
14771 (grub_cpu_to_be16_compile_time): Likewise.
14772 (grub_cpu_to_be32_compile_time): Likewise.
14773 (grub_cpu_to_be64_compile_time): Likewise.
14774 (grub_be_to_cpu64_compile_time): Likewise.
14775
215c1800
VS
147762011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
14779 UINT_TO_PTR with cast.
14780
c17e546c
VS
147812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
14784 don't use them.
14785
ff6b18b6
VS
147862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
14789 already there.
14790
70ffcc93
VS
147912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14792
14793 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14794 confusing ipxe.
14795
e5f4d260
VS
147962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
14799 Add missing const attribute.
14800 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
14801 Likewise.
14802 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
14803 Likewise.
14804
8e54b4b7
VS
148052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14806
14807 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
14808 misaligned access.
14809 (serpent_setkey): Likewise.
14810 (serpent_encrypt_internal): Likewise.
14811 (serpent_decrypt_internal): Likewise.
14812 (serpent_encrypt): Don't put an alignment-increasing cast.
14813 (serpent_decrypt): Likewise.
14814 (serpent_test): Likewise.
14815
813c0a2b
VS
148162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
14819
f2b60fbd
VS
148202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
14823
14824 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
14825 grub_addr_t casts.
14826 (PTR_TO_UINT64): Likewise.
14827 (PTR_TO_UINT32): Likewise.
14828
5ef5c511
VS
148292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * util/grub-mkimage.c (generate_image): Decrease the higher limit
14832 because of stack.
14833 * util/grub-setup.c (setup): Don't add redundancy past the higher load
14834 limit.
14835
c476e6df
VS
148362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
14839 text_width > available width a bit more gracefully.
14840
384ad7cc
VS
148412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
14844 current address calculation.
14845
96f8caf8
VS
148462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
14849 stack.
14850 (encode_block): Likewise.
14851
276b7a8b
VS
148522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
14855 certainety.
14856
e3fd394a
VS
148572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
14860 non-RS part to avoid RS messing with GDT.
14861 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14862 Increase to suit in realmode routines.
14863
148642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * grub-core/kern/i386/realmode.S: Increase alignment.
14867 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
14868
ee9c2e7a
VS
148692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
14872 be deterministic.
14873 (syndroms): Compute 0 syndrom.
14874 (rs_recover): Use 0 syndrom.
14875
7a7f7cc9
VS
148762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
14879
a14b16d1
VS
148802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
14883 brackets.
14884
9f59e9fc
VS
148852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14886
ca1b552c
VS
14887 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
14888 account.
14889 (get_top_pad): Likewise.
14890 (get_right_pad): Likewise.
14891 (get_bottom_pad): Likewise.
14892
148932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 14896
e739d698
VS
148972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
14900 attribute as the structure isn't guaranteed to be properly aligned.
14901 (grub_efi_pci_device_path): Likewise.
14902 (grub_efi_pccard_device_path): Likewise.
14903 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
14904 specify the size of `memory_type'.
14905 (grub_efi_vendor_device_path): Likewise.
14906 (grub_efi_controller_device_path): Likewise.
14907 (grub_efi_acpi_device_path): Likewise.
14908 (grub_efi_expanded_acpi_device_path): Likewise.
14909 (grub_efi_atapi_device_path): Likewise.
14910 (grub_efi_scsi_device_path): Likewise.
14911 (grub_efi_fibre_channel_device_path): Likewise.
14912 (grub_efi_1394_device_path): Likewise.
14913 (grub_efi_usb_device_path): Likewise.
14914 (grub_efi_usb_class_device_path): Likewise.
14915 (grub_efi_i2o_device_path): Likewise.
14916 (grub_efi_mac_address_device_path): Likewise.
14917 (grub_efi_ipv4_device_path): Likewise.
14918 (grub_efi_ipv6_device_path): Likewise.
14919 (grub_efi_infiniband_device_path): Likewise.
14920 (grub_efi_uart_device_path): Likewise.
14921 (grub_efi_vendor_messaging_device_path): Likewise.
14922 (grub_efi_hard_drive_device_path): Likewise.
14923 (grub_efi_cdrom_device_path): Likewise.
14924 (grub_efi_vendor_media_device_path): Likewise.
14925 (grub_efi_file_path_device_path): Likewise.
14926 (grub_efi_protocol_device_path): Likewise.
14927 (grub_efi_piwg_device_path): Likewise.
14928 (grub_efi_bios_device_path): Likewise.
14929
cb8f88ea
VS
149302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
14933 (grub_ucs4_to_utf8_alloc): Likewise.
14934 (grub_ucs4_to_utf8): Likewise.
14935 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
14936 (grub_ucs4_to_utf8_alloc): Likewise.
14937
309e5352
VS
149382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 AFFS never uses unicode.
14941
14942 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
14943 (grub_latin1_to_utf8): New inline function.
14944 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
14945
e7987e1b
VS
149462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
14949 overflow.
14950
efc2616e
VS
149512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14952
14953 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
14954 (grub_squash_dirent_header): Likewise.
14955 (read_chunk): Don't double swap.
14956 (grub_squash_iterate_dir): Fix swap sizes.
14957
3c349f5a
VS
149582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
14961
b453412d
VS
149622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
14965 (grub_hfs_iterate_dir): Likewise.
14966
12e9d4d1
VS
149672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 Fix video on platforms where unaligned access is forbidden.
14970 Make several optimisations while on it.
14971
14972 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
14973 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14974 (grub_video_fbblit_replace_32bit_1bit): Likewise.
14975 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14976 Disable.
14977 (grub_video_fbblit_replace_16bit_1bit):
14978 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
14979 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14980 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
14981 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
14982 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14983 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
14984 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
14985 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
14986 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
14987 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
14988 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
14989 (grub_video_fbblit_replace_index_RGB888): Likewise.
14990 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
14991 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
14992 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
14993 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
14994 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
14995 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14996 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
14997 Disable.
14998 (grub_video_fbblit_blend_XXX565_1bit):
14999 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15000 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15001 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15002 void *.
15003 * grub-core/video/fb/video_fb.c (common_blitter)
15004 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15005 (grub_video_fb_create_render_target_from_pointer)
15006 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15007 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15008 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15009 definition.
15010 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15011
ace96609
VS
150122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15015 HH22 and HM10 relocations.
15016
fd261d73
VS
150172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15020
e59b7857
VS
150212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15024 allocation succeeded.
15025
9b4baaa4
VS
150262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15029 argument a u8 pointer. All users updated.
15030 Handle unaligned buffers.
15031
dc713193
VS
150322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15035 add_part to workaround compiler bug.
15036
30dd48c2
VS
150372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15040
0c6087a8
VS
150412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15044 Reserve alignment invariants.
15045 (grub_multiboot_load): Likewise.
15046 (retrieve_video_parameters): Likewise.
15047 (grub_multiboot_make_mbi): Likewise.
15048
c2e77777
VS
150492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15052 incorrect pointer.
15053
b70b6d11
VS
150542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15057 (grub_pata_pio_write): Likewise.
15058
02a2bf83
VS
150592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 Add noreturn attributes and remove unreachable code.
15062
15063 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15064 code.
15065 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15066 code. Mark as noreturn.
15067 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15068 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15069 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15070 unreachable code.
15071 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15072 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15073 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15074 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15075 * include/grub/kernel.h (grub_main): Mark as noreturn.
15076 * include/grub/reader.h (grub_rescue_run): Likewise.
15077
2019d09e
VS
150782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15081 redundant declaration.
15082
d1c501ee
VS
150832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15086 redundant declaration.
15087 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15088
61664420
VS
150892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15092 to ensure alignment.
15093 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15094 alignment. Ensure tmp alignment.
15095 (grub_cmd_hdparm): Ensure buf alignment.
15096 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15097 to ensure alignment.
15098 (grub_ata_dumpinfo): Ensure text alignment.
15099 (grub_atapi_identify): Preserve alignment invariant.
15100 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15101
0d51ee20
VS
151022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15105 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15106 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15107 * include/grub/misc.h (grub_reboot)
15108 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15109 (grub_halt) [__mips__]: Likewise.
15110
753ef8c1
VS
151112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15114 Remove redundant declaration.
15115 (grub_mmap_get_post64): Likewise.
15116 (grub_mmap_get_upper): Likewise.
15117 (grub_mmap_get_lower): Likewise.
15118
85c85365
VS
151192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15122 uint32_t * to ensure alignment.
15123 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15124
a23f2cc4
VS
151252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15126
93018f64
VS
15127 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15128 uint16_t * to ensure alignment.
15129 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15130 alignment.
15131
151322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
15135 to ensure alignment.
15136 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15137
58acccd6
VS
151382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15141 Handle unaligned pointers.
15142 (u32at): Likewise.
15143 (u64at): Likewise.
15144 (fixup): Use byte access instead of v16at.
15145 (find_attr): Fix imporper usage of v32at.
15146 (read_data): Likewise.
15147 (list_file): Handle byte-swapping and unaligned strings.
15148 (grub_ntfs_label): Likewise.
15149
9b05cad7
VS
151502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15153 as it's not necessarily aligned.
15154
b3950b84
VS
151552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15158 redundant declaration.
15159 (grub_serial_init): Likewise.
15160 (grub_terminfo_init): Likewise.
15161
fcd232b7
VS
151622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15165 function.
15166 (ZAP_HASH_IDX): Likewise.
15167 (ZAP_LEAF_HASH_SHIFT): Likewise.
15168 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15169 (LEAF_HASH): Likewise.
15170 (ZAP_LEAF_NUMCHUNKS): Likewise.
15171 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15172 alignment invariants. Return pointer. All users updated.
15173 (ZAP_LEAF_ENTRY): Make into inline function.
15174 (NBBY): Removed.
15175 (xor): LIkewise.
15176 (xor_out): Use grub_crypto_xor.
15177 (dnode_get_path): Use grub_get_unaligned.
15178 (nvlist_find_value): Likewise.
15179 (grub_zfs_nvlist_lookup_uint64): Likewise.
15180 (grub_zfs_nvlist_lookup_string): Likewise.
15181 (get_nvlist_size): Likewise.
15182 (grub_zfs_open): Likewise.
15183 (fill_fs_info): Likewise.
15184 (grub_zfs_dir): Likewise.
15185 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15186 alignment invariants.
15187 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15188 necessarily aligned.
15189
f138623a
VS
151902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15193
564840dc
VS
151942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15197 arithmetic to conserve alignment invariants.
15198
9b40df20
VS
151992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15200
15201 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15202 redundant declaration.
15203 (grub_efiemu_mm_obtain_request): Likewise.
15204 (grub_efiemu_prepare): Likewise.
15205
d1c930f9
VS
152062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15209 to match types.
15210
4c5f3056
VS
152112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15214 case of aunaligned recptr.
15215 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15216 alignment.
15217 (grub_hfsplus_btree_search): Handle unaligned index.
15218
728cba91
VS
152192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15222 to get freetag and skip.
15223
eb561f31
VS
152242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15227 array.
15228 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15229 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15230
20993fbb
VS
152312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15234 name for checksum and fix allocation algorithm.
15235
1f313b94
VS
152362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * include/grub/types.h (grub_properly_aligned_t): New type.
15239 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15240 (grub_get_unaligned16): Add explicit casts.
15241 (grub_get_unaligned32): Likewise.
15242 (grub_get_unaligned64): Likewise.
15243 (grub_set_unaligned16): New function.
15244 (grub_set_unaligned32): Likewise.
15245
47ae27ec
VS
152462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15249
78c2cd1c
VS
152502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15253 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15254 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15255
53072f9b
VS
152562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15259 conditionals.
15260
055dc239
VS
152612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15264 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15265
496bd074
VS
152662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Unify and improve RAID and crypto xor.
15269
15270 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15271 changed to grub_crypto_xor
15272 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15273 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15274 Use bigger types when possible.
15275
ef6e4335
VS
152762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/disk/raid.c (scan_devices): Fix condition.
15279
5d048bf2
VS
152802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15283 Make name a const ptr.
15284
ee533335
VS
152852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15288 first argument a const pointer.
15289 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15290 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15291 proto.
15292 (grub_children_iterate): Likewise.
15293 (grub_machine_mmap_iterate): Remove redundant declaration.
15294
cc8f3668
VS
152952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15298 (grub_cmd_acpi) [!x86]: Disable EBDA.
15299
c5fc563a
VS
153002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 Enable UTF8 in gnulib regexp.
15303
15304 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15305 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15306 (isupper): Use grub_isupper.
15307 (isascii): New inline function.
15308 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15309 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15310 * grub-core/normal/charset.c (grub_utf8_process): New function.
15311 (grub_utf8_to_utf16): Use grub_utf8_process.
15312 (grub_encode_utf8_character): New function.
15313 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15314 * include/grub/charset.h (grub_utf8_process): New declaration.
15315 (grub_encode_utf8_character): Likewise.
15316 * include/grub/misc.h (grub_islower): New inline function.
15317 (grub_isupper): Likewise.
15318 (grub_strchrsub): Moved down to fix the definitions.
15319
0af2346f
VS
153202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15323 specification.
15324
74dbd244
VS
153252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * include/grub/loader.h (grub_loader_register_preboot_hook):
15328 Use struct preboot * and not void * for handle. All users updated.
15329 (grub_loader_unregister_preboot_hook): Likewise.
15330
1bc8f60d
VS
153312011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15334 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15335 UTF-16-BE. All users updated.
15336 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15337 (grub_hfsplus_iterate_dir): Likewise.
15338 (grub_hfsplus_label): Likewise.
15339
48d6e456
VS
153402011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15343
bf3a3857
VS
153442011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 Add missing const qualifiers.
15347
15348 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15349 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15350 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15351 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15352 (grub_lvm_check_flag): Likewise.
15353 * grub-core/efiemu/i386/coredetect.c
15354 (grub_efiemu_get_default_core_name): Likewise
15355 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15356 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15357 * grub-core/fs/ntfs.c (fixup): Likewise.
15358 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15359 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15360 (fzap_lookup): Likewise.
15361 (zap_lookup): Likewise.
15362 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15363 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15364 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15365 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15366 (grub_freebsd_add_meta_module): Likewise.
15367 (grub_cmd_freebsd_module): Likewise.
15368 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15369 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15370 (grub_xnu_writetree_get_size): Likewise.
15371 (grub_xnu_writetree_toheap_real): Likewise.
15372 (grub_xnu_find_key): Likewise.
15373 (grub_xnu_create_key): Likewise.
15374 (grub_xnu_create_value): Likewise.
15375 (grub_xnu_register_memory): Likewise.
15376 (grub_xnu_check_os_bundle_required): Likewise.
15377 (grub_xnu_scan_dir_for_kexts): Likewise.
15378 (grub_xnu_load_kext_from_dir): Likewise.
15379 * grub-core/normal/color.c (color_list): Likewise.
15380 * grub-core/normal/completion.c (current_word): Likewise.
15381 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15382 * grub-core/term/serial.c (grub_serial_find): Likewise.
15383 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15384 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15385 Likewise.
15386 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15387 (grub_freebsd_add_meta_module): Likewise.
15388 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15389 * include/grub/net.h (grub_net_card_driver): Likewise.
15390 (grub_net_card): Likewise.
15391 (grub_net_app_protocol): Likewise.
15392 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15393 * include/grub/serial.h (grub_serial_find): Likewise.
15394 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15395 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15396 (grub_xnu_create_value): Likewise.
15397 (grub_xnu_find_key): Likewise.
15398 (grub_xnu_scan_dir_for_kexts): Likewise.
15399 (grub_xnu_load_kext_from_dir): Likewise.
15400
15401 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15402 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15403 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15404 Moved from here ...
15405 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15406
112b4837
CW
154072011-11-28 Colin Watson <cjwatson@ubuntu.com>
15408
15409 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15410
49e891ac
VS
154112011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15414 (read_device): Fix size calculation.
15415
fd258e5c
RM
154162011-11-25 Robert Millan <rmh@gnu.org>
15417
15418 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15419 (find_root_device_from_libzfs): Add zpool output parser to be used
15420 as fallback when libzfs isn't available.
15421
78845dc2
SG
154222011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15423
15424 * po/Makefile.in.in: Add missing escape-continuation.
15425
adac5211
VS
154262011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15429
10b64f1c
VS
154302011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15433
bb416954
VS
154342011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15437
bdfe9eeb
VS
154382011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15441
581ffa8a
VS
154422011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/lib/adler32.c: Add missing license specification.
15445 * grub-core/lib/crc64.c: Likewise.
15446 * grub-core/loader/i386/pc/plan9.c: Likewise.
15447 * grub-core/partmap/plan.c: Likewise.
15448
2536cf64
LK
154492011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15450
15451 Add facility to debug GRUB with gdb under qemu.
15452
15453 * grub-core/gdb_grub.in: New file.
15454 * grub-core/gmodule.pl.in: Likewise.
15455 * grub-core/Makefile.core.def (gmodule.pl): New script.
15456 (gdb_grub): Likewise.
15457
bc108a4a
VS
154582011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * util/grub-mount.c (argp_parser): Accept relative pathes.
15461 * util/grub-fstest.c (argp_parser): Likewise.
15462
111c1778
VS
154632011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 Plan9 support.
15466
15467 * Makefile.util.def (libgrubmods): Add
15468 grub-core/partmap/plan.c.
15469 * docs/grub.texi: Notice Plan9 support.
15470 * grub-core/Makefile.core.def (plan9): New module.
15471 (part_plan): Likewise.
15472 * grub-core/loader/i386/pc/plan9.c: New file.
15473 * grub-core/partmap/plan.c: Likewise.
15474 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
15475 define.
15476 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
15477 * include/grub/mm.h (grub_extend_alloc): New inline function.
15478
c30be3b6
VS
154792011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 Make Reed-Solomon faster by using power of generator representation of
15482 GF(256)*.
15483
15484 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
15485 (gf_double_t): Likewise.
15486 (gf_invert): Removed.
15487 (gf_powx): New array.
15488 (gf_powx_inv): Likewise.
15489 (scratch): Move higher.
15490 (gf_reduce): Removed.
15491 (gf_mul): Use powx.
15492 (gf_invert): Likewise.
15493 (init_inverts): Replaced with ...
15494 (init_powx): ...this. All users updated.
15495 (pol_evaluate): Replace multiplications with additions.
15496 (rs_encode): Likewise.
15497 (gauss_eliminate): Call gf_invert.
15498 (grub_reed_solomon_add_redundancy): Call init_powx.
15499 (grub_reed_solomon_recover): Call init_powx unconditionally.
15500
fa5aeffc
VS
155012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
15504
a346b81c
VS
155052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
15508 disk->partiton for safety.
15509
d89ee414
VS
155102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
15513 Fix a memory leak.
15514 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
15515
91ee7b6d
VS
155162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
15519
91e5a33d
VS
155202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
15523
9edd7be2
VS
155242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 Fix spaces handling in proc/self/mountinfo.
15527
15528 * util/getroot.c (unescape): New function.
15529 (grub_find_root_device_from_mountinfo): Use unescape.
15530
ba102053
VS
155312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 Support ZFS embedding.
15534
15535 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
15536 (grub_zfs_fs): Register grub_zfs_embed.
15537
aa94b870
VS
155382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 Fix MIPS compilation.
15541
15542 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
15543 * include/grub/offsets.h: Rename decompressor fields from
15544 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
15545 * util/grub-mkimage.c (image_targets): Use new names.
15546
5fbdac14
VS
155472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 Defer multiboot device parsing until we're in compressed part.
15550
15551 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
15552 bsd_part. setdevice has fallen into disuse.
15553 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
15554 (bsd_part): Likewise.
15555 (boot_dev): New variable.
15556 (multiboot_trampoline): Don't parse multiboot device.
15557 Pass multiboot device in %edx.
15558 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
15559 grub_boot_device.
15560 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
15561 Likewise.
15562 * grub-core/kern/i386/pc/startup.S: Save edx.
15563 (grub_boot_drive): Removed.
15564 (grub_install_dos_part): Likewise.
15565 (grub_install_bsd_part): Likewise.
15566 (grub_boot_device): New variable.
15567 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
15568 (grub_install_bsd_part): Likewise.
15569 (grub_boot_drive): Likewise.
15570 (grub_boot_device): New variable.
15571 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
15572 Removed.
15573 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15574 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
15575 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
15576 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
15577 * util/grub-install.in: Remove redundant condition.
15578
691cbb58
VS
155792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 Fix bug introduced by previous commit.
15582
15583 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
15584
60240b8b
VS
155852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Use decompressors framework on i386-pc. It increases core size
15588 by 46 bytes but improves compatibility and maintainability.
15589
15590 * grub-core/Makefile.core.def (lzma_decompress): New image.
15591 (kernel): Add i386_pc_ldflags.
15592 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
15593 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
15594 to real_to_prot, prot_to_real and device info.
15595 * include/grub/offsets.h: Renamed decompressor offsets.
15596 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
15597 (image_target_desc): Remove raw_size and rename decompressor fields.
15598 (compress_kernel): Handle lzma.
15599 (generate_image): Handle decompressors on i386-pc.
15600
e9d3421c
VS
156012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * configure.ac: Add -fno-asynchronous-unwind-tables.
15604
2b23074a
VS
156052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 Move assembly code to C by using intwrap. It increases core size
15608 by 88 bytes but improves compatibility and maintainability.
15609
15610 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
15611 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
15612 ... here. Translated to C.
15613 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
15614 * grub-core/term/i386/pc/console.c (grub_console_getkey):
15615 ... here. Translated to C.
15616 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
15617 * grub-core/term/i386/pc/console.c (grub_console_getxy):
15618 ... here. Translated to C.
15619 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
15620 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
15621 ... here. Translated to C.
15622 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
15623 * grub-core/term/i386/pc/console.c (grub_console_cls):
15624 ... here. Translated to C.
15625 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
15626 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
15627 ... here. Translated to C.
15628 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
15629 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
15630 Translated to C.
15631 * grub-core/term/i386/pc/console.c (int10_9): New function.
15632 (grub_console_putchar): Likewise.
15633 * include/grub/i386/pc/console.h: Removed the not anymore shared
15634 functions.
15635
678f4b67
VS
156362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 Move grub_chainloader_real_boot out of the kernel.
15639
15640 * grub-core/Makefile.am: Remove machine/loader.h.
15641 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15642 Removed.
15643 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
15644 variable.
15645 (grub_relocator16_keep_a20_enabled): Likewise.
15646 (grub_relocator16_boot): Fill new variables.
15647 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
15648 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
15649 relocator.
15650 (grub_chainloader_unload): Likewise.
15651 (grub_chainloader_cmd): Likewise.
15652 * include/grub/i386/pc/loader.h: Removed.
15653 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
15654 and esi. All initialisers updated.
15655
4626edf6
VS
156562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
156572011-11-12 Colin Watson <cjwatson@ubuntu.com>
15658
15659 * Makefile.util.def (grub-mount): New util.
15660 * .bzrignore: Add grub-mount.
15661 * configure.ac: Check for fuse and enable grub-mount if available.
15662 * docs/man/grub-mount.h2m: New file.
15663 * util/grub-mount.c: Likewise.
15664
10f0117b
VS
156652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 * grub-core/commands/efi/fixvideo.c: Gettextize.
15668 * grub-core/commands/hashsum.c: Likewise.
15669 * grub-core/commands/i386/cmostest.c: Likewise.
15670 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15671 * grub-core/commands/i386/pc/lsapm.c: Likewise.
15672 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15673 * grub-core/commands/lsmmap.c: Likewise.
15674 * grub-core/commands/menuentry.c: Likewise.
15675 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
15676 * grub-core/commands/setpci.c: Likewise.
15677 * grub-core/loader/i386/bsd.c: Likewise.
15678 * grub-core/loader/i386/linux.c: Likewise.
15679 * util/getroot.c: Likewise.
15680 * util/grub-editenv.c: Likewise.
15681 * util/grub-fstest.c: Likewise.
15682 * util/grub-mkfont.c: Likewise.
15683 * util/grub-mkimage.c: Likewise.
15684 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15685 * util/grub-pe2elf.c: Likewise.
15686 * util/grub-probe.c: Likewise.
15687 * util/grub-setup.c: Likewise.
15688 * util/ieee1275/ofpath.c: Likewise.
15689 * util/misc.c: Likewise.
15690 * util/raid.c: Likewise.
15691
566f779b
RM
156922011-11-11 Robert Millan <rmh@gnu.org>
15693
15694 * util/getroot.c (grub_util_get_geom_abstraction): Remove
15695 __attribute__((unused)) from `os_dev', which *is* being used.
15696
b50787de
VS
156972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
15700 forgotten define.
15701 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
15702 GRUB_IA64_DL_GOT_ALIGN.
15703 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
15704 GRUB_IA64_DL_TRAMP_ALIGN.
15705
119d11c8
VS
157062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 Replace grub_fatal with normal errors in i386 linux loader.
15709
15710 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
15711 (allocate_pages): Check find_efi_mmap_size return value.
15712 (grub_e820_add_region): Return error.
15713 (grub_linux_boot): Check mmap return value.
15714
6e0632e2
VS
157152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * grub-core/commands/acpihalt.c: Gettextized.
15718 * grub-core/commands/cacheinfo.c: Likewise.
15719 * grub-core/commands/cmp.c: Likewise.
15720 * grub-core/commands/efi/loadbios.c: Likewise.
15721 * grub-core/commands/gptsync.c: Likewise.
15722 * grub-core/commands/ieee1275/suspend.c: Likewise.
15723 * grub-core/commands/legacycfg.c: Likewise.
15724 * grub-core/commands/memrw.c: Likewise.
15725 * grub-core/commands/minicmd.c: Likewise.
15726 * grub-core/commands/parttool.c: Likewise.
15727 * grub-core/commands/time.c: Likewise.
15728 * grub-core/commands/videoinfo.c: Likewise.
15729 * grub-core/disk/geli.c: Likewise.
15730 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
15731 * grub-core/disk/luks.c: Likewise.
15732 * grub-core/disk/lvm.c: Likewise.
15733 * grub-core/font/font_cmd.c: Likewise.
15734 * grub-core/fs/zfs/zfscrypt.c: Likewise.
15735 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15736 * grub-core/gfxmenu/view.c: Likewise.
15737 * grub-core/kern/emu/hostdisk.c: Likewise.
15738 * grub-core/kern/emu/main.c: Likewise.
15739 * grub-core/kern/emu/misc.c: Likewise.
15740 * grub-core/kern/emu/mm.c: Likewise.
15741 * grub-core/kern/mips/arc/init.c: Likewise.
15742 * grub-core/kern/mips/loongson/init.c: Likewise.
15743 * grub-core/kern/partition.c: Likewise.
15744 * grub-core/lib/i386/halt.c: Likewise.
15745 * grub-core/lib/mips/arc/reboot.c: Likewise.
15746 * grub-core/lib/mips/loongson/reboot.c: Likewise.
15747 * grub-core/loader/i386/pc/chainloader.c: Likewise.
15748 * grub-core/loader/i386/xnu.c: Likewise.
15749 * grub-core/loader/multiboot.c: Likewise.
15750 * grub-core/net/bootp.c: Likewise.
15751 * grub-core/net/net.c: Likewise.
15752 * grub-core/normal/term.c: Likewise.
15753 * grub-core/partmap/bsdlabel.c: Likewise.
15754 * grub-core/parttool/msdospart.c: Likewise.
15755 * grub-core/term/gfxterm.c: Likewise.
15756 * grub-core/term/terminfo.c: Likewise.
15757 * grub-core/video/i386/pc/vbe.c: Likewise.
15758 * util/grub-menulst2cfg.c: Likewise.
15759 * util/grub-mkdevicemap.c: Likewise.
15760 * util/grub-mklayout.c: Likewise.
15761 * util/grub-mkrelpath.c: Likewise.
15762 * util/grub-script-check.c: Likewise.
15763 * util/ieee1275/grub-ofpathname.c: Likewise.
15764 * util/resolve.c: Likewise.
15765
073aa7a9
VS
157662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 Support %1$d syntax.
15769
15770 * tests/printf_unit_test.c: New file.
15771 * Makefile.util.def (printf_test): New test.
15772 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
15773
c76b5417
VS
157742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
15777 fix.
15778
df067ad1
VS
157792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
15782 dprintf.
15783 * grub-core/font/font.c (grub_font_load): Likewise.
15784
5b289bc5
VS
157852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * util/grub-macho2img.c: Add comment concerning gettext.
15788 * grub-core/lib/legacy_parse.c: Likewise.
15789
c1860f87
VS
157902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
15793 (grub_xvasprintf): Likewise.
15794
d35d0d37
VS
157952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 Add const keyword to grub_env_get and gettextize week days.
15798
15799 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
15800 (grub_read_hook_datetime): Return const char *.
15801 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
15802 updated.
15803 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15804 Mark for gettext.
15805 (grub_get_weekday_name): Return const char *. Call gettext.
15806 * grub-core/script/argv.c (grub_script_argv_append): Receive const
15807 char * and len as the argument. All users updated.
15808 (grub_script_argv_split_append): Receive const char *.
15809 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
15810 * include/grub/env.h (grub_env_get): Likewise.
15811 (grub_env_read_hook_t): Return const char *.
15812 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
15813 (grub_script_argv_split_append): Likewise.
15814
9aed8a71
VS
158152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
15818
067fdf00
VS
158192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
15822 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
15823
a8bd9d39
VS
158242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
15827 Fix prototype.
15828
f7ce5baf
VS
158292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 Fix mips compilation.
15832
15833 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
15834 normal decoder.
15835 (hashes): Use in embed decoder as well (for sizes).
15836 (dec_stream_header): Fix embed decompressor logic.
15837 (dec_stream_footer): Likewise.
15838
9bb182f3
VS
158392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
15842 an error and not a fatal on unrecognised relocation types.
15843
63a9e6f6
VS
158442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
15847 Issue error rather than printf on unknown arguments.
15848
4c458569
VS
158492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
15852 Make buf a const.
15853
e2d22baf
VS
158542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
15857 Fix module name.
15858
53dc8590
VS
158592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
15862 leftover debug printf.
15863
6c189294
VS
158642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
15867
f7688369
VS
158682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
15871 A stylistic fix.
15872
11a775a3
VS
158732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
15876
33f784e8
SL
158772011-11-10 Shea Levy <slevy@tieronedesign.com>
15878
15879 Allow all modules to perform serial IO
15880
15881 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
15882 * include/grub/serial.h (grub_serial_port_configure): New inline
15883 function.
15884 (grub_serial_port_fetch): Likewise.
15885 (grub_serial_port_put): Likewise.
15886 (grub_serial_port_fini): Likewise.
15887 (grub_serial_find): New proto.
15888
f6276525
VS
158892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 Put symlink at the end of the node and fix a potential
15892 memory corruption.
15893
15894 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
15895 Make symlink into an array.
15896 (set_rockridge): Set have_symlink and alloc_dirents.
15897 (grub_iso9660_read_symlink): Use new layout.
15898 (grub_iso9660_iterate_dir): Fix memory corruption.
15899 Use new layout.
15900 (grub_iso9660_dir): Set have_symlink.
15901 (grub_iso9660_open): Likewise.
15902
c3591189
VS
159032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 Remove local keyword.
15906
15907 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
15908 (version_test_gt): Likewise.
15909 (version_find_latest): Likewise.
15910 (gettext_printf): Likewise.
15911 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
15912
cb544caa
VS
159132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
15916
45bd824d
VS
159172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Fix ZFS memory and resource leaks.
15920
15921 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
15922 All users updated.
15923 Free type on exit.
15924 (fill_vdev_info): New parameter inserted. All users updated.
15925 (check_pool_label): Likewise.
15926 (scan_disk): Likewise.
15927 (scan_devices): Close non-inserted disks.
15928 (fzap_iterate): Free l.
15929 (unmount_device): Free children descripto memory.
15930
ad9a2f44
VS
159312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
15934 argument (access out of bounds).
15935
6b68db81
VS
159362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15937
15938 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
15939 >= 6 drives.
15940
28840fda
VS
159412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
15944 Fix declaration.
15945
8a5a3a5b
VS
159462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Fix several memory leaks.
15949
15950 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
15951 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
15952 (grub_cpio_dir): Likewise.
15953 * grub-core/fs/fat.c (grub_fat_label): Likewise.
15954 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
15955 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
15956 (grub_romfs_label): Likewise.
15957 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
15958 (squash_unmount): New function.
15959 (grub_squash_dir): Fix memory leak.
15960 (grub_squash_open): Likewise.
15961 (grub_squash_read): Likewise.
15962 (grub_squash_mtime): Likewise.
15963 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
15964 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
15965 * util/grub-fstest.c (fstest): Likewise.
15966
57b01250
VS
159672011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
15970 avoid accessing beyond the array.
15971
19e81ba7
VS
159722011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
15975
52b656c0
VS
159762011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 Several AFFS fixes.
15979
15980 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
15981 (GRUB_AFFS_FLAG_FFS): Removed.
15982 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
15983 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
15984 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
15985 (grub_fshelp_node): Make block 32-bit.
15986 Add block_cache and last_block_cache.
15987 (grub_affs_read_block): Fill and use block cache.
15988 (grub_affs_read_file): Removed.
15989 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
15990 boot block.
15991 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
15992 safety.
15993 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
15994 space.
15995 (grub_affs_close): Free block cache.
15996 (grub_affs_read): Use grub_fshelp_read_file directly.
15997
438a746a
VS
159982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16001 with no error set.
16002
49a45021
VS
160032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16006 used variable.
16007 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16008 Likewise.
16009
3ae17eb8
VS
160102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16013
16014 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16015 byteswap when needed.
16016
27610c38
VS
160172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 Fix FreeBSD compilation.
16020
16021 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16022 to avoid circular dependency.
16023 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16024 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16025 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16026
4a19b601
VS
160272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 Fix ZFS crypto error types.
16030
16031 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16032 (grub_gcm_decrypt): Likewise.
16033 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16034 from PBKDF2.
16035
958ee221
VS
160362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Illumos support.
16039
16040 * Makefile.util.def (10_illumos): New script.
16041 * configure.ac: Set COND_HOST_ILLUMOS.
16042 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16043 Support Illumos calls.
16044 (find_partition_start) [__sun__]: Likewise.
16045 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16046 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16047 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16048 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16049 device.
16050 * util/grub-probe.c (probe) [__sun__]: Do character check.
16051 * util/grub.d/10_illumos.in: New file.
16052
cac14fb6
VS
160532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 Support escaped commas in hostdisk.
16056
16057 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16058 (find_grub_drive): Use unescape_cmp.
16059 (make_device_name): Escape commas.
16060
78e08dc3
VS
160612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16064
9f421dd1
VS
160652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16068 variable.
16069
ed64e9e2
VS
160702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Support trampoline jumps on powerpc.
16073
16074 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16075 __ia64__ path.
16076 (grub_dl_load_segments): Set mod->sz.
16077 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16078 segments.
16079 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16080 (jump): Likewise.
16081 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16082 function.
16083 (trampoline): New struct.
16084 (trampoline_template): New const.
16085 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16086 * include/grub/dl.h (grub_dl): Add sz element.
16087 [__powerpc__]: Follow __ia64__.
16088 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16089 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16090 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16091 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16092
3084ede4
VS
160932011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 ZFS crypto support.
16096
16097 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16098 * grub-core/Makefile.core.def (zfscrypt): New module.
16099 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16100 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16101 it. All users updated.
16102 (grub_zfs_decrypt): New var.
16103 (grub_zfs_load_key): Likewise.
16104 (zio_checksum_functions): Add SHA256+MAC.
16105 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16106 (zio_read): Handle encrypted blocks.
16107 (zap_verify): Remove incorrect check.
16108 (fzap_iterate): Handle non-standard fzap.
16109 (zap_iterate): Likewise.
16110 (zap_iterate_u64): New function.
16111 (dnode_get_fullpath): Load keys.
16112 * grub-core/fs/zfs/zfscrypt.c: New file.
16113 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16114 (grub_crypto_ecb_encrypt): Make input const.
16115 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16116 (grub_crypto_ecb_encrypt): Make input const.
16117 (GRUB_CIPHER_AES): New macro.
16118 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16119 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16120 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16121 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16122 prefix. All users updated.
16123 (grub_zfs_add_key): New proto.
16124 (grub_zfs_decrypt): Likewise.
16125 (grub_zfs_load_key): Likewise.
16126 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16127 * util/grub-fstest.c (options): Add -K option.
16128 (argp_parser): Likewise.
16129
b632b404
VS
161302011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 Support zle compression on ZFS.
16133
16134 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16135 (decomp_table): Add zle.
16136 * include/grub/zfs/zio.h (zio_compress): Add zle.
16137
c7ba4f69
VS
161382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 Support BtrFS embedding.
16141
16142 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16143 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16144 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16145 * util/grub-setup.c (setup): Use fs embedding if available.
16146 Add additional sanity check.
16147
455377d9
VS
161482011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * util/grub-install.in: Fix condition for config_opt.
16151
c2fd16ca
VS
161522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 Support third redundancy strip on raidz3.
16155
16156 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16157 Return error on singularity. All users updated.
16158 (read_device): Don't stop on 3rd failure on raidz3.
16159
8622923b
VS
161602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 Support case-insensitive ZFS subvolumes.
16163
16164 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16165 All users updated.
16166 (zap_hash): Likewise.
16167 (name_cmp): New function.
16168 (zap_leaf_array_equal): New parameter case_insensitive.
16169 All users updated.
16170 (zap_leaf_lookup): Likewise.
16171 (fzap_lookup): Likewise.
16172 (zap_lookup): Likewise.
16173 (dnode_get_path): New parameter case_insensitive. Retrieve case
16174 sensitiviness of a volume. All users updated.
16175 (dnode_get_fullpath): New parameter case_insensitive.
16176 All users updated.
16177 (grub_zfs_dir): Set info.case_insensitiveness.
16178
95f2e860
VS
161792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 Support second redundancy strip on raidz(2,3).
16182
16183 * grub-core/fs/zfs/zfs.c (powx): New array.
16184 (powx_inv): Likewise.
16185 (poly): New const.
16186 (xor_out): New function.
16187 (gf_mul): Likewise.
16188 (recovery): Likewise.
16189 (read_device): Use second redundancy strip.
16190
11ee4389
VS
161912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 Use a power of generator representation of GF(256) multiplication group
16194 to save space time and complexity.
16195
16196 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16197 (raid6_table2): Likewise.
16198 (powx): New array.
16199 (powx_inv): Likewise.
16200 (poly): New const.
16201 (grub_raid_block_mul): Replace with ...
16202 (grub_raid_block_mulx): ...this.
16203 (grub_raid6_init_table): Rewritten.
16204 (grub_raid6_recover): Use power of generator representation.
16205
09e2763f
VS
162062011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16209 for the right device.
16210
8bec9a28
VS
162112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16214 expected by grub-mkimage and it's more clear since there is no implicit
16215 padding.
16216
dbd3a32e
VS
162172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16220 disk.
16221 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16222
182c872a
PMH
162232011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16224
16225 * util/grub-mkrescue.in: Fix handling xorriso option.
16226
1e51cabd
VS
162272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16230 NULL.
16231
9cc3581d 162322011-11-03 crocket <crockabiscuit@gmail.com>
16233
16234 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16235
158dc1ea
VS
162362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 XZ CRC64 and SHA256 support.
16239
16240 * Makefile.util.def (libgrubmods): Add crc64.c.
16241 * grub-core/Makefile.core.def (crc64): New module.
16242 * grub-core/lib/crc64.c: New file.
16243 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16244 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16245 Fix the type.
16246 (MAX_HASH_SIZE): New define.
16247 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16248 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16249 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16250 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16251 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16252 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16253 Handle non-crc32 hashes.
16254 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16255 (dec_stream_header): Handle non-crc32 hashes.
16256 (dec_stream_footer): Likewise.
16257 (dec_block_header): Likewise.
16258 (dec_main): Likewise.
16259 (xz_dec_init): Likewise.
16260 (xz_dec_reset): Likewise.
16261 (xz_dec_end): Likewise.
16262 * util/import_gcry.py: Add CRC64 line.
16263
9d9b3d2f
VS
162642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16267 as well.
16268
7d0ac931
VS
162692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Make reiserfs label retrieval similar to other *_label functions.
16272
16273 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16274 (REISERFS_MAX_LABEL_LENGTH): Removed.
16275 (REISERFS_LABEL_OFFSET): Likewise.
16276 (grub_reiserfs_label): Rewritten.
16277
162782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16281 field.
16282
cf5ba824
VS
162832011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16286
17744004
VS
162872011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16290 drive failure on both raidz and raidz2.
16291
aca5aefc
VS
162922011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 Fix RAIDZ(2) for >= 5 devices.
16295
16296 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16297 asize argument. All users updated.
16298
ce8ca56e
VS
162992011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 Fix RAIDZ(2).
16302
16303 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16304 (fill_vdev_info_real): Set ashift.
16305 (read_device): Rewrite RAIDZ part based on reverse engineering.
16306
7c01e783
VS
163072011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16310 don't report potentially unavialiable fields in debug output.
16311 (find_path): Fix double-free and memory leak.
16312
ce109e84
VS
163132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Read label on UFS1.
16316
16317 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16318 (grub_ufs_fs): Always set .label.
16319
87661123
VS
163202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 Use shifts in UFS.
16323
16324 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16325 (grub_ufs_data): New field log2_blksz.
16326 (grub_ufs_read_file): Use shifts.
16327 (grub_ufs_mount): Check block size and logarithm it.
16328
46bc1dc2
VS
163292011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16330
16331 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16332 long symlinks.
16333
19ee2987
VS
163342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 Handle symlinks and long names on tar and cpio.
16337
16338 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16339 (ATTR_FILE): Likewise.
16340 (ATTR_DIR): Likewise.
16341 (ATTR_LNK): Likewise.
16342 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16343 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16344 L and K entries.
16345 (grub_cpio_mount): Zero-fill data.
16346 (handle_symlink): New function.
46bc1dc2
VS
16347 (grub_cpio_dir): Handle symlinks.
16348 (grub_cpio_open): Likewise.
16349 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 16350
c83a08d8
VS
163512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16352
16353 Fix iso9660 filename limitations and fix memory leaks.
16354
16355 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16356 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16357
45cdd3ea
VS
163582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 Fix JFS file name length limitations.
16361
16362 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16363 (grub_jfs_diropen): Fix maximum filename length.
16364 (grub_jfs_getent): Fix filename length.
16365 (grub_jfs_lookup_symlink): Fix size checks.
16366
94ef05c2
VS
163672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16370 string.
16371
785ab8c7
VS
163722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16373
eb0b6b45
VS
16374 Leverage BFS implementation to read AFS.
16375
16376 * Makefile.util.def (libgrubmods): Add afs.c.
16377 * grub-core/Makefile.core.def (afs): New module
16378 * grub-core/fs/afs.c: New file.
16379 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16380
163812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 16384
c4a1628f
VS
163852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16386
16387 * grub-core/fs/bfs.c: Run indent.
16388
5825b379
VS
163892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16390
16391 BFS implementation based on the specification.
16392
16393 * grub-core/fs/bfs.c: New file.
16394 * Makefile.util.def (libgrubmods): Add bfs.c.
16395 * grub-core/Makefile.core.def (bfs): New module.
16396
42b2a706
VS
163972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 * util/grub-fstest.c (cmd_cp): Clarify error message.
16400 (cmd_cmp): Likewise.
16401
61b99bfc
YB
164022011-10-30 Yves Blusseau <blusseau@zetam.org>
16403
16404 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16405 and befs_be.
16406
faba3d16
VS
164072011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 Remove afs and befs because of copyright problem.
16410
16411 * grub-core/fs/afs.c: Removed.
16412 * grub-core/fs/afs_be.c: Removed.
16413 * grub-core/fs/befs.c: Removed.
16414 * grub-core/fs/befs_be.c: Removed.
16415 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16416 * grub-core/Makefile.core.def (afs): Removed.
16417 (afs_be): Likewise.
16418 (befs): Likewise.
16419 (befs_be): Likewise.
16420
c39224b0
VS
164212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 Prefer rockridge over Joliet.
16424
16425 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16426 to ...
16427 (set_rockridge): ... here.
16428 (grub_iso9660_mount): Check rockridge on the primary label when
16429 discovering. Ignore Joliet if Rockridge is present.
16430
e551115a
VS
164312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Use shifts in nilfs2.
16434
16435 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16436 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16437 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16438 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16439 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16440 (grub_nilfs2_entries_per_block): Replaced with ...
16441 (grub_nilfs2_log_entries_per_block_log): ... this.
16442 (grub_nilfs2_blocks_per_group): Replaced with ...
16443 (grub_nilfs2_blocks_per_group_log): ... this.
16444 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16445 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16446 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16447 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16448 (grub_nilfs2_palloc_entry_offset): Replaced ...
16449 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16450 (grub_nilfs2_dat_translate): Use shifts.
16451 (grub_nilfs2_read_inode): Likewise.
16452 (GRUB_MOD_INIT): Ensure that logs are correct.
16453
564dd58c
VS
164542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16455
16456 Use shifts in minix filesystem.
16457
16458 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
16459 (GRUB_MINIX_ZONE2SECT): Likewise.
16460 (grub_minix_data): Replace block_size with log_block_size.
16461 (grub_minix_read_file): Use shifts.
16462 (grub_minix_mount): Check block size and take a logarithm.
16463
ed9ba06d
VS
164642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 Use shifts in squash4.
16467
16468 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
16469 (squash_mount): Check block size and take logarithm.
16470 (direct_read): Use shifts.
16471
ad03fe76
VS
164722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 Correct befs block counting logic.
16475
16476 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
16477 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
16478 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
16479 (grub_afs_read_inode): Use block_shift.
16480 (RANGE_SHIFT): New definition.
16481 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
16482 unexpected conditions, use shifts and appropriate types.
16483 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
16484
6563f63d
VS
164852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * grub-core/disk/raid.c (scan_devices): Check partition.
16488 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16489
5b1ae25f
VS
164902011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 Support BFS (befs) UUID.
16493
16494 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
16495 (grub_afs_small_data_element_header): New struct.
16496 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
16497 (grub_afs_read_attribute) [MODE_BFS]: New function.
16498 (grub_afs_iterate_dir): Allocate for complete inode.
16499 (grub_afs_mount): Likewise.
16500 (grub_afs_uuid) [MODE_BFS]: New function.
16501 (grub_afs_fs) [MODE_BFS]: Add .uuid.
16502
f8d82408
VS
165032011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
16506 (zfs_unmount): Fix memory leak.
16507
5773fb64
VS
165082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 Support NTFS reparse points.
16511
16512 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
16513 (symlink_descriptor): New struct.
16514 (grub_ntfs_read_symlink): New function.
16515 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
16516 (grub_ntfs_open): Likewise.
16517
91c3fdde
VS
165182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
16521
3be82e10
VS
165222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 fstest xnu_uuid subcommand.
16525
16526 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
16527 grub-core/commands/xnu_uuid.c.
16528 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
16529 (fstest): Handle xnu_uuid.
16530 (options): Document xnu_uuid.
16531 (argp_parser): Parse xnu_uuid.
16532
8e32442e
VS
165332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
16536 -l argument. Add newline at the end if printing.
16537 (GRUB_MOD_INIT): Document -l.
16538
52a05075
VS
165392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
16542
1869edb5
VS
165432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 ZFS multi-device and version 33 support.
16546
16547 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
16548 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
16549 (grub_zfs_data): Add multidev-ice-related fields.
16550 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
16551 (dva_get_offset): Make dva const.
16552 (zfs_fetch_nvlist): New function.
16553 (fill_vdev_info_real): Likewise.
16554 (fill_vdev_info): Likewise.
16555 (check_pool_label): Likewise.
16556 (scan_disk): Likewise.
16557 (scan_devices): Likewise.
16558 (read_device): Likewise.
16559 (read_dva): Likewise.
16560 (zio_read_gang): Use read_dva.
16561 (zio_read_data): Likewise.
16562 (zap_leaf_lookup): Add missing endian conversion.
16563 (zap_verify): Add missing endian conversion. All users updated.
16564 (fzap_lookup): Likewise.
16565 (fzap_iterate): Likewise.
16566 (dnode_get_path): Handle SA bonus.
16567 (nvlist_find_value): Make input const. All users updated.
16568 (unmount_device): New function.
16569 (zfs_unmount): Use unmount_device.
16570 (zfs_mount): Use scan_disk.
16571 (zfs_mtime): New function.
16572 (grub_zfs_open): Handle system attributes.
16573 (fill_fs_info): Likewise.
16574 (grub_zfs_dir): Likewise.
16575 (grub_zfs_fs): Add mtime.
16576 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
16577 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
16578 (SA_MTIME_OFFSET): Likewise.
16579 (SA_SYMLINK_OFFSET): Likewise.
16580 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
16581 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
16582 (fstest): Support zfsinfo.
16583 (argp_parser): Likewise.
16584
186b4028
VS
165852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
16588 error.
16589
165902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
16591
16592 ZFS fixes.
16593
16594 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
16595 sharing the same block. Iterate over correct number of indices.
16596 (dnode_get_path): Handle symlinks correctly.
16597
c0584900
VS
165982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
16601
67e2bd71
VS
166022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 Read label on HFS+.
16605
16606 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
16607 (grub_hfsplus_btree_search): Fix types.
16608 (grub_hfsplus_label): Implement.
16609
e9cc6b7b
VS
166102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
16613
19832ddb
VS
166142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
16617
66b40850
VS
166182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 Fix symlink handling on iso9660.
16621
16622 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
16623 All users updated.
16624 (grub_iso9660_susp_iterate): Accept zero-size iterate.
16625 (grub_iso9660_read_symlink): Moved most of code ...
16626 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
16627
db821363
VS
166282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
16631 Use union to avoid breaking strict-aliasing rules.
16632
e1211949
VS
166332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 Support multi-extent iso files.
16636
16637 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
16638 Add node.
16639 (grub_fshelp_node): Revamp. All users updated.
16640 (FLAG_*): New enum.
16641 (read_node): New function.
16642 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
16643 All users updated.
16644 (grub_iso9660_mount): Don't attempt to read sua when there is none.
16645 (get_node_size): New function.
16646 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
16647 entries.
16648 Fix memory leak on . and ..
16649 (grub_iso9660_read): Use read_node.
16650 (grub_iso9660_close): Free node.
16651
d4888031
VS
166522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 Fix tar 4G limit and handle paths containing dot.
16655
16656 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
16657 (canonicalize): New function.
16658 (grub_cpio_find_file): Use canonicalize. Store offs in
16659 grub_disk_addr_t.
16660 (grub_cpio_dir): Use grub_disk_addr_t.
16661 (grub_cpio_open): Likewise.
16662
9f12e664
VS
166632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 Fix handling of uncompressed blocks on squashfs and break 4G limit.
16666
16667 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
16668 unused flags.
16669 (grub_squash_inode): Add long_file and block_size.
16670 (grub_squash_cache_inode): New struct.
16671 (grub_squash_dirent): Make types into enum.
16672 (SQUASH_TYPE_LONG_REGULAR): New type.
16673 (grub_squash_frag_desc): Add field size.
16674 (SQUASH_BLOCK_FLAGS): New enum.
16675 (grub_squash_data): Use grub_squash_cache_inode.
16676 (grub_fshelp_node): Make ino_chunk 64-bit.
16677 (read_chunk): Minor argument change. All users updated.
16678 (squash_mount): Use correct le_to_cpu.
16679 (grub_squash_open): Handle LONG_REGULAR.
16680 (direct_read): New function.
16681 (grub_squash_read_data): Handle blocks correctly.
16682
9f326fba
VS
166832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
16686
f4d9b64b
VS
166872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
16690
5bbd28b8
VS
166912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 Fix 2G limit on ZFS.
16694
16695 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
16696 types.
16697 (uberblock_verify): Likewise.
16698 (dmu_read): Likewise.
16699 (grub_zfs_read): Likewise. Remove invalid cast.
16700
68c72069
VS
167012011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
16704 (grub_jfs_blkno): Fix incorrect shift.
16705 (grub_jfs_read_file): Use more appropriate types.
16706
6e536dc8
VS
167072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 Support triple indirect on minix2 and minix3.
16710
16711 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
16712 Declare triple_indir_zone.
16713 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
16714 indirect.
16715
e0864e7a
VS
167162011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 Minix FS fixes.
16719
16720 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
16721 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
16722 Rename ctime to mtime. All users updated.
16723 (grub_minix_get_file_block): Fix types and double indirect computations.
16724
89481cab
VS
167252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
16728 if no label is found.
16729 (grub_fat_iterate_dir): Fix file size type.
16730 (grub_fat_iterate_dir): Likewise.
16731
f646e143
VS
167322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
16735 save some space.
16736 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16737 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16738
534d769e
VS
167392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
16742
e084ba18
VS
167432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * util/import_gcry.py: Accept space between # and include.
16746
3471ecdf
VS
167472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
16750
124df5f6
VS
167512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 Fine grainely disable warnings on lexer. Remove Wno-error on it.
16754
16755 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
16756 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
16757 yylex_strncpy.
16758 * grub-core/script/yylex.l: Add fine-grained #pragma.
16759
4defb8d5
VS
167602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
16763 New inline function.
16764 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
16765 Likewise.
16766 (memset) [GRUB_UTIL]: Likewise.
16767 (memcmp) [GRUB_UTIL]: Likewise.
16768
4e94ae65
VS
167692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
16772 inline function rather than a define.
16773
18c575e5
VS
167742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * util/grub-setup.c: Add missing include.
16777
f8bc22a8
VS
167782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * util/ieee1275/grub-ofpathname.c: Add missing include.
16781
3ce69fc9
VS
167822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
16785 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
16786 Likewise.
16787
d1e293bb
VS
167882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
16791 grub_memcmp usage.
16792
7a5c54a4
VS
167932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * util/grub-install.in: Add datarootdir as per automake manual
16796 suggestion.
16797 * util/grub-mknetdir.in: Likewise.
16798
167992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
16800
16801 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
16802 suggestion.
16803 * util/grub.d/10_kfreebsd.in: Likewise.
16804 * util/grub.d/10_linux.in: Likewise.
16805 * util/grub.d/10_netbsd.in: Likewise.
16806 * util/grub.d/10_windows.in: Likewise.
16807 * util/grub.d/20_linux_xen.in: Likewise.
16808
766f7d08
VS
168092011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 Remove redundant grub_kernel_image_size.
16812
16813 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
16814 _edata and _start.
16815 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
16816 the small code. It moves it only by few bytes but simplifies the code.
16817 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
16818 _start.
16819 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
16820 (grub_kernel_image_size): Removed.
16821 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
16822 (grub_kernel_image_size): Removed.
16823 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
16824 compiled with Apple toolchain.
16825 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
16826 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
16827 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
16828 (grub_total_module_size): Likewise.
16829 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
16830 Removed.
16831 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
16832 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
16833 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16834 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
16835 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
16836 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
16837 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
16838 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
16839 Removed.
16840 (grub_total_module_size): Removed.
16841 * util/grub-mkimage.c (image_target_desc): Remove image_size.
16842 (image_targets): Likewise.
16843 Set .compressed_size to no field on sparc.
16844 (generate_image): Remove kernel_image_size handling.
16845
fcf1d672
SJ
168462011-10-19 Szymon Janc <szymon@janc.net.pl>
16847
16848 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
16849 NULL pointer dereference.
16850
de9c615e
VS
168512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16852
16853 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
16854 done with a dedicated section.
16855
16856 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
16857 Ensure the correct position of boot_path.
16858 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
16859 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
16860 other fields.
16861 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
16862 * include/grub/boot.h: Removed. All references removed.
16863 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16864 Removed.
16865 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16866
e55599dc
VS
168672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
16870 name.
16871
36dd20ad
VS
168722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
16875
f8f72eb8
VS
168762011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
16879 Don't add the bogus brackets.
16880
a374751b
VS
168812011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 ExFAT support.
16884
16885 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
16886 * grub-core/Makefile.core.def (exfat): New module.
16887 * grub-core/fs/exfat.c: New file.
16888 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
16889 (GRUB_FAT_ATTR_*): Make into an enum.
16890 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
16891 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
16892 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
16893 (GRUB_FAT_MAXFILE): Removed.
16894 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
16895 (grub_current_fat_bpb_t): New type.
16896 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
16897 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
16898 (grub_fat_dir_node_t): New type.
16899 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
16900 (fat_log2) [MODE_EXFAT]: Removed.
16901 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
16902 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
16903 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
16904 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
16905 (grub_fat_label) [MODE_EXFAT]: New function.
16906 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
16907 reserved_first_sector to 0.
16908
544c2487
VS
169092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Move grub_reboot out of the kernel.
16912
16913 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
16914 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
16915 * grub-core/lib/efi/reboot.c: ... here.
16916 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
16917 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16918 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
16919 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
16920 * grub-core/lib/i386/reboot_trampoline.S: ... here.
16921 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
16922 * grub-core/lib/ieee1275/reboot.c: ... here.
16923 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
16924 * grub-core/lib/mips/arc/reboot.c: ... here.
16925 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
16926 * grub-core/lib/mips/loongson/reboot.c: ...here.
16927 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
16928 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
16929 * include/grub/emu/misc.h (grub_reboot): New function declaration.
16930 * include/grub/i386/reboot.h: New file.
16931 * include/grub/mips/loongson/ec.h: Fix includes.
16932 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
16933 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
16934 * grub-core/lib/i386/reboot.c: New file.
16935
a97501d2
VS
169362011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 Make grub_prefix into module to fix the arbitrary limit and save
16939 some space.
16940
16941 * grub-core/kern/emu/main.c (grub_prefix): Removed.
16942 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
16943 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
16944 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
16945 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
16946 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
16947 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
16948 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
16949 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16950 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
16951 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
16952 * include/grub/ia64/efi/kernel.h: Removed.
16953 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
16954 (grub_prefix): Removed.
16955 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
16956 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
16957 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
16958 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
16959 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
16960 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
16961 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
16962 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
16963 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
16964 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
16965 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
16966 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
16967 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
16968 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
16969 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
16970 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
16971 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
16972 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16973 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
16974 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
16975 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
16976 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
16977 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
16978 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
16979 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
16980 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
16981 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
16982 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
16983 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
16984 from module.
16985 * util/grub-mkimage.c (image_target_desc): Removed prefix and
16986 prefix_end.
16987 (image_targets): Likewise.
16988 (generate_image): Put prefix as a module.
16989
39705fad
VS
169902011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16991
16992 Replace grub_module_iterate with FOR_MODULES.
16993
16994 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
16995 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
16996 (grub_efi_modules_addr): ...this.
16997 * grub-core/kern/efi/init.c (grub_modbase): New variable.
16998 (grub_efi_init): Set grub_modbase.
16999 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17000 (grub_modbase): New variable.
17001 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17002 (grub_modbase): New variable.
17003 (grub_machine_init): Set grub_modbase.
17004 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17005 (grub_modbase): New variable.
17006 (grub_machine_init): Set grub_modbase.
17007 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17008 (grub_modbase): New variable.
17009 (grub_machine_init): Set grub_modbase.
17010 * grub-core/kern/main.c (grub_module_iterate): Remove.
17011 (grub_modules_get_end): Use grub_modbase.
17012 (grub_load_modules): Use FOR_MODULES.
17013 (grub_load_config): Likewise.
17014 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17015 (grub_modbase): New variable.
17016 (grub_machine_init): Set grub_modbase.
17017 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17018 (grub_modbase): New variable.
17019 (grub_machine_init): Set grub_modbase.
17020 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17021 Removed.
17022 (grub_modbase): New variable.
17023 (grub_machine_init): Set grub_modbase.
17024 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17025 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17026 (grub_module_iterate): Likewise.
17027 (grub_modbase): New variable declaration.
17028 (FOR_MODULES): New macro.
17029
2afb7f6c
VS
170302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17033 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17034
366e34fa
VS
170352011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17036
17037 Fix few obvious type discrepancies.
17038
17039 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17040 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17041 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17042 variable.
17043 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17044 and connected types.
17045 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17046 offset.
17047 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17048 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17049 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17050 and connected types.
17051
177b960e
VS
170522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 Fix python 3.x incompatibilities.
17055
17056 * gentpl.py: Put brackets around print strings.
17057 * util/import_gcry.py: Open explicitly as utf-8.
17058 Use in instead of has_key.
17059
3b619ae1
VS
170602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17063 (GRUB_XFS_INO_AGBITS): Make into inline function.
17064 (GRUB_XFS_INO_INOINAG): Likewise.
17065 (GRUB_XFS_INO_AG): Likewise.
17066 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17067 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17068 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17069 (GRUB_XFS_EXTENT_SIZE): Likewise.
17070 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17071 (GRUB_XFS_NEXT_DIRENT): Likewise.
17072 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17073 (grub_xfs_read_file): Fix offset type.
17074
8bcebcb8
RM
170752011-10-15 Robert Millan <rmh@gnu.org>
17076
17077 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17078
0017e5ef
RM
170792011-10-15 Robert Millan <rmh@gnu.org>
17080
17081 Fix build problem on FreeBSD and GNU/kFreeBSD.
17082
17083 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17084
d8919552
VS
170852011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17088
17089 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17090 types.
17091 (grub_hfsplus_btree_recoffset): Likewise.
17092 (grub_hfsplus_btree_recptr): Likewise.
17093 (grub_hfsplus_find_block): Likewise.
17094 (grub_hfsplus_btree_search): Likewise.
17095 (grub_hfsplus_read_block): Likewise.
17096 (grub_hfsplus_read_file): Likewise.
17097 (grub_hfsplus_mount): Likewise.
17098 (grub_hfsplus_btree_iterate_node): Likewise.
17099 (grub_hfsplus_btree_search): Likewise.
17100 (grub_hfsplus_iterate_dir): Likewise.
17101 (grub_hfsplus_read): A small code simplification.
17102
c81296b6
VS
171032011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/kern/emu/hostdisk.c
17106 (convert_system_partition_to_system_disk): Don't assume that children
17107 of mapper nodes are mapper nodes.
17108
0eb8ffb1
VS
171092011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17112 * include/grub/misc.h (grub_isxdigit): New function.
17113 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17114 switched to grub_isxdigit.
17115 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17116 number starting with a letter.
17117
a98f4a08
RM
171182011-10-09 Robert Millan <rmh@gnu.org>
17119
17120 LVM support for FreeBSD and GNU/kFreeBSD.
17121
17122 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17123 GNU/kFreeBSD.
17124 (LVM_DEV_MAPPER_STRING): Move from here ...
17125 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17126 * util/getroot.c: Include `<grub/util/lvm.h>'.
17127 (grub_util_get_dev_abstraction): Enable
17128 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17129 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17130 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17131 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17132 support it.
17133 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17134 GNU/kFreeBSD.
17135 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17136 when LVM abstraction is required for ${GRUB_DEVICE}.
17137
050e8e90
SJ
171382011-10-06 Szymon Janc <szymon@janc.net.pl>
17139
17140 Add support for LZO compression in GRUB:
17141 - import of minilzo library,
17142 - LZO decompression for btrfs,
17143 - lzop files decompression.
17144
17145 * grub-core/io/lzopio.c: New file.
17146 * grub-core/lib/adler32.c: Likewise.
17147 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17148 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17149 * grub-core/lib/minilzo/minilzo.c: Likewise.
17150 * grub-core/lib/minilzo/minilzo.h: Likewise.
17151 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17152 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17153 grub-core/lib/minilzo/minilzo.c to common.
17154 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17155 cflags in cppflags.
17156 * grub-core/Makefile.core.def (btrfs): Likewise.
17157 * grub-core/Makefile.core.def (lzopio): New module.
17158 (adler32): Likewise.
17159 * grub-core/fs/btrfs.c: Include minilzo.h.
17160 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17161 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17162 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17163 (grub_btrfs_lzo_decompress): New function.
17164 (grub_btrfs_extent_read): Add support for LZO compression type.
17165 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17166 (GRUB_USHRT_MAX): Likewise.
17167 (GRUB_UINT_MAX): Likewise.
17168 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17169 (UINT_MAX): Likewise.
17170 (CHAR_BIT): Likewise.
17171 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17172 grub-core/lib/posix_wrap/limits.h
17173 (UCHAR_MAX): Likewise.
17174 * include/grub/file.h (grub_file_filter_id): New compression filter
17175 GRUB_FILE_FILTER_LZOPIO.
17176 * include/grub/file.h (grub_file_filter_id): Set
17177 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17178 * include/grub/types.h (grub_get_unaligned16): New function.
17179 (grub_get_unaligned32): Likewise.
17180 (grub_get_unaligned64): Likewise.
17181 * util/import_gcry.py (cryptolist): Add adler32.
17182
0eb8ffb1
VS
171832011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17186 in perspective decreases the complexity of build system and fixes
17187 compilation right now.
17188
ce79cc99 171892011-10-01 Ales Nesrsta <starous@volny.cz>
17190
17191 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17192 (fixed problem related to using UHCI with coreboot).
17193
8667a314
BC
171942011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17195
17196 * gentpl.py: Use Autogen macros so that the output template file
17197 (Makefile.tpl) size is reduced.
17198
fc5efcc0
MK
171992011-09-29 Mads Kiilerich <mads@kiilerich.com>
17200
17201 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17202 extra_dist.
17203
d1ab689d
ML
172042011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17205
17206 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17207 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17208
c05de032
ML
172092011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17210
17211 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17212 _fullpath.
17213
cca7ccd8
ML
172142011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17215
17216 Remove extra declaration of sleep for mingw32.
17217
17218 * util/misc.c (sleep) [__MINGW32__]: Removed.
17219 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17220
e0b0dc83
GS
172212011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17222
17223 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17224 type and packname.
17225 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17226 Resurrected.
17227 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17228 (grub_netbsd_btinfo_bootwedge): New struct.
17229 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17230 New function.
17231 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17232
91a1a164
TH
172332011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17234
17235 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17236 loader.
17237
2ded951e
AB
172382011-09-28 Andreas Born <futur.andy@googlemail.com>
17239
17240 Fix incorrect identifiers in bash-completion.
17241
17242 * util/bash-completion.d/grub-completion.bash.in
17243 (_grub_mkpasswd-pbkdf2): Rename to ...
17244 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17245 (_grub_script-check): Rename to ...
17246 (_grub_script_check): ... this. All users updated.
17247
69915030
VS
172482011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17251 Return 0 if disk isn't biosdisk.
17252
20fd15f9
GS
172532011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17254
17255 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17256 on NetBSD.
17257 * Makefile.util.def (grub-fstest): Likewise.
17258
1a7d7db9
GS
172592011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17260
17261 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17262 Get sector size from disk label.
17263
2221ab6c
CW
172642011-09-05 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17267 */README* as well as README*.
17268 Reported by: Axel Beckert.
17269
ca51c4a0
VS
172702011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17273 case of less than 256 MiB of RAM.
17274
ab80f326
VS
172752011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 * grub-core/commands/wildcard.c (make_regex): Handle @.
17278
4155e697
VS
172792011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17282
ab178c08
SJ
172832011-08-21 Szymon Janc <szymon@janc.net.pl>
17284
17285 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17286 AC_LANG_CONFTEST macros.
17287
7dc3c686
SJ
172882011-08-20 Szymon Janc <szymon@janc.net.pl>
17289
17290 Add grub-fstest option to uncompress data for commands.
17291
17292 * util/grub-fstest.c (uncompress): New var.
17293 (options): New option -u.
17294
fe8d4a7b
SJ
172952011-08-20 Szymon Janc <szymon@janc.net.pl>
17296
17297 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17298 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17299
a5219af1
SJ
173002011-08-20 Szymon Janc <szymon@janc.net.pl>
17301
17302 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17303 file type was not recognized correctly (not gzip or corrupted).
17304
f87abff5
VS
173052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17308 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17309
d94497ea
VS
173102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17313 loongson.
17314 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17315 video_radeon_fuloong2e.
17316 * grub-core/video/radeon_fuloong2e.c: New file.
17317 * include/grub/video.h (grub_video_id_t): Add new ID
17318 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17319
0d1fd011
VS
173202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17323 define.
17324 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17325 that PRID matches the detected subplatform and reset the subplatform
17326 if it doesn't.
17327
84beb0ee
VS
173282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17331
1227c133
VS
173322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17333
17334 Fix PCI iterating on functions >= 4.
17335
17336 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17337 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17338 Removed.
17339 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17340 (grub_pci_read): Fix bitmask.
17341 (grub_pci_read_word): Likewise.
17342 (grub_pci_read_byte): Likewise.
17343 (grub_pci_write): Likewise.
17344 (grub_pci_write_word): Likewise.
17345 (grub_pci_write_byte): Likewise.
17346
9594c689
VS
173472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17350 can still be specified in TARGET_CFLAGS)
17351
14a2562c
VS
173522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17355
17356 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17357 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17358 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17359 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17360 (FULOONG): Rename to ...
17361 (FULOONG2F): ... this. All users updated.
17362 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17363 (machtype_fuloong2f_str): ... this.
17364 (machtype_fuloong2e_str): New string.
17365 Check for machtype_fuloong2e_str.
17366 * grub-core/loader/mips/linux.c (loongson_machtypes)
17367 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17368 * grub-core/term/serial.c (loongson_defserial)
17369 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17370 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17371 loongson_defserial.
17372 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17373 Rename to ...
17374 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17375 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17376 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17377 to IMAGE_FULOONG2F_FLASH. All users updated.
17378 (image_targets): Rename images.
17379 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17380
b526cbb6
SJ
173812011-08-19 Szymon Janc <szymon@janc.net.pl>
17382
17383 Make enable of disk cache statistics code configurable.
17384
17385 * configure.ac: --enable-cache-stats added.
17386 * config.h.in (DISK_CACHE_STATS): New define.
17387 * grub-core/Makefile.core.def (cacheinfo): New command.
17388 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17389 * grub-core/commands/cacheinfo.c: New file.
17390 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17391 moved to cacheinfo.c.
17392 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17393 debug code.
17394 * include/grub/disk.h: Likewise.
17395
fb739ccd
SJ
173962011-08-19 Szymon Janc <szymon@janc.net.pl>
17397
17398 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17399 * grub-core/Makefile.am: Likewise.
17400
2bba8cfd
VS
174012011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17404 non-zero pull.
17405
43526629
VS
174062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17409 All users updated.
17410 (grub_jfs_lookup_symlink): Use correct starting inode.
17411
5c144cc8
VS
174122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * util/grub-setup.c (main): Add missing gcry initialisation.
17415
b1257f65
VS
174162011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 Don't accept text modes on EFI when booting Linux.
17419
17420 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17421 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17422
828bc390
ML
174232011-08-15 Mario Limonciello <mario_limonciello@dell.com>
174242011-08-15 Colin Watson <cjwatson@ubuntu.com>
17425
17426 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17427 use of "/path/.." as in grub-install for EFI as well as handling
17428 symlinks correctly.
17429 Fixes Debian bug #637768.
17430
5f60ccac
CW
174312011-08-15 Colin Watson <cjwatson@ubuntu.com>
17432
17433 * util/grub-probe.c: Remove duplicate #include.
17434
6dc212f9
RM
174352011-08-10 Robert Millan <rmh@gnu.org>
17436
17437 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17438
17439 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17440 function.
17441 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17442 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17443
66816d85
RM
174442011-08-03 Robert Millan <rmh@gnu.org>
17445
17446 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17447 la_array as packed.
17448 Reported by: Zachary Bedell
17449
20168fca
CW
174502011-07-26 Colin Watson <cjwatson@ubuntu.com>
17451
17452 * configure.ac: The Loongson port requires grub-mkfont due to its
17453 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
17454 be built.
17455
303b6246
CW
174562011-07-26 Colin Watson <cjwatson@ubuntu.com>
17457
17458 * util/grub-install.in: Don't source grub-mkconfig_lib until after
17459 processing arguments (otherwise help2man fails when GRUB has not yet
17460 been installed).
17461
6795300e
VS
174622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17463
41aa28ea
VS
17464 New script grub-mkstandalone.
17465
17466 * Makefile.util.def (grub-mkstandalone): New script.
17467 * docs/man/grub-mkstandalone.h2m: New file.
17468 * util/grub-mkstandalone.in: Likewise.
17469
174702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17471
17472 Support ATA disks with 4K sectors.
6795300e
VS
17473
17474 * include/grub/ata.h (grub_ata): New member log_sector_size.
17475 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
17476 (grub_ata_identify): Read sector size.
17477 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
17478
92227597
VS
174792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 * util/grub-install.in: Don't use uhci outside of x86.
17482
c77069f5
VS
174832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * util/grub-mkrescue.in: Add missing quotes.
17486
174872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
17488
17489 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
17490 dereference.
17491
583168a2
VS
174922011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
17495
6be1c01f
VS
174962011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17497
17498 * include/grub/video.h: add missing EXPORT_FUND on
17499 grub_video_edid_checksum and grub_video_edid_preferred_mode.
17500
a1167439
VS
175012011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * include/grub/mips/kernel.h: Fix define conflict.
17504
bf66054f
VS
175052011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
17506
17507 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
17508 all four ways.
17509
8fc4fa45
CW
175102011-07-21 Colin Watson <cjwatson@ubuntu.com>
17511
17512 Preferred resolution detection for VBE.
17513
17514 * grub-core/video/video.c (grub_video_edid_checksum): New function.
17515 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
17516 the Flat Panel extension, in line with the X.org VESA driver.
17517 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
17518 New function.
17519 (grub_vbe_bios_get_ddc_capabilities): Likewise.
17520 (grub_vbe_bios_read_edid): Likewise.
17521 (grub_vbe_get_preferred_mode): Likewise.
17522 (grub_video_vbe_setup): When the mode is "auto", try to get the
17523 preferred mode from VBE, and use the largest mode that is no larger
17524 than the preferred mode (some BIOSes expose a preferred mode that is
17525 not in their mode list!). If this fails, fall back to 640x480 as a
17526 safe conservative choice.
17527 (grub_video_vbe_get_edid): New function.
17528 (grub_video_vbe_adapter): Add get_edid.
17529 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
17530 (struct grub_video_adapter): Add get_edid.
17531 (grub_video_edid_checksum): Add prototype.
17532 (grub_video_edid_preferred_mode): Likewise.
17533 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
17534 structure.
17535
17536 * grub-core/commands/videoinfo.c (print_edid): New function.
17537 (grub_cmd_videoinfo): Print EDID if available.
17538
17539 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
17540 is more appropriate on a wider range of platforms than 640x480.
17541 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
17542 documentation.
17543
ca5572a9
VS
175442011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
17547
e4bcf625
VS
175482011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * po/POTFILES.in: Regenerate.
17551
c4edd548
VS
175522011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
17555 incorrect memory usage.
17556
16a2bab0
VS
175572011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * util/grub-install.in: Source grub-mkconfig_lib.
17560
2e418de6
VS
175612011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 Remove getroot.c from core on emu platform.
17564
17565 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
17566 kern/emu/raid.c.
17567 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
17568 useless.
17569 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
17570 * util/getroot.c (get_win32_path): ... here.
17571 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
17572 * util/getroot.c (fini_libzfs): ... here.
17573 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
17574 * util/getroot.c (grub_get_libzfs_handle): ... here.
17575 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
17576 Moved from here...
17577 * util/getroot.c (grub_find_zpool_from_dir): ... here.
17578 * grub-core/kern/emu/misc.c
17579 (grub_make_system_path_relative_to_its_root): Moved from here...
17580 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
17581 * grub-core/kern/emu/getroot.c: Moved from here ...
17582 * util/getroot.c: ... here. All users updated.
17583 * grub-core/kern/emu/raid.c: Moved from here ...
17584 * util/raid.c: ... here. All users updated.
17585
def9832a
VS
175862011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
17587
17588 * po/POTFILES.in: Regenerate.
17589
cd8fe79a
VS
175902011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 Fix compilation on GNU/Linux.
17593
17594 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
17595 Disable geli.
17596 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
17597 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
17598 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
17599
a251b719
VS
176002011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
176012011-07-07 Michael Gorven <michael@gorven.za.net>
176022011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
17603
17604 LUKS and GELI support.
17605
17606 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
17607 grub-core/disk/luks.c, grub-core/disk/geli.c,
17608 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
17609 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
17610 grub-core/lib/arg.c.
17611 (libgrubmods.a): Remove gcrypts cflags and cppflags.
17612 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
17613 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
17614 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
17615 (grub-bin2h): Add libgcry.a.
17616 (grub-mkimage): Likewise.
17617 (grub-mkrelpath): Likewise.
17618 (grub-script-check): Likewise.
17619 (grub-editenv): Likewise.
17620 (grub-mkpasswd-pbkdf2): Likewise.
17621 (grub-pe2elf): Likewise.
17622 (grub-fstest): Likewise.
17623 (grub-mkfont): Likewise.
17624 (grub-mkdevicemap): Likewise.
17625 (grub-probe): Likewise.
17626 (grub-ofpath): Likewise.
17627 (grub-mklayout): Likewise.
17628 (example_unit_test): Likewise.
17629 (grub-menulst2cfg): Likewise.
17630 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
17631 * grub-core/Makefile.core.def (cryptodisk): New module.
17632 (luks): Likewise.
17633 (geli): Likewise.
17634 * grub-core/disk/AFSplitter.c: New file.
17635 * grub-core/disk/cryptodisk.c: Likewise.
17636 * grub-core/disk/geli.c: Likewise.
17637 * grub-core/disk/luks.c: Likewise.
17638 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
17639 grub_util_is_lvm.
17640 (grub_util_get_dm_abstraction): New function.
17641 (grub_util_follow_gpart_up): Likewise.
17642 (grub_util_get_geom_abstraction): Likewise.
17643 (grub_util_get_dev_abstraction): Use new functions.
17644 (grub_util_pull_device): Pull GELI and LUKS.
17645 (grub_util_get_grub_dev): Handle LUKS and GELI.
17646 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
17647 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
17648 (follow_geom_up): Removed.
17649 (grub_util_fd_seek): New function.
17650 (open_device): Use grub_util_fd_seek.
17651 (nread): Rename to ..
17652 (grub_util_fd_read): ... this. All users updated.
17653 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
17654 (grub_crypto_cbc_decrypt): Likewise.
17655 (grub_crypto_hmac_write): Likewise.
17656 (grub_crypto_hmac_buffer): Likewise.
17657 (grub_password_get): Extend to util.
17658 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
17659 New member modname.
17660 (gcry_md_spec) [GRUB_UTIL]: Likewise.
17661 * include/grub/cryptodisk.h: New file.
17662 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
17663 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
17664 LUKS and GELI.
17665 (grub_util_follow_gpart_up): New proto.
17666 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
17667 (grub_util_fd_read): Likewise.
17668 (grub_cryptodisk_cheat_mount): Likewise.
17669 (grub_util_cryptodisk_print_uuid): Likewise.
17670 (grub_util_get_fd_sectors): Likewise.
17671 * util/grub-fstest.c (mount_crypt): New var.
17672 (fstest): Mount crypto if requested.
17673 (options): New option -C.
17674 (argp_parser): Parse -C.
17675 (main): Init and fini gcry.
17676 * util/grub-install.in: Support cryptodisk install.
17677 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
17678 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
17679 cryptodisk.
17680 (prepare_grub_to_access_device): Likewise.
17681 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
17682 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
17683 (probe_cryptodisk_uuid): New function.
17684 (probe_abstraction): Likewise.
17685 (probe): Use new functions.
17686 * util/import_gcry.py: Create Makefile.utilgcry.def.
17687 Add modname member.
17688
9bfdcbbc
VS
176892011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 Lazy device scanning.
17692
17693 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
17694 (grub-setup): Remove util/raid.c.
17695 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
17696 * grub-core/disk/lvm.c (scan_depth): New variable.
17697 (grub_lvm_iterate): Rescan if necessary.
17698 (find_lv): New function based on grub_lvm_open.
17699 (grub_lvm_open): Use find_lv. Rescan on error.
17700 (is_node_readable): New function.
17701 (is_lv_readable): Likewise.
17702 (grub_lvm_scan_device): Skip already found disks.
17703 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
17704 Stop if searched device is found and readable.
17705 * grub-core/disk/raid.c (inscnt): New variable.
17706 (scan_depth): Likewise.
17707 (scan_devices): New function based on grub_raid_register. Abort if
17708 looked for device is found.
17709 (grub_raid_iterate): Rescan if needed.
17710 (find_array): NEw function based on -grub_raid_open.
17711 (grub_raid_open): Use find_array and rescan.
17712 (insert_array): Set became_readable_at.
17713 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
17714 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
17715 New function.
17716 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
17717 (grub_util_pull_device): New function.
17718 (grub_util_get_grub_dev): Call grub_util_pull_device.
17719 * util/raid.c: Moved to ..
17720 * grub-core/kern/emu/raid.c: ... here.
17721 (grub_util_raid_getmembers): New parameter "bootable".
17722 All users updated. Support 1.x.
17723 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
17724 All users updated.
17725 * include/grub/disk.h (grub_disk_pull_t): New enum.
17726 (grub_disk_dev): Change iterate prototype.
17727 All users updated.
17728 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
17729 New proto.
17730 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
17731 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
17732 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
17733 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
17734 All users updated.
17735 * include/grub/util/raid.h: Removed.
17736
1c358e59
VS
177372011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * po/POTFILES.in: Regenerate.
17740
abee94ed
VS
177412011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 Unify sparc init with other ieee1275.
17744
17745 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
17746 instead of kern/sparc64/ieee1275/init.c.
17747 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
17748 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
17749 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
17750 grub/machine/kernel.h.
17751 (grub_ieee1275_original_stack) [__sparc__]: New variable.
17752 (grub_claim_heap) [__sparc__]: Use sparc version.
17753 (grub_machine_init): Moved args parsing to
17754 (grub_parse_cmdline): ...this.
17755 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
17756 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
17757 New definition.
17758 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
17759
17760 Move BOOTP to separate file.
17761
17762 * grub-core/Makefile.core.def (net): Add net/bootp.c.
17763 * grub-core/net/net.c: Move all BOOTP functions to
17764 * grub-core/net/bootp.c: ... here.
17765
17766 Use frame interface on PXE.
17767
17768 * grub-core/Makefile.core.def (pxecmd): Removed.
17769 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
17770 * grub-core/commands/i386/pc/pxecmd.c: Removed.
17771 * grub-core/i386/pc/pxe.c: Moved from here ...
17772 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
17773 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
17774 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
17775
17776 EFI network support.
17777
17778 * grub-core/Makefile.core.def (efinet): New module.
17779 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
17780 here...
17781 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
17782 All users updated.
17783 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
17784 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
17785 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
17786 * grub-core/net/drivers/efi/efinet.c: New file.
17787 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
17788 (grub_efi_net_config): New extern var.
17789
17790 Various cleanups and bugfixes.
17791
17792 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
17793 error.
17794 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
17795 disk declared as partition.
17796 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
17797 leak on failure.
17798 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
17799 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
17800 (grub_debug_zalloc): Likewise.
17801 (grub_debug_realloc): Likewise.
17802 (grub_debug_memalign): Likewise.
17803 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
17804 Check that target is IPv4.
17805 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
17806 local-mac-address as fallback.
17807 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
17808 memory leak.
17809 * grub-core/net/ip.c (ipchksum): Rename to ...
17810 (grub_net_ip_chksum): ... this. All users updated.
17811 (grub_net_recv_ip_packets): Special handling for DHCP.
17812 * util/grub-mkimage.c (generate_image): Zero-out aout header.
17813
17814 Unify prefix handling
17815
17816 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
17817 (grub_machine_get_bootlocation): ... this.
17818 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
17819 (grub_machine_get_bootlocation): ... this.
17820 (grub_prefix): New variable.
17821 (prefix): Removed.
17822 (root_dev): New variable.
17823 (dir): Likewise.
17824 (main): Use new variables.
17825 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
17826 Revamped into ...
17827 (grub_machine_get_bootlocation): ... this.
17828 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
17829 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
17830 (grub_machine_get_bootlocation): ... this.
17831 (grub_machine_set_prefix): Removed.
17832 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
17833 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
17834 Revamped into ...
17835 (grub_machine_get_bootlocation): ... this.
17836 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
17837 (grub_set_prefix_and_root): ... this. All users updated.
17838 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
17839 Revamped into ...
17840 (grub_machine_get_bootlocation): ... this.
17841 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
17842 (grub_machine_get_bootlocation): New proto.
17843 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
17844
17845 Less intrusive and more reliable seek on network implementation.
17846
17847 * grub-core/kern/file.c (grub_file_net_seek): Removed.
17848 (grub_file_seek): Don't call grub_file_net_seek.
17849 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
17850 (grub_net_fs_read_real): .. this.
17851 (grub_net_seek_real): Use net->offset.
17852 (grub_net_fs_read): Seek if necessary.
17853
17854 Unify IEEE1275 netwotk config with the other platforms.
17855
17856 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
17857 New variable.
17858 (grub_machine_get_bootlocation): Support network.
17859 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
17860 Support type and device parsing.
17861 (grub_ieee1275_get_device_type): New function.
17862 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
17863 into ...
17864 (grub_ieee1275_net_config_real): ... this.
17865 (grub_ofnet_probecards): Removed.
17866 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
17867 * include/grub/ieee1275/ofnet.h: Removed.
17868 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
17869 extern var.
17870 (grub_ieee1275_get_device_type): New function.
17871
17872 Unify network device closing across platforms and make more robust.
17873
17874 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
17875 grub_grubnet_fini.
17876 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
17877 already.
17878 * grub-core/net/net.c (grub_net_network_level_interface_register):
17879 Update num_ifaces.
17880 (grub_net_card_unregister): Close all interfaces.
17881 (receive_packets): Don't poll if no iterfaces are registered.
17882 Open if necessary.
17883 (grub_net_fini_hw): New function.
17884 (grub_net_restore_hw): Likewise.
17885 (fini_hnd): New variable.
17886 (GRUB_MOD_INIT): Register preboot hook.
17887 (GRUB_MOD_FINI): Run and unregister preboot hook.
17888
17889 Poll network cards when idle.
17890
17891 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
17892 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
17893 * grub-core/net/net.c (receive_packets): Save last poll time.
17894 (grub_net_poll_cards_idle_real): New function.
17895 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
17896 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
17897 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
17898
17899 Rename ofnet interfaces.
17900
17901 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
17902 (grub_ofnet_findcards): Use ofnet_%s names.
17903
17904 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
17905
17906 Cleanup socket opening.
17907
17908 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
17909 (grub_net_fs_close): Likewise.
17910 (grub_net_fs_read_real): Use eof member.
17911 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
17912 (+grub_net_udp_close): New inline function.
17913
17914 * include/grub/net/tftp.h: Moved to the top of ...
17915 * grub-core/net/tftp.c: ... here.
17916 * include/grub/net/ip.h: Moved mostly to the top of ...
17917 * grub-core/net/ip.c: ... here.
17918 * include/grub/net/ethernet.h: Moved mostly to the top of ...
17919 * grub-core/net/ethernet.c: ... here.
17920
17921 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
17922
17923 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
17924 FS name.
17925
17926 * include/grub/net/ip.h (ipv4_ini): Removed.
17927 (ipv4_fini): Likewise.
17928
17929 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
17930 (grub_net_send_ip_packets): Likewise.
17931
cf1337aa
VS
179322011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17933
17934 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
17935 grub_read_cmos prototype.
17936
93c06ff9
VS
179372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 VGA text support in qemu-mips
17940
17941 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
17942 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
17943 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
17944 text.
17945 * grub-core/kern/i386/qemu/init.c: Renamed to ...
17946 * grub-core/kern/vga_init.c: ... this.
17947 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
17948 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
17949 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
17950 Adjust.
17951 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
17952 GRUB_MACHINE_PCI_IO_BASE.
17953
748ccabe
VS
179542011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 MIPS qemu flash support.
17957
17958 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
17959 magic.
17960 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
17961 (grub_machine_init): Probe memory if its size isn't known.
17962 * util/grub-mkimage.c (image_targets): Add flash targets.
17963 (generate_image): Handle flash targets.
17964
d7345994
VS
179652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 MIPS qemu at_keyboard support.
17968
17969 * gentpl.py (videoinkernel): Add qemu-mips.
17970 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
17971 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
17972 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
17973 modules.
17974 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
17975 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
17976 * grub-core/term/serial.c (grub_serial_register)
17977 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
17978
a07a81b3
VS
179792011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 CMOS support on sparc.
17982
17983 * gentpl.py (cmos): Add powerpc and sparc.
17984 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
17985 powerpc and sparc.
17986 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
17987 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
17988 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
17989 grub_set_datetime_cmos.
17990 * grub-core/lib/ieee1275/cmos.c: New file.
17991 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
17992 (find_rtc): Set no_ieee1275_rtc on error.
17993 (grub_get_datetime): Call grub_get_datetime_cmos on error.
17994 (grub_set_datetime): Call grub_set_datetime_cmos on error.
17995 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
17996 fail. Move value to argument. All users updated
17997 (grub_cmos_write): Likewise.
17998 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
17999 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18000 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18001 grub_get_datetime_cmos and grub_set_datetime_cmos.
18002
77546584
GS
180032011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18004
18005 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18006 sourcing grub-mkconfig_lib.
18007 * util/update-grub_lib.in: Likewise.
18008 * util/grub.d/00_header.in: Likewise.
18009 * util/grub.d/10_hurd.in: Likewise.
18010 * util/grub.d/10_kfreebsd.in: Likewise.
18011 * util/grub.d/10_linux.in: Likewise.
18012 * util/grub.d/10_netbsd.in: Likewise.
18013 * util/grub.d/10_windows.in: Likewise.
18014 * util/grub.d/20_linux_xen.in: Likewise.
18015 * util/grub.d/30_os-prober.in: Likewise.
18016
54894791
CW
180172011-06-28 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18020 default_bg_color rather than black.
18021 (grub_gfxterm_fullscreen): Likewise.
18022 (grub_gfxterm_background_color_cmd): Save new background color in
18023 default_bg_color.
18024
8d5d8444
VS
180252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18028
5afeb5bd
VS
180292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18032 mismerge.
18033
ba7df45e
VS
180342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 Chainloading on coreboot support.
18037
18038 * grub-core/Makefile.core.def (chain): Add coreboot.
18039 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18040
d0b526b2
VS
180412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18044 if it happens.
18045
5ff1d945
VS
180462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 Implement time command.
18049
18050 * grub-core/Makefile.core.def (time): New module.
18051 * grub-core/commands/time.c: New file.
18052 * grub-core/script/parser.y: Remove "time" keyword.
18053 * grub-core/script/yylex.l: Likewise.
18054
5ebaad7e
VS
180552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18058
bdea3798
VS
180592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18062 when handling leftovers.
18063
b28c5655
VS
180642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18067 so that help2man doesn't fail.
18068
b6f945dc
VS
180692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18072 type in pointers on sparc64.
18073 (get_card_packet): Likewise.
18074
f9b75e8a
CW
180752011-06-27 Colin Watson <cjwatson@ubuntu.com>
18076
18077 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18078 with `*'.
18079 (grub_cmd_videoinfo): Fetch current video mode.
18080
1e3d9b86
VS
180812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18082
18083 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18084 because of underlying system restrictions.
18085
efff4b1c
VS
180862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18089 necessary.
18090
9fc9ce37
VS
180912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 Coreboot video support.
18094
18095 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18096 (vbe): Likewise.
18097 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18098 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18099 here ...
18100 * grub-core/kern/i386/int.S: ... here.
18101 * grub-core/video/i386/pc/vbe.c: Updated includes.
18102 * grub-core/video/i386/pc/vga.c: Likewise.
18103 * include/grub/i386/coreboot/memory.h
18104 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18105 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18106 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18107 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18108 Disable interrupts.
18109 * include/grub/i386/pc/vga.h: Removed. All users updated.
18110
41bec7fe
VS
181112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18114 definitions for dprintf.
18115 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18116
ca80309d
VS
181172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18120 prototype.
18121 (get_card_packet): Likewise.
18122
9e322ce8
YB
181232011-06-26 Yves Blusseau <blusseau@zetam.org>
18124
18125 Display the path of the file when file is not found
18126
18127 * grub-core/fs/fat.c: Display the filename when file is not found.
18128 * grub-core/fs/fshelp.c: Likewise.
18129 * grub-core/fs/hfs.c: Likewise.
18130 * grub-core/fs/jfs.c: Likewise.
18131 * grub-core/fs/minix.c: Likewise.
18132 * grub-core/fs/ufs.c: Likewise.
18133 * grub-core/fs/btrfs.c: Likewise.
18134 * grub-core/commands/i386/pc/play.c: Likewise.
18135
cbf597af
SJ
181362011-06-26 Szymon Janc <szymon@janc.net.pl>
18137
18138 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18139 pointer checks before calling grub_free().
18140 * grub-core/commands/wildcard.c (match_devices): Likewise.
18141 * grub-core/commands/wildcard.c (match_files): Likewise.
18142 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18143 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18144 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18145 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18146 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18147 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18148 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18149 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18150 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18151
6295b32f
P
181522011-06-25 Patrick <p55@mailinator.com>
18153
18154 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18155
77c0840b
VS
181562011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18159 (grub_pxe_send): Likewise.
18160 (GRUB_MOD_INIT): Fix types.
18161
40ea05de
SJ
181622011-06-24 Szymon Janc <szymon@janc.net.pl>
18163
18164 * grub-core/io/xzio.c: Fix code style issues
18165
90162423
MRA
181662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
181672011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
18168
18169 Network infrastructure.
18170 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18171
18172 * include/grub/net/arp.h: New file.
90162423
MRA
18173 * include/grub/net/device.h: Likewise.
18174 * include/grub/net/ethernet.h: Likewise.
18175 * include/grub/net/ip.h: Likewise.
18176 * include/grub/net/netbuff.h: Likewise.
18177 * include/grub/net/tftp.h: Likewise.
18178 * include/grub/net/udp.h: Likewise.
18179 * include/grub/ieee1275/ofnet.h: Likewise.
18180 * include/grub/emu/export.h: Likewise.
18181 * include/grub/net.h: Likewise.
18182 * grub-core/net/arp.c: Likewise.
18183 * grub-core/net/ethernet.c: Likewise.
18184 * grub-core/net/ip.c: Likewise.
18185 * grub-core/net/udp.c: Likewise.
18186 * grub-core/net/tftp.c: Likewise.
18187 * grub-core/net/netbuff.c: Likewise.
18188 * grub-core/net/net.c: Likewise.
18189 * grub-core/net/drivers/emu/emunet.c: Likewise.
18190 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18191 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18192 export.h.
18193 * grub-core/Makefile.core.def (net): New module.
18194 (tftp): Likewise.
18195 (ofnet): Likewise.
18196 (emunet): Likewise.
18197 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18198 network protocols.
18199 * grub-core/kern/device.c (grub_net_open) : New variable.
18200 (grub_device_open): Handle network device.
18201 (grub_device_close): Likewise.
18202 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18203 (grub_grubnet_fini): Likewise.
18204 (grub_file_seek): Seek in network device.
18205 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18206 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18207 network root.
18208 (grub_machine_fini): Call grub_grubnet_fini.
18209 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18210 network.
18211 (grub_ieee1275_get_aliasdevname): New function.
18212 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18213 Add unofficial Solaris network info.
18214 (grub_multiboot_make_mbi): Likewise.
18215 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18216 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18217 * include/grub/device.h (grub_fs): Removed.
18218 * include/grub/err.h (grub_err_t): Add network-related values.
18219 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18220 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18221 (grub_ieee1275_get_aliasdevname): New proto.
18222 * include/grub/net.h: Rewritten.
423a1849 18223
031f22a0
VS
182242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18227 names.
18228
4388ca72
VS
182292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18232 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18233 it truncates the output.
18234 Reported by: Ximin Luo.
18235
98e2f506
VS
182362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18239
2a5e94d8
VS
182402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18243 partmap before abstraction.
18244
535c1910
AK
182452011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18246
18247 * util/grub-mkconfig_lib.in: Add missing quotes.
18248
bc09e1a2
VS
182492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18252 old method if mountinfo would return /dev/root and /dev/root doesn't
18253 exist.
18254
290766fb
VS
182552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 ZFS zlib support
18258
18259 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18260 (decomp_table): Add zlib entries.
18261 (zio_read): USe 8 bits for compression function rather than 3.
18262 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18263
182642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/disk/ahci.c: Add missing license statements.
18267 * grub-core/fs/romfs.c: Likewise.
18268 * grub-core/lib/ia64/setjmp.S: Likewise.
18269 * grub-core/loader/i386/pc/freedos.c: Likewise.
18270 * grub-core/loader/ia64/efi/linux.c: Likewise.
18271 * grub-core/video/colors.c: Likewise.
18272 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18273
5ab3f48a
VS
182742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 AHCI support.
18277
18278 * grub-core/Makefile.core.def (ata_pthru): Removed.
18279 (ahci): New module.
18280 (pata): Likewise.
18281 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18282 on unload.
18283 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18284 readwrite.
18285 (grub_hdparm_do_check_powermode_cmd): Likewise.
18286 (grub_hdparm_do_smart_cmd): Likewise.
18287 (grub_hdparm_set_val_cmd): Likewise.
18288 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18289 * grub-core/disk/ahci.c: New file.
18290 * grub-core/disk/ata.c: Factor out the low-level part into ...
18291 * grub-core/disk/pata.c: ... here.
18292 * grub-core/disk/ata_pthru.c: Contents moved to ...
18293 * grub-core/disk/pata.c: ... here.
18294 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18295 (grub_scsi_iterate): Use grub_scsi_names.
18296 (grub_scsi_open): Likewise.
18297 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18298 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18299 (grub_ata_regs_t): New struct.
18300 (grub_disk_ata_pass_through_parms): Likewise.
18301 (grub_ata_device): Renamed to ...
18302 (grub_ata): ... this.
18303 (grub_ata_dev): New struct.
18304 Removed all low-level inline functions.
18305 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18306 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18307 iterate hooks and open. All users updated.
18308 * util/grub-install.in: Handle AHCI disk module.
18309
c31dc5f5
SJ
183102011-06-23 Szymon Janc <szymon@janc.net.pl>
18311
18312 Add support for DRI and RSTn markers in JPEG files.
18313
18314 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18315 (JPEG_MARKER_RST0): Likewise.
18316 (JPEG_MARKER_RST1): Likewise.
18317 (JPEG_MARKER_RST2): Likewise.
18318 (JPEG_MARKER_RST3): Likewise.
18319 (JPEG_MARKER_RST4): Likewise.
18320 (JPEG_MARKER_RST5): Likewise.
18321 (JPEG_MARKER_RST6): Likewise.
18322 (JPEG_MARKER_RST7): Likewise.
18323 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18324 (grub_jpeg_decode_dri): New function.
18325 (grub_jpeg_decode_sos): Move image data related part into
18326 grub_jpeg_decode_data function.
18327 (grub_jpeg_decode_data): New function.
18328 (grub_jpeg_reset): New function.
18329 (grub_jpeg_decode_jpeg): Handle new markers.
18330
fe12fd5b
VS
183312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * util/ieee1275/ofpath.c (check_sas): Close fd.
18334 (main): Free of_path.
18335 Reported by: David Volgyes <dvolgyes>.
18336
03147f46
VS
183372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18340 Reported by: David Volgyes <dvolgyes>.
18341
cad3237f
VS
183422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18345 file after stat.
18346 Reported by: David Volgyes <dvolgyes>.
18347
13548d26
VS
183482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18351
18352 Reported by: David Volgyes <dvolgyes>.
18353
e061a1b5
VS
183542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18357 Prevent memory leak.
18358
1abe47dc
VS
183592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18362 (main): Close file.
e061a1b5 18363 Reported by: David Volgyes <dvolgyes>.
1abe47dc 18364
fbc62666
VS
183652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18368 to continue if allocation is failed.
18369
18370 Reported by: David Volgyes <dvolgyes>.
18371
e98c83e9
DV
183722011-06-23 David Volgyes <dvolgyes>
18373
18374 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18375 dereference.
18376
a199a8cd
VS
183772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 Fix spurious warning.
18380
18381 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18382 (acorn_partition_map_find): Use .bin member.
18383
e2d1dba0
VS
183842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18387 /dev/root as a valid device.
18388
8a5d6919
JM
183892011-06-23 Jim Meyering <meyering@redhat.com>
18390
e2d1dba0
VS
18391 Avoid NULL deref in grub_device_open.
18392
8a5d6919
JM
18393 * grub-core/kern/device.c (grub_device_open): Don't dereference
18394 a NULL pointer upon failed grub_env_get.
18395
f7db6f4a
VS
183962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 Support non-512B sectors and agglomerate reads.
18399
18400 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18401 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18402 (disk_io_guid): Removed.
18403 (make_devices): Locate solely by BlockIO.
18404 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18405 (grub_efidisk_read): Use read_blocks.
18406 (grub_efidisk_write): Use write_blocks.
18407 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18408 log_sector_size.
18409 (get_safe_sectors): Handle non-512B sectors.
18410 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18411 sectors.
18412 (grub_biosdisk_write): Handle non-512B sectors.
18413 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18414 (grub_scsi_read): Remove special non-512B block handling (now handled
18415 one level up).
18416 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18417 and do sanity checks.
18418 (grub_disk_adjust_range): Handle non-512B sectors.
18419 (transform_sector): New function.
18420 (grub_disk_read_small): Likewise.
18421 (grub_disk_read): Rewritten.
18422 (grub_disk_write): Handle non-512B sectors.
18423 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18424 log_sector_size.
18425 (open_device): Use log_sector_size.
18426 (grub_util_biosdisk_read): Likewise.
18427 (grub_util_biosdisk_write): Likewise.
18428 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18429 non-512B sectors.
18430 (pc_partition_map_embed): Likewise.
18431 * include/grub/disk.h (grub_disk): New field log_sector_size.
18432 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18433 (GRUB_DISK_CACHE_BITS): Increased to 6.
18434 * util/grub-fstest.c (fstest): New command testload.
18435 (argp_parser): Likewise.
18436
881ac815
RM
184372011-06-16 Robert Millan <rmh@gnu.org>
18438
18439 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18440 `ata' driver on kernel of FreeBSD 9.
18441
18442 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18443 (get_ataraid_disk_name): New functions.
18444 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18445 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18446 get_ataraid_disk_name() and get_ada_disk_name().
18447
1e9aef7d
CW
184482011-06-13 Colin Watson <cjwatson@ubuntu.com>
18449
18450 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18451 input format.
18452
351c7c8a
CW
184532011-05-29 Colin Watson <cjwatson@ubuntu.com>
18454
18455 * docs/grub.texi (Obtaining and Building GRUB): Substitute
18456 `ftp.gnu.org' for `alpha.gnu.org'.
18457
6b4e6430
CW
184582011-05-27 Colin Watson <cjwatson@ubuntu.com>
18459
18460 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
18461 partitions under /dev/disk/by-id/.
18462
c64db050
CW
184632011-05-27 Colin Watson <cjwatson@ubuntu.com>
18464
18465 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
18466 after ten consecutive open failures. Scanning all the way up to
18467 10000 is excessive and can cause serious performance problems in
18468 some configurations.
18469 Fixes Ubuntu bug #787461.
18470
245f4aba
VS
184712011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
18474 opening new one.
18475
f767c929
VS
184762011-05-21 Colin Watson <cjwatson@ubuntu.com>
184772011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 Don't stat devices unless we have to.
18480
18481 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
18482 dir == /dev/mapper.
18483 (grub_guess_root_device): Use already known os_dev if possible.
18484 * grub-core/kern/emu/hostdisk.c
18485 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
18486 if device is known to be a dm one.
18487
f35fa3a6
CW
184882011-05-20 Colin Watson <cjwatson@ubuntu.com>
18489
18490 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
18491 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
18492 Reported by: Pawel Tecza.
18493
9a79fcf2
VS
184942011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18495
18496 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
18497 (lsefisystab): Likewise.
18498 (lssal): Likewise.
18499 (lsefimmap): Likewise.
18500 (hdparm): Enable on qemu-mips.
18501 (setjmp): Add ia64 nodist.
18502 (serial): Simplify tags.
18503
63e3eea9
CW
185042011-05-18 Colin Watson <cjwatson@ubuntu.com>
18505
18506 * Makefile.util.def (grub-ofpathname): Install manual page.
18507
09728256
CW
185082011-05-18 Colin Watson <cjwatson@ubuntu.com>
18509
18510 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
18511
8b63a142
CW
185122011-05-18 Colin Watson <cjwatson@ubuntu.com>
18513
18514 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
18515
e775d8ed
VS
185162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
18519 into dprintf.
18520
bf947d36
VS
185212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 Use full 64-bit division.
18524
18525 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
18526 (grub_divmod64): ... this.
18527 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
18528 version.
18529
b84f26c5
CW
185302011-05-18 Colin Watson <cjwatson@ubuntu.com>
18531
18532 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
18533 `source'.
18534
5626056f
CW
185352011-05-18 Colin Watson <cjwatson@ubuntu.com>
18536
18537 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
18538 to avoid accidents when debugging with 'sh -x'.
18539 * grub-core/gensyminfo.sh.in: Likewise.
18540 * tests/example_scripted_test.in: Likewise.
18541 * tests/grub_cmd_regexp.in: Likewise.
18542 * tests/grub_script_blanklines.in: Likewise.
18543 * tests/grub_script_dollar.in: Likewise.
18544 * tests/grub_script_expansion.in: Likewise.
18545 * tests/grub_script_final_semicolon.in: Likewise.
18546 * tests/partmap_test.in: Likewise.
18547 * tests/util/grub-shell-tester.in: Likewise.
18548 * tests/util/grub-shell.in: Likewise.
18549
e2965f4a
CW
185502011-05-18 Colin Watson <cjwatson@ubuntu.com>
18551
18552 Move gfxmenu color handling to video, so that gfxterm can use it
18553 too.
18554
18555 * grub-core/gfxmenu/named_colors.c: Move to ...
18556 * grub-core/video/colors.c: ... here. Rename
18557 grub_gui_get_named_color to grub_video_get_named_color.
18558 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
18559 * grub-core/video/colors.c (my_isxdigit): ... here.
18560 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
18561 Move to ...
18562 * grub-core/video/colors.c (parse_hex_color_component): ... here.
18563 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
18564 to ...
18565 * grub-core/video/colors.c (grub_video_parse_color): ... here.
18566
18567 * include/grub/gui.h (grub_gui_color_t): Move to ...
18568 * include/grub/video.h (grub_video_rgba_color_t): ... here.
18569 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
18570 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
18571 * include/grub/gui.h (grub_gui_map_color): Move to ...
18572 * include/grub/video.h (grub_video_map_rgba_color): ... here.
18573 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
18574 to ...
18575 * include/grub/video.h (grub_video_get_named_color): ... here.
18576 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
18577 * include/grub/video.h (grub_video_parse_color): ... here.
18578
18579 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
18580 video/colors.c.
18581 (gfxmenu): Remove gfxmenu/named_colors.c.
18582 (video) [videomodules]: Add video/colors.c.
18583
18584 Add a background_color command.
18585
18586 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
18587 function.
18588 (GRUB_MOD_INIT): Register background_color command.
18589 (GRUB_MOD_FINI): Unregister background_color command.
18590 (redraw_screen_rect): Allow blend/replace of text layer to be
18591 controlled independently from whether there is a background bitmap.
18592 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
18593 changing bitmap.
18594
1e4b4390
VS
185952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18596
26618ff0
VS
18597 Patch BPB in ntldr and chainloader --bpb.
18598
1e4b4390
VS
18599 * grub-core/fs/fat.c: Include grub/fat.h.
18600 (grub_fat_bpb): Moved to ...
18601 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
18602 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
18603 grub/ntfs.h.
18604 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
18605 Moved from here...
18606 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
18607 here.
18608 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
18609 New function.
18610 (grub_chainloader_cmd): Patch BPB if --bpb is given.
18611 (GRUB_MOD_INIT): Show --bpb.
18612 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
18613 * grub-core/normal/main.c (features): New variable.
18614 (GRUB_MOD_INIT): Set feature_* variables.
18615 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
18616 proto.
18617 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
18618
cf02731e
VS
186192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18620
18621 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
18622 for cleanness.
18623
e3a1073f
VS
186242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 FreeDOS direct loading support.
18627
18628 * docs/grub.texi (Supported OS): Add FreeDOS.
18629 * grub-core/Makefile.core.def (freedos): New module.
18630 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
18631 variable.
18632 (grub_relocator16_boot): Handle %ebx.
18633 * grub-core/lib/i386/relocator16.S: Likewise.
18634 * grub-core/loader/i386/pc/freedos.c: New file.
18635
05caa461
VS
186362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 Long Linux command line support.
18639
18640 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18641 (maximal_cmdline_size): New variable.
18642 (allocate_pages): Use maximal_cmdline_size.
18643 (grub_cmd_linux): Set and use maximal_cmdline_size.
18644 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
18645 (allocate_pages): Use maximal_cmdline_size.
18646 (grub_cmd_linux): Set and use maximal_cmdline_size.
18647 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
18648 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
18649 and cmdline_size.
18650
a2491e23
VS
186512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
186522011-05-18 Colin Watson <cjwatson@ubuntu.com>
18653
18654 Improve devmapper support
18655
18656 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
18657 (grub_util_is_lvm): New function.
18658 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
18659 than lvm if not dmraid.
18660 Handle mapped md nodes.
18661 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
18662 (grub_util_device_is_mapped): ... this. Make always available. All users
18663 updated.
18664 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
18665 (convert_system_partition_to_system_disk): Handle lvm, mpath and
18666 dmraid nodes.
18667 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
18668
6ad6223e
VS
186692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
18672
18673 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
18674 * grub-core/modinfo.sh.in: New file.
18675 * grub-core/Makefile.core.def (modinfo.sh): New script.
18676 * util/grub-mknetdir.in: Use modinfo.sh.
18677 * util/grub-mkrescue.in: Likewise.
18678
543a8f6e
VS
186792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
18682 Fix potential usage of Elf32 instead of Elf64 when compiling on
18683 32-bit architecture. Add endianness macros while on it.
18684
4959e111
VS
186852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 Use mipsel- rather than mips- in directories involving mipsel ports to
18688 allow both endiannesses coexist.
18689
18690 * configure.ac: proparate target_cpu=mipsel rather than resetting to
18691 mips. All conditions adjusted.
18692 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
18693 variable.
18694 * util/grub-install.in: Adjust conditions to take renaming into account.
18695 * util/grub-mkimage.c (image_targets): Likewise. New target
18696 mips-qemu_mips-elf for bigendian mips.
18697
35341bbc
VS
186982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Avoid unnecessary copying on MIPS.
18701
18702 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
18703 early if src == dest.
18704 * util/grub-mkimage.c (generate_image): Arange for src == dest if
18705 compression is none.
18706
b772baed
VS
187072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 Reduce memory footprint on SGI by putting modules before the kernel
18710 as opposed to after.
18711
18712 * grub-core/Makefile.core.def (kernel): Increase linking address.
18713 (none_decompress): Likewise.
18714 (xz_decompress): Likewise.
18715 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
18716 address.
18717 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
18718 layout change.
18719 (grub_arch_modules_addr): New function.
18720 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
18721 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
18722 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
18723 here.
18724 * grub-core/kern/mips/startup.S (total_size): Rename to ...
18725 (grub_total_modules_size): ... this. Make global.
18726 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
18727 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
18728 New definition.
18729 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
18730 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
18731 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
18732 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
18733 * util/grub-mkimage.c (image_target_desc): New flag
18734 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
18735 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
18736 (generate_image): Handle images with modules before kernel.
18737
566a1917
VS
187382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 Prevent potential loss of memory map by overwrite on qemu-mips.
18741
18742 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18743 Save ram size in $s4.
18744 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
18745 All users changed to grub_arch_memsize.
18746 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
18747 Loongson.
18748 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
18749 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
18750 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
18751 external variable.
18752
5d420cd9
CW
187532011-05-17 Colin Watson <cjwatson@ubuntu.com>
18754
18755 * .bzrignore: Remove grub-dumpbios.
18756
d064b830
CW
187572011-05-17 Colin Watson <cjwatson@ubuntu.com>
18758
18759 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
18760 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
18761 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
18762 existing options which append).
18763 * docs/grub.texi (Simple configuration): Document new options.
18764 Reported by: Ian Jackson. Fixes Debian bug #617538.
18765
3ca2b466
CW
187662011-05-17 Colin Watson <cjwatson@ubuntu.com>
18767
18768 * util/grub-fstest.c (cmd_cat): New function.
18769 (fstest): Handle CMD_CAT.
18770 (options): Add cat.
18771 (argp_parser): Handle cat.
18772
24c9143a
CW
187732011-05-17 Colin Watson <cjwatson@ubuntu.com>
18774
18775 * Makefile.util.def (grub-bin2h): Don't install.
18776 * docs/man/grub-bin2h.h2m: Remove.
18777
90f7ac19
VS
187782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
18781 place.
18782
8d4a5178
VS
187832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 Reenable qemu-mips port.
18786
18787 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
18788 Fix small arc bug while on it.
18789 * gentpl.py: Handle qemu_mips.
18790 * grub-core/Makefile.am: Likewise.
18791 * grub-core/Makefile.core.def: Likewise.
18792 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
18793 inappropriate includes.
18794 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
18795 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
18796 * grub-core/kern/main.c (grub_modules_get_end)
18797 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
18798 * grub-core/kern/mips/qemu-mips: Moved to ..
18799 * grub-core/kern/mips/qemu_mips: ... this.
18800 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
18801 (grub_machine_init): Call terminfo_init and serial_init.
18802 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
18803 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
18804 New variable.
18805 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
18806 parameter passing.
18807 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
18808 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
18809 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
18810 * include/grub/mips/qemu_mips/cmos.h: New file.
18811 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
18812 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
18813 Removed.
18814 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
18815 Use correct mips-style address.
18816 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
18817 (GRUB_TICKS_PER_SECOND): Removed.
18818 (grub_get_rtc): Likewise.
18819 (grub_cpu_idle): Likewise.
18820 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
18821 New definition.
18822 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
18823 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
18824 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
18825 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
18826 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
18827 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
18828 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
18829 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
18830
400b9371
VS
188312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 SGI ARCS port.
18834
18835 * Makefile.util.def (libgrubmods.a): Add dvh.c.
18836 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
18837 platforms.
18838 * configure.ac: New target mips-arc.
18839 * gentpl.py: Likewise.
18840 * grub-core/Makefile.am: Likewise.
18841 * grub-core/Makefile.core.def: Likewise.
18842 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
18843 (none_decompress): Likewise.
18844 (lsdev): New module.
18845 (datetime): Use lib/arc/datetime.c on ARC.
18846 (part_dvh): New module.
18847 * grub-core/commands/arc/lsdev.c: New file.
18848 * grub-core/disk/arc/arcdisk.c: Likewise.
18849 * grub-core/kern/mips/arc/init.c: Likewise.
18850 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
18851 aligned addresses.
18852 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
18853 support.
18854 (grub_arch_dl_relocate_symbols): Likewise.
18855 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
18856 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
18857 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
18858 platforms.
18859 * grub-core/lib/arc/datetime.c: New file.
18860 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
18861 pci.h on non-loongson.
18862 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
18863 (grub_linux_boot): Set unused registers to 0.
18864 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
18865 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
18866 * grub-core/mmap/mips/uppermem.c: ...here.
18867 * grub-core/partmap/dvh.c: New file.
18868 * grub-core/term/arc/console.c: Likewise.
18869 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
18870 (grub_terminfo_set_current): Add terminal "arc".
18871 (grub_terminfo_readkey): Support ARC sequences.
18872 * include/grub/arc/arc.h: New file.
18873 * include/grub/arc/console.h: Likewise.
18874 * include/grub/disk.h (grub_disk_dev_id): Add
18875 GRUB_DISK_DEVICE_ARCDISK_ID.
18876 * include/grub/mips/arc/kernel.h: New file.
18877 * include/grub/mips/arc/memory.h: Likewise.
18878 * include/grub/mips/arc/time.h: Likewise.
18879 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
18880 * include/grub/mips/kernel.h (grub_halt): ... here.
18881 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
18882 here...
18883 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
18884 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
18885 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
18886 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
18887 proto.
18888 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
18889 from here ...
18890 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
18891 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
18892 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
18893 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
18894 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
18895 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
18896 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
18897 (grub_phys_addr_t): Moved from here ...
18898 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
18899 (grub_vtop): Moved from here ...
18900 * include/grub/mips/memory.h (grub_vtop): ... here.
18901 (grub_map_memory): Moved from here ...
18902 * include/grub/mips/memory.h (grub_map_memory): ... here.
18903 (grub_unmap_memory): Moved from here ...
18904 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
18905 (grub_machine_mmap_iterate): Moved from here ...
18906 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
18907 (grub_mmap_get_lower): Moved from here ...
18908 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
18909 (grub_mmap_get_upper): Moved from here ...
18910 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
18911 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18912 here ...
18913 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18914 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
18915 here ...
18916 * include/grub/mips/time.h (grub_get_rtc): ... here.
18917 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
18918 here ...
18919 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
18920 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
18921 here ...
18922 * include/grub/mips/time.h (grub_cpu_idle): ... here.
18923 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
18924 definition.
18925 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
18926 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
18927 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
18928 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
18929 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
18930 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
18931 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
18932 (GRUB_MACHINE_LINK_ADDR): Likewise.
18933 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
18934 to 6.
18935 * util/grub-install.in: Run dvhtool on ARC.
18936 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 18937 (generate_image): Handle ECOFF output for mips-arc.
400b9371 18938
c8ecc840
VS
189392011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
18942 blocks.
18943
153a4b55
VS
189442011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
18947 after enabling port.
18948
ff44d107
VS
189492011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 Skip incorrect USB devices.
18952
18953 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
18954 configcnt == 0.
18955 * include/grub/usb.h (grub_usb_err_t): New enum value
18956 GRUB_USB_ERR_BADDEVICE.
18957
638dbe4f
VS
189582011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 Fuloong video init support.
18961
18962 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
18963 well.
18964 (grub_vga_read_arx): New function.
18965 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
18966 definition.
18967 (framebuffer): New members io, mmioptr and mmiobase.
18968 (read_sis_cmd): New function.
18969 (write_sis_cmd): Likewise.
18970 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
18971 rather than 640x400.
18972 * grub-core/video/sis315_init.c: New file.
18973
c3fc520c
VS
189742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
18977 non-loongson.
18978 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
18979 to grub_dl_register_symbol.
18980
67b1e5c9
VS
189812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 Fix compilation errors.
18984
18985 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
18986 potentially unused.
18987 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
18988 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
18989 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
18990 to loongson machines.
18991
b756f75f
VS
189922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
18993
18994 Several FS mtime support.
18995
18996 * grub-core/fs/affs.c (grub_affs_time): New struct.
18997 (grub_affs_file): New field mtime.
18998 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
18999 type. Removed 'size'. New field 'di'. All users updated.
19000 (grub_affs_mount): Simplify checsum checking.
19001 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19002 (grub_affs_dir): Handle mtime.
19003 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19004 (grub_cpio_dir): Likewise.
19005 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19006 (grub_hfs_filerec): New field mtime.
19007 (grub_hfs_dir): Handle mtime.
19008 (grub_hfs_mtime): New function.
19009 (grub_hfs_fs): Register grub_hfs_mtime.
19010 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19011 (grub_iso9660_dir): New field mtime.
19012 (grub_fshelp_node): New field dirent.
19013 (iso9660_to_unixtime): New function.
19014 (iso9660_to_unixtime2): Likewise.
19015 (grub_iso9660_read_symlink): Use node->dirent.
19016 (grub_iso9660_iterate_dir): Likewise.
19017 (grub_iso9660_dir): Set mtime.
19018 (grub_iso9660_mtime): New function.
19019 (grub_iso9660_fs): Register grub_iso9660_mtime.
19020 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19021 (grub_jfs_inode): New fields atime, ctime and mtime.
19022 (grub_jfs_dir): Set mtime.
19023 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19024 * grub-core/fs/ntfs.c (list_file): Set mtime.
19025 (grub_ntfs_dir): Likewise.
19026 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19027 (grub_reiserfs_iterate_dir): Set mtime.
19028 (grub_reiserfs_dir): Likewise.
19029 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19030 (grub_fshelp_node): Likewise.
19031 (grub_sfs_iterate_dir): Set mtime.
19032 (grub_sfs_dir): Likewise.
19033 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19034 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19035 (grub_xfs_inode): New fields atime, mtime, ctime.
19036 (grub_xfs_dir): Set mtime.
19037 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19038 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19039 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19040
19041 Support UDF symlinks.
19042
19043 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19044 (grub_ufs_read_symlink): New function. All users updated.
19045
19046 Check amiga partmap checksum.
19047
19048 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19049 (grub_amiga_partition): Likewise.
19050 (amiga_partition_map_checksum): New function.
19051 (amiga_partition_map_iterate): Check checksum.
19052
5470225d
VS
190532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 ROMFS support.
19056
19057 * Makefile.util.def (libgrubmods.a): Add romfs.
19058 * grub-core/Makefile.core.def (romfs): New module.
19059 * grub-core/fs/romfs.c: New file.
19060
d4680a35
VS
190612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 Squashfs v4 support.
19064
19065 * Makefile.util.def (libgrubmods.a): Add squash4.
19066 * grub-core/Makefile.core.def (squash4): New module.
19067 * grub-core/fs/squash4.c: New file.
19068 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19069 disk_input_start, disk_input.
19070 (get_byte): Handle disk_input.
19071 (grub_zlib_disk_read): New function.
19072 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19073
bcb18e74
FZ
190742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
190752011-05-15 Feiran Zheng <famcool@gmail.com>
19076
19077 * Makefile.util.def (libgrubmods.a): Add minix3.
19078 * grub-core/Makefile.core.def (minix3): New module.
19079 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19080 (GRUB_MINIX_BSIZE): Removed.
19081 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19082 (grub_minix_ino_t): New type.
19083 (grub_minix_le_to_cpu_ino): New macro.
19084 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19085 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19086 (grub_minix_data): New field block_size.
19087 (grub_minix_read_file): Handle 64-bit correctly.
19088 * grub-core/fs/minix3.c: New file.
19089
32297d5f
TG
190902011-05-15 Tristan Gingold <gingold@free.fr>
190912011-05-15 Robert Millan <rmh.grub@aybabtu.com>
190922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 IA64 support.
19095
19096 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19097 * configure.ac: Add ia64-efi target.
19098 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19099 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19100 * gentpl.py: Add ia64_efi platform.
19101 Rename x86_efi to efi and Add ia64-efi. All users updated.
19102 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19103 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19104 Remove kern/generic/rtc_get_time_ms.c on EFI.
19105 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19106 kern/ia64/dl_helper.c on ia64-efi.
19107 Add kern/emu/cache.c on emu.
19108 (linux): Use on loader/ia64/efi/linux.c on ia64.
19109 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19110 whether symbol is a function.
19111 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19112 (grub_symbol): New field 'isfunc'.
19113 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19114 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19115 (grub_dl_load_segments): Place all sections into the same region.
19116 [__ia64__]: Create trampolines and got.
19117 [GRUB_MACHINE_EMU]: Call mprotect.
19118 (grub_dl_resolve_symbols): Resolve symbol type as well.
19119 [__ia64__]: Create function descriptors.
19120 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19121 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19122 (grub_get_rtc): New function.
19123 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19124 * grub-core/kern/emu/cache.S: Renamed to ...
19125 * grub-core/kern/emu/cache_s.S: ... this.
19126 [__ia64__]: Add a nop.
19127 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19128 [__ia64__]: New function.
19129 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19130 * grub-core/kern/ia64/dl.c: New file.
19131 * grub-core/kern/ia64/dl_helper.c: Likewise.
19132 * grub-core/kern/ia64/efi/init.c: New file.
19133 * grub-core/kern/ia64/efi/startup.S: Likewise.
19134 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19135 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19136 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19137 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19138 * grub-core/loader/ia64/efi/linux.c: New file.
19139 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19140 (GRUB_MOD_DEP): Likewise.
19141 (grub_dl) [__ia64__]: New fields got and tramp.
19142 (grub_dl): New field 'base'.
19143 (grub_dl_register_symbol): New argument isfunc. All users updated.
19144 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19145 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19146 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19147 (grub_ia64_dl_get_tramp_got_size): New proto.
19148 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19149 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19150 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19151 * include/grub/efi/api.h: Skip call wrappers on ia64.
19152 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19153 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19154 * include/grub/elf.h (ELF_ST_INFO): New definition.
19155 * include/grub/ia64/efi/kernel.h: New file.
19156 * include/grub/ia64/efi/memory.h: Likewise.
19157 * include/grub/ia64/efi/time.h: Likewise.
19158 * include/grub/ia64/kernel.h: Likewise.
19159 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19160 * include/grub/ia64/time.h: New file.
19161 * include/grub/ia64/types.h: Likewise.
19162 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19163 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19164 New protos.
19165 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19166 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19167 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19168 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19169 All users updated.
19170 (EFI64_HEADER_SIZE): New definition. All users updated.
19171 (image_targets): Add ia64-efi.
19172 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19173 jumpers_addr. All users updated.
19174 Create function descriptors.
19175 (count_funcs): New function.
19176 (unaligned_uint32): New struct.
19177 (MASK20): New definition.
19178 (MASK19): Likewise.
19179 (MASKF21): Likewise.
19180 (add_value_to_slot_20b): New function.
19181 (add_value_to_slot_21_real): Likewise.
19182 (add_value_to_slot_21): Likewise.
19183 (ia64_kernel_trampoline): New struct.
19184 (nopm): New variable.
19185 (jump): Likewise.
19186 (make_trampoline): New function.
19187 (relocate_addresses): Handle ia64.
19188 (make_reloc_section): Likewise.
19189 (load_image): Likewise.
19190
983b414d
VS
191912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19194 warning. Move variables before code while on it.
19195
5d063cdc
VS
191962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 Fuloong support.
19199
19200 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19201 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19202 * grub-core/boot/mips/loongson/fuloong.S: New file.
19203 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19204 Explicitly init CS5536.
19205 [FULOONG]: Don't use serial until CS5536 is available.
19206 Set GPIO based on dumps.
19207 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19208 [FULOONG]: Handle GPIO and memory controller differences.
19209 Parse machine type in $a2.
19210 * grub-core/boot/mips/startup_raw.S: Determine and save the
19211 architecture.
19212 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19213 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19214 init on architecture type.
19215 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19216 SIS315E. Don't init at_keyboard on fuloong.
19217 (grub_halt): Support Fuloong.
19218 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19219 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19220 (loongson_machtypes): New array.
19221 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19222 type.
19223 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19224 config. All users updated. Handle CS5536 serial.
19225 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19226 default port on machine type. Register serial as inactive.
19227 * grub-core/video/sis315pro.c: New file.
19228 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19229 definition.
19230 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19231 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19232 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19233 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19234 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19235 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19236 to ...
19237 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19238 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19239 definition.
19240 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19241 (grub_arch_machine): New extern var.
19242 * include/grub/mips/loongson/serial.h
19243 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19244 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19245 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19246 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19247 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19248 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19249 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19250 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19251 * include/grub/term.h (grub_term_register_input_inactive): New inline
19252 function.
19253 (grub_term_register_output_inactive): Likewise.
19254 * include/grub/video.h (grub_video_driver_id): New value
19255 GRUB_VIDEO_DRIVER_SIS315PRO.
19256 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19257 New field "names". All users updated.
19258 New field value IMAGE_FULOONG_FLASH.
19259 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19260
6ada82d1
JU
192612011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19262
19263 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19264 and add some clarification.
19265
90c571a4
VS
192662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19269 platforms if kernel is compressed.
19270
de04eecf
VS
192712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19274 unused modules since currently referrence counter isn't reliable and
19275 there isn't much memory to recover there anyway.
19276
57688121
VS
192772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19280 rather than resetting it to allow modules to reference themselves
19281 in init.
19282
3d2c7e35
VS
192832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19286 counter on dependencies since grub_dl_unref already handles this.
19287
b25db218
VS
192882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19291 on error if not already done.
19292
25a45338
VS
192932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 Fix few potential memory misusage.
19296
19297 * grub-core/font/font.c (load_font_index): Don't free char_index to
19298 avoid double free.
b25db218
VS
19299 (grub_font_load): Zero-fill font at alloc for safety.
19300 Close file on error.
19301 (free_font): Free bmp_idx.
25a45338 19302
0cac83df
VS
193032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * docs/grub.texi (Installation): Fix several outdated claims.
19306
2217a143
VS
193072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19308
19309 Handle module_license on windows.
19310
19311 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19312 sections shifted.
19313 (insert_string): Make argument const char * instead of char *.
19314 (write_section_data): Handle long section names.
19315 Handle module_license.
19316
d4de6b01
VS
193172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19320 handle class-free menuentries.
19321 (grub_normal_add_menu_entry): Add a check to be sure.
19322
4c2a3b43
VS
193232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19326 PgUp and PgDown.
19327
85c6210f
VS
193282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * configure.ac: Bump version to 1.99.
19331
36084912
VS
193322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 Give ATA device a bit more time on first try in order to allow disks
19335 to spin up.
19336
19337 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19338 if dev->present is 1. Reset dev->present on failure.
19339 (grub_ata_device_initialize): Set dev->present to 1.
19340 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19341 (grub_ata_device): New member 'present'.
19342
bda0e219
VS
193432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * util/grub-mkimage.c (generate_image): Update hash.
19346
19e1c41b
VS
193472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Flush caches on DMA memory.
19350
19351 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19352 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19353 (grub_dma_free): Likewise.
19354 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19355
91bbcc0c
VS
193562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19359 to avoid asm treating ld and sd as macros.
19360
60ddfad3
VS
193612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19364 decompressor.
19365
a298aa04
VS
193662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19369 grub_decompress_core since later would fail if grub_decompress_core
19370 is too far.
19371
9b44feca
VS
193722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19375 R_MIPS_JALR since it's used by newer compiler.
19376
56dbe7b4
VS
193772011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19380
52856af2
VS
193812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19384 file_path to 0 for surety.
19385 (grub_chainloader_boot): Set exit_data to NULL.
19386 Unset the loader once done.
19387 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19388
9c9bfc6d
VS
193892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19392 unknown key into a dprintf.
19393
dd94a3df
VS
193942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19397 on first non-existant partition.
19398
fa68d99c
VS
193992011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19402 openning fails.
19403 Reported by: Mark Korenberg.
19404
157effb7
VS
194052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19408 overflow.
19409
ea75312f
VS
194102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19413 before closing to ensure that it will be readable by grub-setup.
19414
072b5d31
VS
194152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19418 (devpath_1): Use MAKE_PIWG_PATH.
19419 (devpath_2): Likewise.
19420 (devpath_3): Likewise.
19421 (devpath_4): Likewise.
19422 (devpath_5): Likewise.
19423 (devpath_6): Likewise.
19424
19425 The appleldr.mod was checked that to be binary identical to previous
19426 version.
19427
7fae0051
Z
194282011-05-05 Zach <mikezackles>
19429
19430 Support 2010 Macbooks.
19431
19432 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19433 (devs): Add devpath_6.
19434
7c515bee
VS
194352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19438 /dev/random. /dev/urandom is good enough for our purposes (salting).
19439
ed660bd8
VS
194402011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19443
ee5614b7
VS
194442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19447 hexadecimal.
19448
664889a6
VS
194492011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19452 and not 0 on failure.
19453
bd405bbc
CW
194542011-05-03 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
19457 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
19458 disk; otherwise grub_fs_probe will not fall back to the next
19459 filesystem.
19460 (grub_pxefs_open): Likewise, for consistency.
19461 Reported and tested by: Ezekiel Grave.
19462
4ebff753
CW
194632011-05-03 Colin Watson <cjwatson@ubuntu.com>
19464
19465 * tests/partmap_test.in: Don't hardcode path to parted.
19466 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
19467
8f942553
CW
194682011-05-01 Colin Watson <cjwatson@ubuntu.com>
19469
19470 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
19471 of `ls' to find out which devices are available.
19472
3c62402d
VS
194732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
19476 than source address for efi mmap buffer.
19477
723f63f2
VS
194782011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
19481 wrong action on non-detecting the magic.
19482
68797f92
VS
194832011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
19486 already supplied by another part of the module (fixes compilation on
19487 FreeBSD).
19488
6be8715d
VS
194892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
19492 match the one used by mdadm.
19493
e91dba5b
CW
194942011-04-21 Colin Watson <cjwatson@ubuntu.com>
19495
19496 * po/README: Add instructions for creating po/LINGUAS.
19497
c85140b3
CW
194982011-04-21 Colin Watson <cjwatson@ubuntu.com>
19499
19500 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
19501 #551428.
19502
19503 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
19504 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
19505 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
19506 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
19507 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
19508 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
19509 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
19510 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
19511 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
19512 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
19513 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
19514 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
19515 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
19516 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
19517 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
19518 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
19519 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
19520 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
19521 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
19522 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
19523 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
19524 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
19525
92051871
CW
195262011-04-21 Colin Watson <cjwatson@ubuntu.com>
19527
19528 * grub-core/kern/emu/getroot.c
19529 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
19530 test that was incorrectly reintroduced in r3214.
19531 Reported by: Ian Dall. Fixes Savannah bug #33133.
19532
b13f79a4
CW
195332011-04-21 Colin Watson <cjwatson@ubuntu.com>
19534
19535 Fix stack pointer handling in 16-bit relocator.
19536
19537 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
19538 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
19539 Fixes Ubuntu bug #683904.
19540
9b710a88
VS
195412011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * configure.ac: Bump version to 1.99~rc2.
19544
d97e7b59
VS
195452011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19546
19547 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
19548 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
19549 * grub-core/lib/x86_64/setjmp.S: Likewise.
19550 * grub-core/lib/mips/setjmp.S: Likewise.
19551 * grub-core/lib/powerpc/setjmp.S: Likewise.
19552 * grub-core/lib/sparc64/setjmp.S: Likewise.
19553
0624551c
VS
195542011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
19557 * grub-core/lib/efi/datetime.c: Likewise.
19558
e8f28d4c
VS
195592011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
19562 New function.
19563 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
19564 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
19565 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
19566
bba79a15
VS
195672011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
19570 bitmap.
19571 (grub_gfxterm_term_init): Likewise.
19572
abc474ef
VS
195732011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 Take into account the decorations the computing menu entry width.
19576
19577 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
19578 (grub_gfxmenu_create_box): Register get_border_width.
19579 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
19580 if available.
19581 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
19582 get_border_width.
19583
e74b3947
EP
195842011-04-18 Endres Puschner <code@e7p.de>
19585
19586 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
19587 Don't skip first class.
19588
34faa595
VS
195892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
19592 chunks.
19593 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
19594
93a777e3
VS
195952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 Complete 64-bit division support.
19598
19599 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
19600 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
19601 * include/grub/misc.h (grub_divmod64): Rename to ...
19602 (grub_divmod64_full): ... this.
19603 (grub_divmod64): New inline function.
19604
a5102d94
VS
196052011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19606
19607 * util/grub-mkimage.c (generate_image): Add forgotten comma.
19608
f3fb7b36
VS
196092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
19612 performing the necessary test.
19613
9ac718b0
VS
196142011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
19617 (kfreebsd.elf): Likewise.
19618 (pc-chainloader.elf): Likewise.
19619 (ntldr.elf): Likewise.
19620
50d2cc5a
VS
196212011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 Identify RAID by its UUID rather than (guessed) name.
19624
19625 * grub-core/disk/raid.c (ascii2hex): New function.
19626 (grub_raid_open): Accept mduuid/%s specification.
19627 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
19628 (get_mdadm_uuid): ... this.
19629 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
19630
e03f7bea
VS
196312011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
19634 to negative size.
19635
e74c3112
CW
196362011-04-13 Colin Watson <cjwatson@ubuntu.com>
19637
19638 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
19639 btrfs subvolume.
19640 * util/grub.d/20_linux_xen.in: Likewise.
19641
78fa584f
CW
196422011-04-13 Colin Watson <cjwatson@ubuntu.com>
19643
19644 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
19645 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
19646
19647 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19648 Build a list of relevant visible mounts using the mnt_id and
19649 parent_mnt_id fields, and then scan that list at the end.
19650
9d5f8162
CW
196512011-04-12 Colin Watson <cjwatson@ubuntu.com>
19652
19653 * docs/grub.texi (normal): New section.
19654 (normal_exit): New section.
19655 (Embedded configuration): Add reference to normal.
19656 (GRUB only offers a rescue shell): Likewise.
19657 * docs/grub-dev.texi (Error Handling): Fix typo.
19658
09a9d66f
CW
196592011-04-12 Colin Watson <cjwatson@ubuntu.com>
19660
19661 * NEWS: Drop obsolete entry about probe-only btrfs support.
19662
0c676933
CW
196632011-04-12 Colin Watson <cjwatson@ubuntu.com>
19664
19665 * util/import_gcry.py: Fix typo.
19666
ec9f5e0d
VS
196672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * NEWS: Add btrfs support.
19670
fe6b2cba
VS
196712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
196722011-04-11 Colin Watson <cjwatson@ubuntu.com>
19673
19674 BtrFS support. Written by me (Vladimir) with important bugfixes and
19675 even more important testing by Colin.
19676
19677 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
19678 * grub-core/Makefile.core.def (btrfs): Add crc.c.
19679 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
19680 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
19681 mem_input_off and mem_input. All users updated to accept in-RAM input.
19682 (gzio_seek): New function.
19683 (test_zlib_header): Likewise.
19684 (grub_gzio_read): Likewise.
19685 (grub_zlib_decompress): Likewise.
19686 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
19687 Accept partial and non-virtual mounts.
19688 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
19689 avoid receiving /dev/dm-X as device.
19690 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
19691 Handle bind and partial mounts.
19692 * grub-core/lib/crc.c: New file.
19693 * include/grub/deflate.h: Likewise.
19694 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
19695 proto.
19696 * include/grub/lib/crc.h: New file.
19697
e745cf0c
VS
196982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 Implement automatic module license checking according to new GNU
19701 guidelines.
19702
19703 * grub-core/kern/dl.c (grub_dl_check_license): New function.
19704 (grub_dl_load_core): Use grub_dl_check_license.
19705 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
19706 (GRUB_MOD_LICENSE): Likewise.
19707 (GRUB_MOD_DUAL_LICENSE): Likewise.
19708 All modules updated.
19709
2a9bc016
CW
197102011-04-11 Colin Watson <cjwatson@ubuntu.com>
19711
19712 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
19713 reserved_first_sector to 1. btrfs reserves plenty of space for boot
19714 loaders.
19715 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
19716
8a3bc88e
VS
197172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
19720
af869a4a
VS
197212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * util/grub-fstest.c (read_file): Report GRUB error if file opening
19724 failed.
19725
9ee8d94f
VS
197262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 * grub-core/kern/file.c (grub_file_open): Don't take into account the
19729 parenthesis in the middle of the filename.
19730
b01abe3e
VS
197312011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
19734 rather than trying to put initrd way too high.
19735 Reported by: Ryan Lortie <desrt@desrt.ca>
19736
335bda1e
VS
197372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
19740 improperly removed string.
19741
5ca1a64d
VS
197422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
19745 is_disk.
19746 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
19747 (open_device) Likewise.
19748 (grub_util_biosdisk_close): Likewise.
d8ce9995 19749 Reported by: Mark Korenberg.
5ca1a64d 19750
cbac5b1e
AK
197512011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
19752
19753 * util/grub-mkconfig_lib.in: Add missing quotes.
19754
088cdb65
CW
197552011-04-10 Colin Watson <cjwatson@ubuntu.com>
19756
19757 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
19758 is NULL.
19759
8b8a81fa
VS
197602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 Dynamically count the number of lines for the lower banner.
19763
19764 * grub-core/normal/menu_entry.c (per_term_screen): New member
19765 num_entries.
19766 (print_down): Use num_entries.
19767 (update_screen): Likewise.
19768 (grub_menu_entry_run): Set num_entries.
19769 * grub-core/normal/menu_text.c (menu_viewer_data): New member
19770 num_entries.
19771 (grub_print_message_indented): Move real part to ...
19772 (grub_print_message_indented_real): ... here. Additional argument
19773 dry_run.
19774 (draw_border): Additional argument num_entries.
19775 (print_message): Additional argument dry_run.
19776 (print_entries): Receive menu viewer data.
19777 (grub_menu_init_page): New argment num_entries.
19778 (menu_text_set_chosen_entry): Use num_entries.
19779 (grub_menu_try_text): Likewise.
19780 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
19781 All users updated.
19782 (grub_ucs4_count_lines): New function.
19783 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
19784 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
19785 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
19786 (grub_term_border_height): Likewise.
19787 (grub_term_num_entries): Likewise.
19788
277f955b
VS
197892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
19792 Remove now unused string.
19793
536ce85a
CW
197942011-04-09 Colin Watson <cjwatson@ubuntu.com>
19795
19796 * docs/grub-dev.texi (Finding your way around): Update for 1.99
19797 build system.
19798 (Getting started): GRUB is developed in Bazaar now, not Subversion.
19799
19800 (Comment): Fix typo.
19801 (Getting started): General copy-editing.
19802 (Typical Development Experience): Likewise.
19803 (Error Handling): Likewise.
19804 (Video API): Likewise.
19805
2cf09e32
CW
198062011-04-09 Colin Watson <cjwatson@ubuntu.com>
19807
19808 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
19809 throughout.
19810
1ec652f4
VS
198112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * util/grub-mkimage.c (main): Handle special naming of yeeloong
19814 directory.
19815
2c583728
CW
198162011-04-08 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
19819 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
19820 "development".
19821
d7a565e9
VS
198222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
19825 grub_strcpy since the lines aren't necessarily 0-terminated.
19826
7c2e4909
VS
198272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
19830 root on legacy.
19831
34c09785
VS
198322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * grub-core/commands/probe.c (options): Argument to set isn't optional.
19835 (GRUB_MOD_INIT): DEVICE isn't optional.
19836
6a6f8058
VS
198372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
19840 word on new line if it's too long anyway. Fixes a hang.
19841
2e335e90
VS
198422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19843
19844 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
19845 const.
19846 * util/grub-setup.c (main): Reuse md device name if available.
19847 * util/raid.c (grub_util_raid_getmembers): Receive device name and
19848 not GRUB name as argument.
19849 Based on patch by: Florian Wagner <fwagner>.
19850
10a7a867
VS
198512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19854 Place mbi on low memory for better compatibility.
19855
7a3d6cd9
VS
198562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
19859
18dd6b47
VS
198602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
198612011-04-08 Colin Watson <cjwatson@ubuntu.com>
19862
19863 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 19864 * conf/Makefile.common: Likewise.
18dd6b47 19865
3c0e3f14
VS
198662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19867
f7148863
VS
19868 * grub-core/normal/menu.c: Add missing include.
19869
198702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 19873
6d1fa41f
MZ
198742011-04-08 Martin Zuther <mzuther@mzuther.de>
19875
19876 * util/grub-mkconfig.in: Ignore emacsen backup.
19877
478182a8
VS
198782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
19881 on open.
19882 (grub_util_biosdisk_close): Likewise.
19883
72a89a54
VS
198842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
19887 const attribute and use grub_isdigit.
19888
b5ebecfa
A
198892011-04-06 Andrey <dev_null@ukr.net>
19890
19891 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
19892 gcc warning.
19893
7755f66e
VS
198942011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
19897 useful grub_dprintf's.
19898
461121ff
VS
198992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
19902
2a961775
VS
199032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
19906
adf594cc
VS
199072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 Output errors if theme loading failed.
19910
19911 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19912 grub_gfxterm_fullscreen on error paths to ...
19913 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
19914 theme loading error.
19915
665900a3
VS
199162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
19919 space for older compilers.
19920 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19921
a562b479
VS
199222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
19925 and report them as not RAID members since they are useless for GRUB.
19926 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19927
850e9373
VS
199282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 Increase LVM implementation robustness in order not to crash on
19931 configurations like pvmove. Previously code assumed that in some places
19932 only lvs or only pvs are used whereas it seems that they are used
19933 interchangeably.
19934
19935 * grub-core/disk/lvm.c (read_node): New function.
19936 (read_lv): Use read_node.
19937 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
19938 Match volumes only at the end when all lvs are found. Take both
19939 pvs (first) and lvs (second) into account.
19940 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
19941 mirror_* into node_*. All users updated.
19942 (grub_lvm_stripe): Merge this ...
19943 (grub_lvm_mirror): ... and this ...
19944 (grub_lvm_node): ... into this. All users updated.
19945
6f332153
VS
199462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
19949 of function to allow further scanning for LVMs.
19950
829ea451
VS
199512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
19954 on failed seek as it breaks open fd reusage.
19955
09ceb9a5
VS
199562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * util/grub-install.in: Add a recommendation to use --recheck before
19959 reporting bugs.
19960
67e11623
VS
199612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
19964 are obtained.
19965
caee5efd
VS
199662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 GRUB developper manual based on existing Internals section and
19969 contributions by the various authors with active copyright assignment.
19970
19971 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
19972 * docs/font_char_metrics.png: New file.
19973 * docs/font_char_metrics.txt: Likewise.
19974 * docs/grub-dev.texi: Likewise.
19975 * docs/grub.texi (Internals): Move from here ...
19976 * docs/grub-dev.texi: ... here.
19977
2cccc747
CW
199782011-04-01 Colin Watson <cjwatson@ubuntu.com>
19979
19980 Store the loopback device as data on loopback grub_disk structures,
19981 rather than the file it points to. This fixes use of freed memory
19982 if an existing loopback device is replaced.
19983
19984 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
19985 disk->data, not dev->file.
19986 (grub_loopback_read): Adjust file assignment to match.
19987 Fixes Ubuntu bug #742967.
19988
186ae367
CW
199892011-04-01 Colin Watson <cjwatson@ubuntu.com>
19990
19991 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
19992 when replacing an existing device.
19993
cfed2ad0
VS
199942011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
19997 memory corruptions.
19998
19999 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20000 unsigned.
20001 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20002 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20003 (grub_jfs_read_inode): Likewise.
20004 (grub_jfs_opendir): Likewise. Remove now useless casts.
20005 (grub_jfs_getent): Likewise.
20006 Make ino a grub_uint32_t rather than int.
20007 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20008 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20009 division and module with bit operations.
20010 (grub_jfs_find_file): Make ino a grub_uint32_t.
20011 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20012
05d2ed32
CW
200132011-04-01 Colin Watson <cjwatson@ubuntu.com>
20014
20015 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20016 warning. (This was in fact always initialised before use, but GCC
20017 wasn't smart enough to prove that.)
20018 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20019
91dc6073
VS
200202011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20023 stack alignment.
20024 (efi_wrap_1): Likewise.
20025 (efi_wrap_2): Likewise.
20026 (efi_wrap_3): Likewise.
20027 (efi_wrap_4): Likewise.
20028 (efi_wrap_5): Likewise.
20029 (efi_wrap_6): Likewise.
20030 (efi_wrap_10): Likewise.
20031 Based on information by: Red Hat/Peter Jones.
20032
a8afc1d1
CW
200332011-03-31 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20036 set-but-not-used variable.
20037
a826cc7d
CW
200382011-03-31 Colin Watson <cjwatson@ubuntu.com>
20039
20040 * docs/grub.texi (Simple configuration): Be more explicit about
20041 GRUB_DEFAULT, and add an example.
20042 Reported by: Leslie Rhorer.
20043
875b67ba
CW
200442011-03-30 Colin Watson <cjwatson@ubuntu.com>
20045
20046 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20047 shell".
20048
fd7cd914
AS
200492011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20050
20051 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20052 * util/grub.d/20_linux_xen.in: Likewise.
20053
090b1b6a
VS
200542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * util/grub.d/10_linux.in: Try alternative config filenames where
20057 we parse config file.
20058 * util/grub.d/20_linux_xen.in: Likewise.
20059
baad885c
AS
200602011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20061
20062 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20063 * util/grub.d/20_linux_xen.in: Likewise.
20064
241e41f5
VS
200652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 * grub-core/disk/raid.c (insert_array): Add few potentially
20068 useful grub_util_info.
20069 (grub_raid_register): Likewise.
20070
56445fb2
VS
200712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20072
20073 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20074 Preserve partition number in mdadm code path.
20075
c871b1c6
VS
200762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20079 few potentially useful grub_util_info.
20080
5e631b4f
CW
200812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20084
2d5d0333
CW
200852011-03-30 Colin Watson <cjwatson@ubuntu.com>
20086
20087 * docs/grub.texi (default): Use @example rather than nested
20088 itemized lists to avoid breaking gendocs.
20089
3d7ed04e
CW
200902011-03-30 Colin Watson <cjwatson@ubuntu.com>
20091
20092 * docs/grub.texi (Future): Update.
20093
abf04200 200942011-03-30 Colin Watson <cjwatson@ubuntu.com>
20095
20096 * docs/grub.texi (Environment): New chapter.
20097 (Changes from GRUB Legacy): Link to "Environment block" section for
20098 details of limitations.
20099 (Simple configuration): Likewise. Link to documentation of gfxmode
20100 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20101 respectively.
20102 (Shell-like scripting): Note that normal variables are stored in the
20103 environment.
20104 (gettext): Link to documentation of lang and locale_dir.
20105 (list_env): New section.
20106 (load_env): New section.
20107 (save_env): New section.
20108
20109 (Reporting bugs): Fix typo.
20110
e1ad0edd
VS
201112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20114 the example.
20115
5d803174
VS
201162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/term/at_keyboard.c (set_scancodes)
20119 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20120
2a2da1d0
CW
201212011-03-30 Colin Watson <cjwatson@ubuntu.com>
20122
20123 * docs/grub.texi (Menu-specific commands): Remove some semantics
20124 that were true in GRUB Legacy but not in GRUB 2.
20125 (submenu): New section.
20126 (false): New section.
20127 (read): New section.
20128 (true): New section.
20129
a7527639
CW
201302011-03-30 Colin Watson <cjwatson@ubuntu.com>
20131
20132 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20133
201342011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
20135
20136 * docs/grub.texi (Simple configuration): Explain some of the
20137 current limitations of grub-mkconfig.
8a748df2 20138 Reported by: Leslie Rhorer.
e30af029 20139
fc858482
VS
201402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 Old macs search for boot.efi rather than for bootia32.efi.
20143
20144 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20145 * util/grub-mkrescue.in: Likewise.
20146 Suggested by: Peter Jones.
20147
e1eb511d
VS
201482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20151
70e75364
VS
201522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20155 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20156 (grub_lvm_mirror): New struct.
20157 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20158 (grub_lvm_iterate): Iterate only visible volumes.
20159 (grub_lvm_read): Factor out to ..
20160 (read_lv): ... this. Support mirrors.
20161 (grub_lvm_read): New wrapper function.
20162 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20163 stripped or mirrored.
20164
fc18f6a3
VS
201652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20168
5c650f4c
CW
201692011-03-29 Colin Watson <cjwatson@ubuntu.com>
20170
20171 * docs/grub.texi (loopback): New section.
20172
61d7156b
CW
201732011-03-29 Colin Watson <cjwatson@ubuntu.com>
20174
20175 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20176 removed -p option.
20177
994b8264
CW
201782011-03-29 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * docs/grub.texi (BIOS installation): New section, partly based on
20181 previous text in other sections.
20182 (Installing GRUB using grub-install): Replace BIOS discussion with a
20183 cross-reference.
20184 (Images): Likewise.
20185
9e4d19e0
VS
201862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20187
20188 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20189 [HAVE_DIOCGDINFO]: Add safety checks.
20190
a307c0b2
VS
201912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20194 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20195
b4db4f39
CW
201962011-03-29 Colin Watson <cjwatson@ubuntu.com>
20197
20198 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20199 real_sb->size is zero (e.g. RAID-0), get the disk size from
20200 real_sb->data_size instead.
20201 Fixes Ubuntu bug #743136.
20202
35e5f84c
VS
202032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20206 printf clauses for printing size and start.
20207
d2e29d81
VS
202082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20211 Reported and tested by: Timothy Nikkel.
20212
ed5587af
VS
202132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20216 (dirty_region_add_real): ... this.
20217 (dirty_region_add): Don't discard margin refresh when performing
20218 scheduled repaint.
20219
a1dc717c
VS
202202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * grub-core/lib/relocator.c (allocate_regstart)
20223 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20224 terminals are capabple of malloc-free operation.
20225 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20226 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20227
9f3677d3
VS
202282011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20229
20230 * util/grub-setup.c: Copy the partition table zone if floppy support
20231 is disabled, even if no partition table is found.
20232
20233 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20234 during POST if an invalid partition table is contained in the PBR
20235 of the active partition when GRUB is installed to a partition.
20236
24148725
CW
202372011-03-28 Colin Watson <cjwatson@debian.org>
20238
20239 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20240 comment.
20241
f329eda7
CW
202422011-03-28 Colin Watson <cjwatson@debian.org>
20243
20244 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20245 to be specific about what kind of RAID device we're scanning for.
20246
c482ad98
SG
202472011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20248
20249 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20250 return freed string.
20251
5ee04984
VS
202522011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20255
f4727da9
VS
202562011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 Use libgeom on FreeBSD to detect partitions.
20259
20260 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20261 (grub-mkrelpath): Likewise.
20262 (grub-script-check): Likewise.
20263 (grub-editenv): Likewise.
20264 (grub-mkpasswd-pbkdf2): Likewise.
20265 (grub-fstest): Likewise.
20266 (grub-mkfont): Likewise.
20267 (grub-mkdevicemap): Likewise.
20268 (grub-probe): Likewise.
20269 (grub-setup): Likewise.
20270 (grub-ofpathname): Likewise.
20271 (grub-mklayout): Likewise.
20272 (example_unit_test): Likewise.
20273 (grub-menulst2cfg): Likewise.
20274 * grub-core/Makefile.core.def (grub-emu): Likewise.
20275 (grub-emu-lite): Likewise.
20276 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20277 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20278 define HAVE_DIOCGDINFO.
20279 (follow_geom_up) [FreeBSD]: New function.
20280 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20281 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20282 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20283 unconditionally of HAVE_DIOCGDINFO.
20284
82fe6c75
VS
202852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 Fix FreeBSD compilation problem.
20288
20289 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20290 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20291
4c6c9431
CW
202922011-03-24 Colin Watson <cjwatson@ubuntu.com>
20293
20294 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20295 Switch back to page zero before loading a kernel, since some kernel
20296 drivers expect that.
20297 Thanks to: Felix Kuehling.
20298
c7064d94
VS
202992011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20302 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20303 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20304
3f71cded
VS
203052011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20308 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20309
ef6de21a
VS
203102011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20313 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20314 malloc is disabled.
20315
8bc66a2c
VS
203162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20317
20318 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20319 for modules headers when counting the needed allocation size.
20320
5657722c
VS
203212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20324 if no ASCII character is found to prevent crash.
20325
41a85f55
AK
203262011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20327
20328 * grub-core/video/bitmap.c (match_extension): Ignore case.
20329
59e1e5f1
VS
203302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20333
bd4d051a
VS
203342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * grub-core/script/parser.y: Declare "time" as valid argument.
20337
bae7fcc1
PJ
203382011-03-23 Peter Jones <pjones@redhat.com>
20339
20340 Fix incorrect assert failure reporting.
20341
20342 * grub-core/tests/example_functional_test.c (example_test): Add
20343 a failure comment.
20344 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20345 (failure_start): ...this. Check that malloc succeeded.
20346 Don't call xvasprintf. Return failure struct.
20347 (failure_append_vtext): New function.
20348 (failure_append_text): Likewise.
20349 (add_failure): Likewise.
20350 (grub_test_assert_helper): Likewise.
20351 * include/grub/test.h (grub_test_assert_helper): New declaration.
20352 (grub_test_assert): Macro rewritten.
20353
537dc9be
VS
203542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20357
fa3e01bf
VS
203582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20361
b1d28404
VS
203622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20365 into GRUB-style one.
20366
2e3e2e09
VS
203672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20370 error and not grub_errno.
20371 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20372
ed57e557
VS
203732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20376 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20377
d1611f01
VS
203782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * grub-core/efiemu/i386/pc/cfgtables.c
20381 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20382 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20383 (grub_xnu_unlock): Likewise.
20384 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20385
7d4e39d6
VS
203862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20389 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20390 * grub-core/commands/hashsum.c (aliases): Likewise.
20391 * grub-core/commands/setpci.c (pci_registers): Likewise.
20392 * grub-core/disk/usbms.c (attach_hook): Likewise.
20393 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20394 (zio_checksum_table): Likewise.
20395 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20396 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20397 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20398 * grub-core/lib/relocator.c (leftovers): Likewise.
20399 (extra_blocks): Likewise.
20400 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20401 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20402 (modules_last): Likewise.
20403 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20404 (devices): Likewise.
20405 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20406 (modules_last): Likewise.
20407 * grub-core/normal/auth.c (users): Likewise.
20408 * grub-core/normal/context.c (initial_menu): Likewise.
20409 (current_menu): Likewise.
20410 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20411 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20412 (grub_serial_terminfo_input_template): Likewise.
20413 (grub_serial_terminfo_output_template): Likewise.
20414 (grub_serial_terminfo_input): Likewise.
20415 (grub_serial_terminfo_output): Likewise.
20416 (registered): Likewise.
20417 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20418
40fc4659
VS
204192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20422 grub_video_mode_type_t.
20423 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20424 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20425 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20426
2da48d28
VS
204272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * util/grub-install.in: Correct the x86-64 name as x86_64.
20430
9b43bf39
CW
204312011-03-11 Colin Watson <cjwatson@ubuntu.com>
20432
20433 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20434 initial chunk read from the kernel always includes GRUB's multiboot
20435 header, which is now outside the first sector.
20436
be1a7ce0
CW
204372011-03-09 Colin Watson <cjwatson@ubuntu.com>
20438
20439 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20440 cached mmap_size, so that this works correctly when called multiple
20441 times.
20442 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20443
83a3c48d
CW
204442011-03-09 Colin Watson <cjwatson@ubuntu.com>
20445
20446 * docs/grub.texi (Simple configuration): Tidy up formatting.
20447
57d75699
SJ
204482011-03-07 Szymon Janc <szymon@janc.net.pl>
20449
20450 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20451 Set-but-not-used variable removed.
20452
028501a0
VS
204532011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 Workaround yet another IEEE1275 bug.
20456
20457 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
20458 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
20459 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
20460 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
20461 is set.
20462 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20463 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
20464
d998657d
VS
204652011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
20468 error.
20469
fee7cdd4
CW
204702011-02-11 Colin Watson <cjwatson@ubuntu.com>
20471
20472 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
20473 empty, since in that case we can only generate either nothing or a
20474 syntactically invalid configuration file.
20475 Reported by: Michal Suchanek. Fixes Debian bug #612898.
20476
97286eb5
CW
204772011-02-09 Colin Watson <cjwatson@ubuntu.com>
20478
20479 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
20480 (Making a GRUB bootable CD-ROM): Likewise.
20481 (Invoking grub-mkrescue): New section.
20482 Reported by: Yann Dirson. Fixes Debian bug #612585.
20483
22b28eb3
CW
204842011-02-09 Colin Watson <cjwatson@ubuntu.com>
20485
20486 * util/grub-install.in: Remove unnecessary brackets from tr
20487 arguments.
20488 * util/grub.d/10_hurd.in: Likewise.
20489 * util/grub.d/10_kfreebsd.in: Likewise.
20490 * util/grub.d/10_linux.in: Likewise.
20491 * util/grub.d/20_linux_xen.in: Likewise.
20492 Reported by: Jamie Heilman. Fixes Debian bug #612564.
20493
7e735e43
CW
204942011-02-08 Colin Watson <cjwatson@ubuntu.com>
20495
20496 * include/grub/file.h (not_easly_seekable): Rename to ...
20497 (not_easily_seekable): ... this. Update all users.
20498
800f1881
CW
204992011-01-28 Colin Watson <cjwatson@ubuntu.com>
20500
20501 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
20502 grub-mkrescue.
20503
3281d3d6
VS
205042011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * util/grub-mkimage.c (generate_image): Refuse to create the images
20507 bigger than the actual flash (512K) in Loongson machines. 512K is also
20508 the biggest chip supported by them.
20509
3533413c
VS
205102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20511
20512 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
20513
73ae4f4f
VS
205142011-01-22 Anthony DeRobertis <anthony@derobert.net>
20515
20516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
20517 super_offset field.
20518
37f4f608
VS
205192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * util/grub-install.in: Ignore install device on platforms
20522 where it doesn't make sense. Always use UUIDs except on pc, efi and
20523 sparc64.
20524 Reported by: Daniel Kahn Gillmor.
20525
03a4ccb5
VS
205262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
20529
ffc8f4d8
VS
205302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
20533 (iterate_real): Don't rely on partition being non-NULL.
20534
80f23be7
VS
205352011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
20538 supported platforms. Put a compile time assert for this rather than
20539 generate a warning with 32-bit shift.
20540
5d4f4dd5
VS
205412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
20544 logical expression more readable.
20545
e489601a
VS
205462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
20549 even if some elements have a name.
20550 Reported by: Alexander GQ Gerasiov.
20551
96e0a6ea
CW
205522011-01-22 Colin Watson <cjwatson@ubuntu.com>
20553
20554 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
20555 path unreadable if `grub-probe -t abstraction' fails, for example if
20556 memberlist fails on an LVM volume group.
20557 Reported by: Darius Jahandarie.
20558
81431e2b
CW
205592011-01-22 Colin Watson <cjwatson@ubuntu.com>
20560
20561 * docs/grub.texi (Simple configuration): Document
20562 GRUB_PRELOAD_MODULES.
20563
5e79d66a
CW
205642011-01-17 Colin Watson <cjwatson@ubuntu.com>
20565
20566 * .bzrignore: Remove nonexistent grub-pbkdf2.
20567
646ada34
VS
205682011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * configure.ac: Bump version to 1.99~rc1.
20571
04360337
VS
205722011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
20575 for safety.
20576
46c9db88
VS
205772011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
20580 module.
20581
205822011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
20583
20584 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
20585
4fbf1852
VS
205862011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
20589 diskdevid.
20590
f1632d4d
VS
205912011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 Fix compilation on cygwin.
20594
20595 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
20596 -R .drectve on cygwin.
20597 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
20598 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
20599 (COND_CYGWIN): New condition.
20600 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
20601 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
20602 not @TARGET_OBJ2ELF@.
20603 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
20604 type to determine whether aux is to be used.
20605
0b5e127b
VS
206062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
20609 realpath'ed device string.
20610 Handle floppy (somewhat).
20611 Issue error in unknown case rather than garbage.
20612 Reported by: Axel Beckert.
20613
173b71e9
VS
206142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * util/grub.d/00_header.in (load_video): Handle the case when no video
20617 drivers available.
20618 Thanks to: Axel Beckert.
20619
f8f479db
VS
206202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20621
20622 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
20623 variable. Fixes problem on big endian platforms.
20624
8fc0a245
VS
206252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
20628 It doesn't work well there.
20629
b8494fbe
VS
206302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
20633 warning.
20634 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
20635 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
20636 counter.
20637
b44a558c
VS
206382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 Use alias->path rather than buggy "canon".
20641
20642 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
20643 (ofdisk_hash_add): New argument curcan. All users updated.
20644
51fa856c
CW
206452011-01-11 Colin Watson <cjwatson@ubuntu.com>
20646
20647 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
20648
9da068a5
VS
206492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
20652 loadmask before doing any calculations. Use correct type for offset.
20653 (grub_linux_load64): Likewise.
20654
86205c94
CW
206552011-01-11 Colin Watson <cjwatson@ubuntu.com>
20656
20657 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
20658 with NULL.
20659 (console_grub_equivalences_unshift): Likewise.
20660 Reported by: Daniel Dehennin.
20661
4531a206
VS
206622011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
20665 (set_env_limn_ro): Likewise.
20666 (GRUB_MOD_INIT): Likewise.
20667 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
20668 ARRAY_SIZE while on it.
20669 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
20670 * grub-core/normal/context.c (grub_env_export): Move from here ...
20671 * grub-core/kern/env.c (grub_env_export): ... here.
20672 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
20673 prefix.
20674 * grub-core/kern/main.c (grub_main): Export root and prefix.
20675 * include/grub/env.h (grub_env_export): Export.
20676 Reported by: Seth Goldberg.
20677
45146057
VS
206782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20681 Take into account space used by ELF sections and multiboot palette.
20682 Reported by: Grégoire Sutre.
20683
f093110b
VS
206842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
20685
20686 * BUGS: New file.
20687
3395fe52
VS
206882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 Pass more appropriate video id to Linux.
20691
20692 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
20693 grub_video_get_driver_id and variable gfxpayloadforcelfb to
20694 fill have_vga.
20695 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
20696 shift params->lfb_size.
20697 * include/grub/i386/linux.h: Make an enume out of have_vga values.
20698
c2fa6cbb
VS
206992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20700
20701 * util/grub-menulst2cfg.c: Add missing include of misc.h.
20702
b3ff6ff0
VS
207032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20704
20705 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
20706 separator and pass bootpath/devid even if only one of them is available.
20707 Reported by: Seth Goldberg.
20708
ae67942e
VS
207092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
20712 implementations bug on them.
20713
20714 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
20715 memory.
20716 (filter_memory_map): Likewise.
20717
d570097a
VS
207182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
20721 Reported by: nebuchadnezzar.
20722
a508e776
VS
207232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20724
20725 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
20726 Reported by: nebuchadnezzar.
20727
dcb883b1
VS
207282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 Submenu default support.
20731
20732 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
20733 auto_boot. All users updated.
20734 Declared static.
20735 Handle chosen and default with submenus.
20736 (grub_menu_execute_with_fallback): Declared static.
20737 Don't notify failure if autobooted. Upper level does it.
20738 (menuentry_eq): New function.
20739 (get_entry_number): Use menuentry_eq.
20740 (show_menu): New parameter "autobooted". All users updated.
20741 (grub_show_menu): Likewise.
20742 * include/grub/normal.h (grub_show_menu): Likewise.
20743 * include/grub/menu.h (grub_menu_execute_entry): Removed.
20744 (grub_menu_execute_with_fallback): Likewise.
20745
6fef99b4
VS
207462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * util/grub-mklayout.c (usage): Update help text.
20749
47a77af5
VS
207502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
20753
ce6bb3ee
VS
207542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * util/grub-menulst2cfg.c (main): Trim the line.
20757
db87be2a
VS
207582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
20761 (grub_machine_init): Don't check amount of low memory as reportedly
20762 INT 12h can be broken and if low memory is too low we wouldn't have
20763 gotten into grub_machine_init anyway.
20764
c49849cc
VS
207652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
20768 (grub_machine_mmap_iterate): Take low memory into account
20769
b1969b30
VS
207702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
20773 badfs.
20774 Reported by: TiCPU.
20775
cf0eaf13
VS
207762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
20779 members errors.
20780
1f060f39
GS
207812011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20782
20783 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
20784 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
20785
a21e5672
GS
207862011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
20787
20788 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20789 openbsd and netbsd types being in part_bsd module.
20790
c88172fa
VS
207912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20792
20793 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
20794 (_FILE_OFFSET_BITS): Likewise.
20795 Reported by: Seth Goldberg.
20796
53798c4b
GS
207972011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20798
20799 * configure.ac: Check for libdevmapper header.
20800
e7121b69
VS
208012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
20804 avoid aliasing.
20805 (fzap_lookup): Likewise.
20806 (dnode_get): Likewise.
20807 (make_mdn): Likewise.
20808 (zfs_mount): Likewise.
20809 (fzap_iterate): Use temporary pointer to avoid aliasing.
20810 (grub_zfs_read): Likewise.
20811 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
20812 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
20813 pointers to avoid aliasing.
20814 (grub_cmd_xnu_kernel64): Likewise.
20815 (grub_xnu_load_driver): Likewise.
20816
fc836af9
VS
208172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
20820 aliasing warning.
20821 (grub_cmd_terminal_output): Likewise.
20822 Reported and tested by: Grégoire Sutre.
20823
f9f37648
VS
208242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
20827 warning.
20828 Reported and tested by: Grégoire Sutre.
20829
ec1dfd63
VS
208302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * configure.ac: Do CPU substitution even if it's specified explicitly.
20833 Reported and tested by: Alain Greppin.
20834
9462775a
VS
208352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
20838 Reported and tested by: Alain Greppin.
20839
0fd48e35
VS
208402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 Satisfy some bison versions need for inttypes.h.
20843
20844 * grub-core/lib/posix_wrap/inttypes.h: New file.
20845 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
20846 (int16_t): Likewise.
20847 (int32_t): Likewise.
20848 (int64_t): Likewise.
20849 Reported and tested by: Alain Greppin.
20850
43f1bc83
VS
208512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
20854 Silence spurious warning.
20855 Reported and tested by: Alain Greppin.
20856
64d1f041
SJ
208572011-01-07 Szymon Janc <szymon@janc.net.pl>
20858
20859 * docs/grub.texi (Support automatic decompression): Update with xz
20860 decompression support.
20861
25953e10
SJ
208622011-01-07 Szymon Janc <szymon@janc.net.pl>
20863
20864 Improve loaders' kernel command line handling.
20865
20866 * grub-core/lib/cmdline.c: New file.
20867 * include/grub/lib/cmdline.h: Likewise.
20868 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
20869 grub_create_loader_cmdline to create kernel command line.
20870 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20871 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
20872 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
20873 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
20874 (linux): Add lib/cmdline.c on common.
20875
e72d259f
VS
208762011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20877
20878 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
20879 inopos might be unaligned.
20880
c0cf26da
VS
208812011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20882
20883 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
20884 endian transformations.
20885 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20886 Based on report by: Doug Nazar.
20887
0ca09e6c
DN
208882011-01-07 Doug Nazar <nazard.michi@gmail.com>
20889
20890 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
20891 array->members[i].start_sector.
20892 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
20893
014b6806
VS
208942011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
20897 Reported and tested by: Grégoire Sutre.
20898
415502c2
CW
208992011-01-06 Colin Watson <cjwatson@ubuntu.com>
20900
20901 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
20902 avoid causing test failures by clearing the screen.
20903
71b6a2b7
CW
209042011-01-06 Colin Watson <cjwatson@ubuntu.com>
20905
20906 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20907 Fix prefix check to handle the case where dir ends with a slash
20908 (most significantly, "/" itself).
20909 Reported by: Michael Vogt.
20910
b3f8d28a
VS
209112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 Run terminfo_cls on initing terminfo output to clear the screen and
20914 move the cursor to (0,0).
20915
20916 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
20917 Call grub_terminfo_output_init.
20918 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
20919 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
20920 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
20921
4c3e4f37
VS
209222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20923
20924 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
20925 only when needed.
20926
488f71f1
VS
209272011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
20930 CTRL.
20931
18a38098
VS
209322011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
20933
20934 The E820 type 5 is BADRAM, not EXEC_CODE.
20935
20936 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20937 (GRUB_E820_BADRAM): New define.
20938 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
20939 into reserved. Propagate BADRAM.
20940 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
20941 (GRUB_E820_BADRAM): New define.
20942
9eae2084
VS
209432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
20946 Ignore the memory post-4G.
20947 (grub_relocator_firmware_alloc_region): Additional debug statement.
20948
ebc71d28
VS
209492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
20952 names.
20953 Reported by: David Pravec.
20954
446fa400
VS
209552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20956
20957 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
20958 BIOSes.
20959
a0159f37
VS
209602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
20963 Prevent overflow.
20964 (grub_reed_solomon_recover): Likewise.
20965
e5146ca1
VS
209662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
20969
209702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
20971
20972 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
20973 variable.
20974
5b1bdf12
CW
209752011-01-04 Colin Watson <cjwatson@ubuntu.com>
20976
20977 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
20978 descriptions of extract_legacy_entries_source and
20979 extract_legacy_entries_configfile.
20980 Reported by: Seung Soo, Ha.
20981
99d925aa
CW
209822011-01-03 Colin Watson <cjwatson@ubuntu.com>
20983
20984 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
20985 on devices that do not implement function 0.
20986
4af0504b
DV
209872011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
20988
20989 * grub-core/fs/hfsplus.c: Make parent unsigned.
20990 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
20991 overflows.
20992 (grub_hfsplus_cmp_extkey): Likewise
20993
469ee10a
VS
209942011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 * util/grub-install.in: Correctly use bootloader_id and not
20997 GRUB_DISTRIBUTOR on efibootmgr line.
20998
323a8e9c
VS
209992011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21002
1b394975
IC
210032010-12-31 Ian Campbell <ijc@hellion.org.uk>
21004
21005 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21006 Xen and reorder menu item wording to make it clearer that this entry
21007 will launch Xen. Print separate messages when loading Xen and
21008 Linux.
21009
275bff5f
VS
210102010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21013 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21014 loop in case of incorrect amiga partmap.
21015
307806cb
VS
210162010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21017
21018 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21019 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21020 Reported by:EHeM.
21021
b12b923e
VS
210222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21025 spurious warning.
21026 Reported by: crocket
21027
14b48a19
VS
210282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21029
21030 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21031 Preload EFIemu.
21032 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21033
693db2df
VS
210342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21037 is loaded
21038 (grub_cmd_xnu_kextdir): Likewise.
21039 (grub_cmd_xnu_splash): Likewise.
21040
c7638645
VS
210412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 Avoid using Reed-Solomon with 0 redundancy.
21044
21045 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21046 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21047 or 0 redundancy.
21048 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21049 (grub_reed_solomon_recover): Likewise.
21050
25dd4780
VS
210512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21052
21053 Don't use disk subsystem in freebsd_boot.
21054
21055 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21056 (freebsd_biosdev): Likewise.
21057 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21058 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21059
0b2db943
VS
210602010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 Handling of files of unknown size is currently limited. They can't be
21063 used e.g. for initrd or modules. Moreover gzip handling of not
21064 easily seekable files is buggy. Disable unknown file size for now. May
21065 be inefficient but works.
21066
21067 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21068 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21069
5c408d0f
MP
210702010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21071
21072 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21073 floppy probe.
21074
190a011a
JD
210752010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21076
21077 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21078
022d01b8
SL
210792010-12-25 Shea Levy <shlevy>
21080
21081 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21082
c4855fdc
VS
210832010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21086 Windows Server 2008.
21087 Reported by: Devin Giddings.
21088
0354b867
VS
210892010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21090
21091 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21092 writing an error message because of async power management.
21093 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21094 (grub_reboot): Likewise.
21095
ab66c69f
JU
210962010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21097
21098 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21099 keep unit tests from failing when they shouldn't.
21100
1426ef35
CW
211012010-12-21 Colin Watson <cjwatson@ubuntu.com>
21102
21103 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21104 previous patch increased the size of the RS code by 20 bytes (at
21105 least with gcc-4.4), so increase this by 20 bytes to match.
21106 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21107
20641b6b
CW
211082010-12-21 Colin Watson <cjwatson@ubuntu.com>
21109
21110 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21111 scratch area. Make sure to initialise chosen in standalone mode as
21112 well as non-standalone.
21113 Reported by: Robert Hooker and Andy Whitcroft.
21114 Tested by: Andy Whitcroft.
21115
d060ad60
CW
211162010-12-21 Colin Watson <cjwatson@ubuntu.com>
21117
21118 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21119 constructing a new unescaped string and passing it to grub_xputs in
21120 one go, rather than passing characters to grub_printf one at a time.
21121
b889cfad
CW
211222010-12-21 Colin Watson <cjwatson@ubuntu.com>
21123
21124 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21125 initialising utf16.
21126
4e01b6c8
CW
211272010-12-21 Colin Watson <cjwatson@ubuntu.com>
21128
21129 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21130 comment. Add an extra layer of quotation, requiring the output of
21131 this function to be used in a printf format string.
21132 (gettext_printf): New function.
21133 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21134 Extract translatable strings from here-documents and use a temporary
21135 variable instead, so that xgettext can find them.
21136 * util/grub.d/10_kfreebsd.in: Likewise.
21137 * util/grub.d/10_linux.in: Likewise.
21138 * util/grub.d/20_linux_xen.in: Likewise.
21139
21140 * po/grub.d.sed: New file.
21141 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21142 arguments. Set c-format flags on all strings extracted from
21143 util/grub.d/ (xgettext refuses to include these itself for strings
21144 it extracted from a shell file, but these really are c-format).
21145
5318fe98
VS
211462010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21149 Avoid next pointing to nowhere.
21150
6c85b743
VS
211512010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21154 rather than assuming than rootblock is exactly in the middle.
21155 (grub_affs_label): Likewise.
21156
a2a08a35
VS
211572010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21160 reserved_first_sector to 0.
21161 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21162 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21163 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21164
7059d1ec
VS
211652010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 Fix handling of UTF-16 UDF labels.
21168
21169 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21170 (read_string): .. here.
21171 (grub_udf_label): Use read_string.
21172
30aff4cb
BC
211732010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21174
21175 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21176 editor under argument scope.
21177 Reported by: Jordan Uggla
21178
5cf86f4b
VS
211792010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21182
32570200
CW
211832010-12-18 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21186 line, and other keys scroll an entire page (previous handling was
21187 for \r and \n to scroll a page and other keys to scroll two lines).
21188
e1dffcf2
VS
211892010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21192 Set ptrdest to correct get_physical_target_address rather than
21193 incorrect get_virtual_current_address.
21194
b04298cf 211952010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21196
21197 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21198 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21199
5367ecd3
CW
212002010-12-10 Colin Watson <cjwatson@ubuntu.com>
21201
21202 * .bzrignore: Ignore grub-core/rs_decoder.S.
21203
1fb430f8
CW
212042010-12-10 Colin Watson <cjwatson@ubuntu.com>
21205
21206 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21207 .mo/.mo.gz opening sequence to ...
21208 (grub_mofile_open_lang): ... here.
21209 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21210 * util/grub.d/00_header.in (grub_lang): Include country part of
21211 locale.
21212 Reported by: Mario Limonciello.
21213
a94a6671
RM
212142010-12-09 Robert Millan <rmh@gnu.org>
21215
21216 * NEWS: Document addition of ZFS support.
21217
24b7938b
CW
212182010-12-04 Colin Watson <cjwatson@ubuntu.com>
21219
21220 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21221 rather than `/ 2', as the latter requires -Wa,--divide which would
21222 require bumping our minimum binutils version.
21223
bddc3ef6
BC
212242010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21225
21226 * util/grub-script-check.c (main): Print script line number on
21227 error.
21228
bf78d5b2
RM
212292010-12-01 Robert Millan <rmh@gnu.org>
21230
21231 * grub-core/fs/zfs/zfs.c: New file.
21232 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21233 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21234 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21235 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21236
21237 * include/grub/zfs/dmu.h: Likewise.
21238 * include/grub/zfs/dmu_objset.h: Likewise.
21239 * include/grub/zfs/dnode.h: Likewise.
21240 * include/grub/zfs/dsl_dataset.h: Likewise.
21241 * include/grub/zfs/dsl_dir.h: Likewise.
21242 * include/grub/zfs/sa_impl.h: Likewise.
21243 * include/grub/zfs/spa.h: Likewise.
21244 * include/grub/zfs/uberblock_impl.h: Likewise.
21245 * include/grub/zfs/vdev_impl.h: Likewise.
21246 * include/grub/zfs/zap_impl.h: Likewise.
21247 * include/grub/zfs/zap_leaf.h: Likewise.
21248 * include/grub/zfs/zfs.h: Likewise.
21249 * include/grub/zfs/zfs_acl.h: Likewise.
21250 * include/grub/zfs/zfs_znode.h: Likewise.
21251 * include/grub/zfs/zil.h: Likewise.
21252 * include/grub/zfs/zio.h: Likewise.
21253 * include/grub/zfs/zio_checksum.h: Likewise.
21254
21255 * Makefile.util.def: Build ZFS into libgrubmods.
21256 * grub-core/Makefile.core.def: Build zfs.mod.
21257
3f0f3831
SJ
212582010-11-30 Szymon Janc <szymon@janc.net.pl>
21259
21260 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21261 variable.
21262 * grub-core/commands/wildcard.c (match_files): Likewise.
21263
3a4253b2
RM
212642010-11-30 Robert Millan <rmh@gnu.org>
21265
21266 * grub-core/loader/i386/bsd.c
21267 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21268 whether kernel is loaded using grub_loader_is_loaded(), rather
21269 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21270 certain error conditions.
21271
8c317b27
RM
212722010-11-30 Robert Millan <rmh@gnu.org>
21273
c5c9cd3e
RM
21274 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21275 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 21276
49d3ab46
VS
212772010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 Avoid using tricks for initialising endian variables.
21280
21281 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21282 Make const.
21283 (GRUB_MOD_INIT): Don't byte-swap.
21284 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21285 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21286 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21287 (grub_swap_bytes32_compile_time): Likewise.
21288 (grub_cpu_to_le32_compile_time): Likewise.
21289 (grub_cpu_to_le16_compile_time): Likewise.
21290
f420a804
VS
212912010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * util/grub-setup.c (setup): Stop recommending --force. People who
21294 understand the dangers of blocklists are able to find this option
21295 anyway and the ones who don't shouldn't use it anyway.
21296
4e7db17b
RM
212972010-11-26 Robert Millan <rmh@gnu.org>
21298
21299 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21300 Update all users.
21301
9be57a0d
CW
213022010-11-26 Colin Watson <cjwatson@ubuntu.com>
21303
21304 Fix LVM-on-RAID probing.
21305
21306 * util/grub-probe.c (probe): Remember which disk was detected as
21307 RAID (perhaps an LVM physical volume). Use that disk's raidname
21308 rather than that of the top-level disk.
21309
2c7859b3 213102010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 21311
d7647bb6
BC
21312 Fix cmdline argument quotes for setparams command of menuentry
21313 definitions.
7e623b0d
BC
21314
21315 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21316 quotes for arguments.
f866fe80 21317 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 21318 grub_strchrsub function instead.
f866fe80 21319
7955bea0 21320 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 21321
74f72a64
CW
213222010-11-24 Colin Watson <cjwatson@ubuntu.com>
21323
21324 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21325 effort by skipping "." and ".." entries up-front.
21326 Suggested by: Michael Lazarev.
21327
5a407278
CW
213282010-11-24 Colin Watson <cjwatson@ubuntu.com>
21329
21330 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21331 ldflags to ldadd, to fix link line ordering.
21332 (none_decompress): Likewise.
21333
3030d8ec
CW
213342010-11-24 Colin Watson <cjwatson@ubuntu.com>
21335
21336 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21337 platforms.
21338 (grub-emu-lite): Remove kern/emu/cache.S.
21339
b7fbac12
CW
213402010-11-23 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * util/deviceiter.c (compare_devices): If the by-id link for a
21343 device couldn't be resolved, fall back to sorting by the by-id link
21344 rather than segfaulting.
21345 Reported and tested by: Daniel Mierswa.
21346
5225f328
CW
213472010-11-23 Colin Watson <cjwatson@ubuntu.com>
21348
21349 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21350 ldflags, to fix link line ordering.
21351
038b3ce8
CW
213522010-11-23 Colin Watson <cjwatson@ubuntu.com>
21353
21354 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21355 linkers are picky about this.
21356
bf16e98e
CW
213572010-11-23 Colin Watson <cjwatson@ubuntu.com>
21358
21359 * grub-core/Makefile.am (command.lst): Adjust sed expression
21360 ordering so that extended and priority commands aren't treated as
21361 ordinary commands.
21362
7242bab6
CW
213632010-11-23 Colin Watson <cjwatson@ubuntu.com>
21364
21365 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21366 Remove byte-swapping function calls, which are not valid in
21367 structure initialisers.
21368 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21369 non-const.
21370 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21371 grub_gpt_partition_type_bios_boot.
21372
14e8b279
CW
213732010-11-22 Colin Watson <cjwatson@ubuntu.com>
21374
21375 Fix test program build on GNU/kFreeBSD.
21376
21377 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21378 $(LIBNVPAIR)' library dependencies.
21379
e6f63338 213802010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
21381
21382 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21383
cf8ffc38
CW
213842010-11-22 Colin Watson <cjwatson@ubuntu.com>
21385
21386 * util/grub-install.in: Remove excessive quoting that broke
21387 installations to RAID devices.
21388
7f8b0fd7
VS
213892010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21392 bootloader version instead of 0.
21393
dfd240b1
VS
213942010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21397 warning.
21398
7b61e609
VS
213992010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21402 retrieve the metadat sector if size isn't known.
21403 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21404
9dfe92d0
RM
214052010-11-18 Robert Millan <rmh@gnu.org>
21406
21407 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21408 with grub_memcmp().
21409
41cc919e
VS
214102010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21413 arrow.
21414 Reported by: Jordan Uggla.
21415
1afcc914
VS
214162010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 Make better UTF compliant.
21419
21420 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21421 sequences as incorrect.
21422 (grub_is_valid_utf8): Likewise.
21423 (grub_utf8_to_ucs4): Likewise.
21424 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21425 (grub_ucs4_to_utf8_alloc): Likewise.
21426 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21427
f1808884
VS
214282010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 Make legacy_source behave like source.
21431
21432 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21433 grub_show_menu.
21434 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21435
24ec575b
CW
214362010-11-16 Colin Watson <cjwatson@debian.org>
21437
21438 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21439 (-Wunused implies -Wunused-parameter, but not vice versa).
21440
72b7c7aa
CW
214412010-11-16 Colin Watson <cjwatson@ubuntu.com>
21442
21443 * configure.ac: Make error messages less confusing by testing for
21444 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21445 accepted, but produces a diagnostic if something else is wrong).
21446
e98937aa
VS
214472010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21450 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21451 (now unused).
21452 (grub_keyboard_controller_init)
21453 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
21454 read the initial state since controller isn't inited yet.
21455
f6bbabc3
VS
214562010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21457
21458 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
21459 allocate_regbeg may need to create new chunk header.
21460
22e7dbb2
VS
214612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 Fix quoting in legacy parser.
21464
21465 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
21466 single quotes.
21467 (grub_legacy_parse): Likewise.
21468 Reported by: Jordan Uggla.
21469 Tested by: Jordan Uggla.
21470
03f80960
VS
214712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 Don't add -lgcc on i386 and x86_64.
21474
21475 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
21476 * conf/Makefile.common (LDADD_KERNEL): Likewise.
21477 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
21478
779dc15b
VS
214792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 * configure.ac: Add -Wno-trampolines when supported.
21482
d20a3b37
MV
214832010-11-14 Modestas Vainius <modax@debian.org>
21484
21485 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
21486 fakeraid.
21487
e5360933
GC
214882010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21489
21490 Add generic logical block size support for UDF.
21491
21492 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
21493 (GRUB_UDF_BLKSZ): Removed.
21494 (struct grub_udf_data): New field "lbshift" to hold the logical block
21495 size of the file system in log2 format. All users updated.
21496 (sblocklist): Change type to unsigned.
21497 (grub_udf_mount): Change type of "sblklist" to unsigned.
21498 Move AVDP search before VRS recognition, because the latter requires
21499 knowledge of the logical block size, which is detected during the
21500 former.
21501 Detect and validate logical block size during AVDP search, adding
21502 support for block sizes 512, 1024 and 4096.
21503 Make VRS recognition independent of block size.
21504
cb0229c5
GC
215052010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21506
21507 Properly handle deleted files on UDF.
21508
21509 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
21510 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
21511 set.
21512
406858a8
GC
215132010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
21514
21515 Support reading files larger than 2 GiB.
21516
21517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
21518 "offset" to grub_off_t.
21519 (grub_udf_read_file): Likewise for parameter "pos".
21520
130da6a7
VS
215212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
21524 unavailable.
21525 (Simple configuration): Refer to Changes from GRUB Legacy about
21526 save_env availability.
21527
65e93f6b
VS
215282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * util/grub-install.in: Ignore empty partition table detection
21531 instead of trying to include part_ module.
21532
1fd08bf1
VS
215332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
21536 LVM on RAID support.
21537
de1a024f
VS
215382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 Properly define WORDS_BIGENDIAN in wrapped environments.
21541
21542 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
21543 definition.
21544 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
21545
21546 Reported by: Manoel Rebelo Abranches.
21547 Tested by: Manoel Rebelo Abranches.
21548
bc5dd0b9
VS
215492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 * util/grub-mkconfig.in: Fix quoting.
21552
58c184be
VS
215532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 Support big ext2 files.
21556
21557 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
21558 (grub_ext2_read_block): Support triple indirect blocks.
21559 (grub_ext2_read_file): Use 64-bit types and read size_high.
21560 (grub_ext2_open): Read size_high.
21561 Reported by: Ximin Luo.
21562 Tested by: Manoel Rebelo Abranches.
21563
5f0c02b3
VS
215642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 * util/grub-install.in: Handle filenames containing spaces.
21567 Reported by: Jordan Uggla.
21568 Tested by: Jordan Uggla.
21569
4417aae6
VS
215702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 * util/grub-mkconfig.in (grub_script_check): New variable.
21573 Use grub_script_check instead of grub-script-check.
21574 Reported by: Barry Jackson.
21575
7625a68e
VS
215762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * docs/grub.texi (menu): Correct the order.
21579 Reported by: D. Hugh Redelmeier.
21580
10001ac5
VS
215812010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
21584 jump.
21585
9c4cf53b
MRA
215862010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21587
10001ac5
VS
21588 * include/grub/elfload.h (grub_elf32_size): New parameter.
21589 All users updated.
9c4cf53b
MRA
21590 Return maximum segments alignment.
21591 (grub_elf64_size): Likewise.
21592 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
21593 Return maximum segments alignment.
21594 (grub_elf64_size): Likewise.
21595 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
21596 (grub_linux_claimmap_iterate): New function. Uses the
21597 "available" property in the "memory" node for memory allocation
21598 for kernel in the PowerPC loader.
9c4cf53b
MRA
21599 (grub_linux_load32): Correctly find linux entry point offset.
21600 (grub_linux_load64): Likewise.
21601
d2bf06bf
RM
216022010-11-07 Robert Millan <rmh@gnu.org>
21603
21604 On mips-yeeloong, build with -march=loongson2f when this flag is
21605 available (GCC >= 4.4).
21606 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
21607 `-march=mips3'.
21608 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
21609 or otherwise add -march=mips3.
21610
898c99a2
BC
216112010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
21612
87220a68
BC
21613 Suppress shell expansion on echo '*' and echo "*" like cases.
21614 Reported by: Jordan Uggla.
898c99a2
BC
21615
21616 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
21617 string arguments before shell expansion.
21618 * tests/grub_cmd_echo.in: New testcases.
21619
4f9b406a
RM
216202010-11-07 Robert Millan <rmh@gnu.org>
21621
21622 * conf/mips-qemu-mips.rmk: Remove stale file from previous
21623 transition.
21624
80c6d25e
VS
216252010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * grub-core/kern/emu/hostdisk.c
21628 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
21629
4a1a0153
VS
216302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
21633 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
21634 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
21635
34706ddc
VS
216362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
21639
6972dea9
VS
216402010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * util/grub-install.in: Replace useless recomendation to pass
21643 --modules with a recomendation to report a bug.
21644
9c693bd6
VS
216452010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 Properly register serial terminfo.
21648 Reported by: Jordan Uggla
21649
21650 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
21651 const.
21652 (grub_serial_terminfo_output_template): Likewise.
21653 (grub_cmd_serial): Register "serial" with terminfo.
21654 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
21655 grub_serial_terminfo_output.
21656
6c9e4c0c
RM
216572010-11-05 Robert Millan <rmh@gnu.org>
21658
21659 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
21660 needed).
21661
b9b3839f
RM
216622010-11-05 Robert Millan <rmh@gnu.org>
21663
21664 On Yeeloong, pass machine type information to Linux.
21665
21666 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
21667 (LOONGSON_MACHTYPE): New macro, set to
21668 "machtype=lemote-yeeloong-2f-8.9inches".
21669 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
21670 additional argument to Linux.
21671
1a3aaff4
RM
216722010-11-04 Robert Millan <rmh@gnu.org>
21673
21674 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
21675 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
21676 (its SATA disks are detected as slaveless IDE master drives on
21677 kFreeBSD).
21678 Reported by Carsten Aulbert.
21679
a75f4f62
CW
216802010-11-02 Colin Watson <cjwatson@ubuntu.com>
21681
21682 * util/bin2h.c (main): Fix spelling error in generated output.
21683
33b4b0c6
GS
216842010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
21685
21686 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
21687
2b36fbf4
VS
216882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
21691 vga= option is supplied.
21692
74aaf558
VS
216932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
21696 * util/grub.d/10_kfreebsd.in: Likewise.
21697 * util/grub.d/10_linux.in: Likewise.
21698 * util/grub.d/20_linux_xen.in: Likewise.
21699
6428dec3
VS
217002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
21703 argument as an argument to no-argument option.
21704
f8729d98
VS
217052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21706
21707 * util/grub.d/10_linux.in: Add missing load_video with explicit
21708 GRUB_GFXPAYLOAD_LINUX.
21709
89d68fa6
VS
217102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
21713
3a1197cd
VS
217142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
21717 elements with invlid index.
21718 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21719 * grub-core/disk/raid.c (insert_array): Automatically reallocate
21720 members.
21721 * include/grub/raid.h (grub_raid_member): New struct.
21722 (grub_raid_array): Transform devices and start_sector into usage of
21723 grub_raid_member. All users updated
21724 (allocated_devs): New member.
21725
71574288
VS
217262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
21729 is modified
21730
8d40ec65
BC
217312010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
21732
21733 NetBSD build fix for getline function conflict from gnulib.
21734
21735 * Makefile.util.def (libgrubkern.a): New library for grub kernel
21736 components that depend on gnulib headers.
21737 (libgrubmods.a): Renamed from earlier libgrub.a.
21738 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
21739
95b9257e
VS
217402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
21743 install rather than creating a broken install.
21744
26c53dc6
VS
217452010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * util/grub-setup.c (argp): Remove misleading example of installing to
21748 a partition.
21749
4171b3c5
VS
217502010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21751
21752 * util/grub-setup.c (setup): Clarify the error message.
21753
18568d18
VS
217542010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
21757
4f6a2e21
VS
217582010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 * grub-core/kern/emu/misc.c
21761 (grub_make_system_path_relative_to_its_root)
21762 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
21763
217642010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
21765
21766 * grub-core/kern/emu/misc.c
21767 (grub_make_system_path_relative_to_its_root): Revert r2882.
21768
e138c458
VS
217692010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
21772 useless field head. All users updated.
21773 (free_subchunk): Correct handling of IN_REGION subchunk.
21774
0cbcdf0e
CW
217752010-10-22 Colin Watson <cjwatson@ubuntu.com>
21776
21777 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
21778 (Supported kernels): Likewise.
21779
b65ea155
GS
217802010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21781
21782 Make mktemp invocations portable.
21783
21784 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
21785 exit if mktemp fails.
21786 * tests/grub_script_blockarg.in: Likewise.
21787 * tests/partmap_test.in: Likewise.
21788 * tests/util/grub-shell-tester.in: Likewise.
21789 * tests/util/grub-shell.in: Likewise.
21790 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21791 * Makefile.am: Likewise, and chain shell commands with `&&'
21792 instead of ';'.
21793 * util/grub-mkrescue.in: Use the same explicit template as above, and
21794 exit if mktemp fails.
21795
05f43cdd
BC
217962010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
21797
21798 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
21799 Linux kernel, reported by Dennis Schridde.
21800
800e6a9b
SJ
218012010-10-17 Szymon Janc <szymon@janc.net.pl>
21802
21803 * grub-core/normal/auth.c (grub_auth_check_authentication):
21804 Set-but-not-used variable removed.
21805
d82df574
VS
218062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * docs/grub.texi (GNU/Linux): Document APM unavailability with
21809 32-bit linux protocol.
21810
7bced458
VS
218112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
21814 cursor shape for sanity.
21815
5b027690
VS
218162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21817
21818 * docs/grub.texi (Installation): Document buggy BIOS install.
21819
ba5f65cf
VS
218202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * docs/grub.texi (Installation): Indent.
21823
fdf2ec9c
VS
218242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * util/grub-setup.c (setup): New parameter allow_floppy.
21827 (arguments): New member allow_floppy.
21828 (argp_parser): Handle --allow-floppy.
21829 (main): Pass allow_floppy.
21830 * util/grub-install.in: New option --allow-floppy passed though to
21831 grub-setup.
21832
861dfd4c
VS
218332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * util/grub-install.in: Handle partitionless disks.
21836
f77a8c24
VS
218372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 * util/grub-setup.c (setup): Don't clean blocklists before readability
21840 verfification.
21841
27d9ee32
VS
218422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21843
21844 * docs/grub.texi (Installation): Document embedding zone. Remove
21845 obsolete grub-install example.
21846
6bdda8f8
SJ
218472010-10-16 Szymon Janc <szymon@janc.net.pl>
21848
21849 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
21850 Set-but-not-used variable ifdef'ed.
21851 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
21852 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
21853 variable removed.
21854 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
21855 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
21856 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
21857 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
21858 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
21859 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21860 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
21861 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
21862 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
21863 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
21864 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
21865 Likewise.
21866
e19b016b
VS
218672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
21870 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
21871 enum value.
21872
6c8d3002
VS
218732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21874
21875 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
21876 synonym to _S5_. Needed for some DSDTs.
21877
c32b51c9
VS
218782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21879
21880 Userspace ACPI parser debugging.
21881
21882 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
21883 headers and add relevant defines. Don't include standard headers.
21884 (main) [GRUB_DSDT_TEST]: New function.
21885 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
21886 Don't declare functions.
21887
fbfbeb39
VS
218882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 Remove dead grub_efi_mm_fini.
21891
21892 * grub-core/kern/efi/mm.c (allocated_page): Removed.
21893 (ALLOCATED_PAGES_SIZE): Likewise.
21894 (MAX_ALLOCATED_PAGES): Likewise.
21895 (allocated_pages): Likewise.
21896 (grub_efi_allocate_pages): Don't record allocated pages.
21897 (grub_efi_free_pages): Likewise.
21898 (grub_efi_mm_init): Likewise.
21899 (grub_efi_mm_fini): Removed.
21900
65f7ed7c
VS
219012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
21904 (grub_efi_mm_init): Take into account the memory map size increase.
21905
24977b44
VS
219062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
21909 (serial_hw_put): Wait based on real time rather than port reads. Don't
21910 roken ports.
21911 * include/grub/serial.h (grub_serial_port): New field broken.
21912
1eb01cd2
RM
219132010-10-16 Robert Millan <rmh@gnu.org>
21914
21915 * grub-core/kern/emu/misc.c
21916 (grub_make_system_path_relative_to_its_root): Fix premature return
21917 when processing non-root ZFS filesystems.
5f8b440b 21918 Reported by Sergio Talens-Oliag.
1eb01cd2 21919
2d5fed60
RM
219202010-10-15 Robert Millan <rmh@gnu.org>
21921
21922 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
21923 guarantee compressed ones are processed first.
21924
d0f4c1ea
VS
219252010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
21928 grub_efiemu_autocore.
21929
d87c681f
VS
219302010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
21933 rather than 0x1b.
21934 (grub_console_getkey): Use correct jae opcode rather than ja.
21935
219b3564
RM
219362010-10-12 Robert Millan <rmh@gnu.org>
21937
21938 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
21939 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
21940 variable. All references updated.
21941
21942 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
21943
20c6bb7e
VS
219442010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 Correctly distinguish mdraid flavours.
21947
21948 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
21949 (insert_array): New argument raid.
21950 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
21951 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
21952 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
21953
74baff84
VS
219542010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
21957 handling of special keys.
21958
3ef068df 219592010-10-02 Aleš Nesrsta <starous@volny.cz>
21960
c7980ad9
VS
21961 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
21962 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 21963
a9455194 219642010-10-02 Aleš Nesrsta <starous@volny.cz>
21965
c7980ad9
VS
21966 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
21967 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
21968 users updated.
a9455194 21969 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 21970 Use right endpoint when querying descriptor.
a9455194 21971
441cfe65
VS
219722010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 Clear out 0x80 color bit on EFI.
21975 Tested by: decoder
21976 Reported by: decoder and meta tech.
21977
21978 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
21979 (grub_console_setcolorstate): Clear out 0x80 bit.
21980 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
21981 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
21982 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
21983
bf26bcc4
VS
219842010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
21985
21986 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
21987 Set to "auto".
21988
6e3c515d
VS
219892010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
21992 mo_file after freeing.
21993
e6d983ba
VS
219942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
21997
74ccb5b5
VS
219982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
21999
22000 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22001 flags.
22002
17821956
VS
220032010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22006 usage.
22007
ee74fa48
VS
220082010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22011
22012 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22013 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22014 and terminfo.h when needed.
22015 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22016 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22017 (terminfo): Enable only on terminfokernel.
22018 (extcmd): Likewise.
22019 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22020 * include/grub/lib/arg.h: Likewise.
22021 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22022 incorrect usage of ->.
22023
aa438e68
VS
220242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22027 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22028
57994012
VS
220292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 Fix coreboot compilation.
22032
22033 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22034 Take VBE info into account even if only text is supported.
22035 (fill_vbe_info): Take into account the case when only VGA text
22036 is supported.
22037 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22038 on coreboot, multiboot and qemu.
22039
2a406611
VS
220402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22041
22042 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22043 debug messages.
22044 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22045
d33613fc
VS
220462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22049 parameters.
22050
44a1b432
VS
220512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22052
22053 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22054 if they were BSD-style.
22055
edde54e6
VS
220562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 * grub-core/boot/i386/pc/lnxboot.S: Replace
22059 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22060 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22061
b65830fa
VS
220622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 Write embedding zone using Reed-Solomon.
22065
22066 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22067 * grub-core/Makefile.am (rs_decoder.S): New target.
22068 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22069 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22070 (multiboot): Move to RS part.
22071 (post_reed_solomon): New label.
22072 (grub_boot_drive): Move to non-RS part since it's modified in memory
22073 on boot.
22074 Include rs_decoder.S.
22075 * grub-core/lib/reed_solomon.c: New file.
22076 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22077 New definition.
22078 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22079 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22080 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22081 * include/grub/partition.h (grub_partition_map): Change prototype of
22082 embed to allow returning additional sectors.
22083 * include/grub/reed_solomon.h: New file.
22084 * util/grub-setup.c (setup): Handle Reed-Solomon.
22085
0b4b227f
CW
220862010-09-28 Colin Watson <cjwatson@ubuntu.com>
22087
22088 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22089 i386 and x86-64 definedness tests.
22090
f772623b
YB
220912010-09-27 Yves Blusseau <blusseau@zetam.org>
22092
22093 Fix generation of kernel_syms.lst
22094
22095 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22096 ASM_PREFIX
22097
8e57a6ca
RM
220982010-09-26 Robert Millan <rmh@gnu.org>
22099
22100 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22101
22102 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22103 the pool is an array of devices, iterate through it and return the
22104 first device that passes a stat() test (instead of blindly returning
22105 the first one).
22106
f9130836
RM
221072010-09-26 Robert Millan <rmh@gnu.org>
22108
22109 Build fixes for GNU/kFreeBSD.
22110
22111 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22112 to programs that require ZFS conversion.
22113 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22114 kernels that don't have FLOPPY_MAJOR.
22115
96510faf
BC
221162010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22117
22118 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22119
449333eb
BC
221202010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22121
22122 Fix grub-emu build.
22123
22124 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22125 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22126 mdraid09 and mdraid1x.
22127
e1fd1939
CW
221282010-09-24 Colin Watson <cjwatson@ubuntu.com>
22129
22130 Re-enable grub-extras.
22131
22132 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22133 avoid confusing Automake. Run autogen only twice, once for the top
22134 level and once for grub-core. Add Makefile.util.def and
22135 Makefile.core.def from extra modules to the appropriate autogen
22136 invocations. If Makefile.common exists in an extra module, include
22137 it in both Makefile.util.am and grub-core/Makefile.core.am;
22138 similarly, include any Makefile.util.common file in Makefile.util.am
22139 and any Makefile.core.common file in grub-core/Makefile.core.am.
22140 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22141 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22142 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22143 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22144
22145 * gentpl.py (gvar_add): Turn GVARS into a set.
22146 (global_variable_initializers): Sort global variables on output.
22147 (vars_init): New function.
22148 (first_time): Likewise.
22149 (library): Ensure that non-global variable initialisations are
22150 emitted before the first time we emit code for a library block.
22151 Append to variables rather than setting them. Only emit
22152 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22153 each conditional path.
22154 (program): installdir() emits an Autogen macro, so must be passed to
22155 var_add rather than gvar_add.
22156 (data): Likewise.
22157 (script): Likewise.
22158 (rules): New function, centralising handling for different target
22159 types. Set up Guile association lists for first_time and vars_init,
22160 and send most output to a diversion so that variable initialisations
22161 can be emitted first.
22162 (module_rules): Use new rules function.
22163 (kernel_rules): Likewise.
22164 (image_rules): Likewise.
22165 (library_rules): Likewise.
22166 (program_rules): Likewise.
22167 (script_rules): Likewise.
22168 (data_rules): Likewise.
22169
22170 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22171
22172 * .bzrignore: Add contrib and grub-core/contrib. Remove
22173 grub-core/Makefile.gcry.am.
22174
1d12cf29
YB
221752010-09-24 Yves Blusseau <blusseau@zetam.org>
22176
22177 * grub-core/lib/LzFind.c: Add missing include.
22178 * grub-core/lib/LzmaEnc.c: Likewise.
22179 * grub-core/script/lexer.c: Likewise.
22180 * grub-core/script/yylex.l: Likewise.
22181 * util/grub-macho2img.c: Likewise.
22182 * util/grub-menulst2cfg.c: Likewise.
22183 * util/grub-mklayout.c: Likewise.
22184 * util/grub-mkpasswd-pbkdf2.c
22185 * util/grub-mkrelpath.c: Likewise.
22186 * util/resolve.c: Likewise.
22187
dd363028
BC
221882010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22189
22190 * Makefile.util.def (example_unit_test): Add
22191 grub-core/gnulib/libgnu.a.
22192
f5a109e2
GS
221932010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22194
22195 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22196
6d0fa83c
VS
221972010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22198
22199 Support xz compression on yeeloong.
22200
22201 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22202 * configure.ac: Check for LZMA.
22203 * grub-core/Makefile.core.def (xz_decompress): New target.
22204 (none_decompress): Likewise.
22205 * grub-core/boot/decompressor/minilib.c: New file.
22206 * grub-core/boot/decompressor/none.c: Likewise.
22207 * grub-core/boot/decompressor/xz.c: Likewise.
22208 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22209 * grub-core/kern/mips/cache_flush.S: Likewise.
22210 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22211 * grub-core/kern/mips/startup.S: Move first stage to ...
22212 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22213 nomacro.
22214 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22215 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22216 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22217 Allocate statically.
22218 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22219 Allocate statically or use scratch. Don't check CRC32.
22220 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22221 Allocate statically. Don't check CRC32.
22222 * include/grub/decompressor.h: New file.
22223 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22224 Removed.
22225 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22226 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22227 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22228 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22229 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22230 * util/grub-mkimage.c (grub_compression_t): New type.
22231 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22232 (image_target_desc): New field default_compression.
22233 (image_targets): Adjust yeeloong targets.
22234 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22235 (compress_kernel): New parameter comp.
22236 (generate_image): Likewise. Handle new compression case.
22237 (options): New option --compression
22238 (help): Likewise.
22239 (main): Handle new option.
22240
1b655af6
GS
222412010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22242
22243 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22244
8f03f0b5
CW
222452010-09-22 Colin Watson <cjwatson@ubuntu.com>
22246
22247 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22248 typo in __i386__ conditional.
22249
7835dfd3
VS
222502010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22253 include.
22254
e255597e
VS
222552010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22256
6d0fa83c 22257 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
22258
22259 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22260 new tags as supported.
22261 (acpiv2_size): New function.
22262 (grub_multiboot_get_mbi_size): Take new tags into account.
22263 (grub_multiboot_make_mbi): Add new tags.
22264 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 22265
6cc14051 222662010-09-21 Aleš Nesrsta <starous@volny.cz>
22267
22268 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22269 Added missing configuration of USB device.
22270
df7769d8
CW
222712010-09-21 Colin Watson <cjwatson@ubuntu.com>
22272
22273 * grub-core/normal/menu_entry.c (run): Make sure we always return
22274 a value.
22275
b031012d
CW
222762010-09-21 Colin Watson <cjwatson@ubuntu.com>
22277
22278 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22279 NumberOfPages is UINT64 according to the UEFI specification, not
22280 UINTN. Fix printf format.
22281
174de8f3
CW
222822010-09-21 Colin Watson <cjwatson@ubuntu.com>
22283
22284 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22285 `err' to grub_usb_err_t.
22286 Reported and tested by: KESHAV P.R.
22287
d7dbe923
CW
222882010-09-21 Colin Watson <cjwatson@ubuntu.com>
22289
22290 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22291 tpart non-const, so that we can assign to it. (Since this is a
22292 typedef, the constness refers to the pointer rather than what it
22293 points to.)
22294
8d5e2af3
CW
222952010-09-21 Colin Watson <cjwatson@ubuntu.com>
22296
22297 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22298 $(top_srcdir)/grub-core/gnulib as well as
22299 $(top_builddir)/grub-core/gnulib.
22300 Reported by: KESHAV P.R.
22301
5c527783
CW
223022010-09-21 Colin Watson <cjwatson@ubuntu.com>
22303
22304 * util/grub-install.in: Fix the bootloader ID option to be
22305 consistently --bootloader-id, not --bootloader_id.
22306 Reported by: KESHAV P.R.
22307
d309a16e
CW
223082010-09-21 Colin Watson <cjwatson@ubuntu.com>
22309
22310 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22311 check hash checksum." consistently translatable.
22312
b830cd16
YB
223132010-09-21 Yves Blusseau <blusseau@zetam.org>
22314
22315 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22316 $(top_builddir).
22317
c4fe27a8
CW
223182010-09-21 Colin Watson <cjwatson@ubuntu.com>
22319
22320 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22321 (GRUB_MOD_INIT): Register sha1sum command.
22322 (GRUB_MOD_FINI): Unregister sha1sum command.
22323
a4c1d277
YB
223242010-09-21 Yves Blusseau <blusseau@zetam.org>
22325
22326 Keep boot and grub directory names in sync with utils scripts
22327
22328 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22329 * config.h.in: Add previous macros.
22330 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22331 * util/grub-install.in: Use $bootdir and $grubdir variables.
22332
4eff79d2
CW
223332010-09-21 Colin Watson <cjwatson@ubuntu.com>
22334
22335 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22336 convert partition names to disk names if the new `convert' parameter
22337 is set.
22338 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22339 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22340 disk in its own right. This can happen with Xen disk images.
22341
934d7e44
YB
223422010-09-21 Yves Blusseau <blusseau@zetam.org>
22343
22344 * util/grub-editenv.c: Update strings to avoid warnings when generating
22345 grub.pot file.
22346 * util/grub-setup.c: Likewise.
934d7e44 22347
df3367cc
VS
223482010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22349
22350 * configure.ac: Change version to 1.99~beta0.
22351
77a94e98
VS
223522010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22355 Add BADRAM.
22356 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22357 Likewise.
22358 * include/multiboot.h: Resynced with specification.
22359 * include/multiboot2.h: Likewise.
22360
269004c1
CW
223612010-09-21 Colin Watson <cjwatson@ubuntu.com>
22362
22363 Fix po directory handling.
22364
22365 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22366 * grub-core/gnulib/Makefile.am: Import gettext module.
22367 * m4/gnulib-cache.m4: Likewise.
22368 * m4/gnulib-comp.m4: Likewise.
22369 * m4/gettext.m4: New file, from gnulib.
22370 * m4/glibc2.m4: Likewise.
22371 * m4/iconv.m4: Likewise.
22372 * m4/intdiv0.m4: Likewise.
22373 * m4/intl.m4: Likewise.
22374 * m4/intldir.m4: Likewise.
22375 * m4/intlmacosx.m4: Likewise.
22376 * m4/intmax.m4: Likewise.
22377 * m4/inttypes-pri.m4: Likewise.
22378 * m4/lcmessage.m4: Likewise.
22379 * m4/lib-ld.m4: Likewise.
22380 * m4/lib-link.m4: Likewise.
22381 * m4/lib-prefix.m4: Likewise.
22382 * m4/lock.m4: Likewise.
22383 * m4/nls.m4: Likewise.
22384 * m4/po.m4: Likewise.
22385 * m4/printf-posix.m4: Likewise.
22386 * m4/progtest.m4: Likewise.
22387 * m4/threadlib.m4: Likewise.
22388 * m4/uintmax_t.m4: Likewise.
22389 * m4/visibility.m4: Likewise.
22390 * po/Makefile.am: Remove.
22391 * po/Makefile.in.in: New file, from gettext.
22392 ($(DOMAIN).pot-update): Support POTFILES-shell.
22393 * po/Makevars: New file.
22394 * po/POTFILES-shell: Rename to ...
22395 * po/POTFILES-shell.in: ... this. Update.
22396 * po/POTFILES: Rename to ...
22397 * po/POTFILES.in: ... this. Update.
22398 * po/Rules-quot: New file, from gettext.
22399 * po/boldquot.sed: Likewise.
22400 * po/en@boldquot.header: Likewise.
22401 * po/en@quot.header: Likewise.
22402 * po/insert-header.sin: Likewise.
22403 * po/quot.sed: Likewise.
22404 * po/remove-potcdate.sin: Likewise.
22405
3e0fa5d0
VS
224062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22409
ade9bd66
VS
224102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * util/grub.d/20_linux_xen.in: Use submenus.
22413
fc55cc4c
VS
224142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22415
22416 Support submenus.
22417
22418 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22419 parameter submenu. All users updated.
22420 * grub-core/normal/main.c (free_menu): Rename to ...
22421 (grub_normal_free_menu): ... this. Made global.
22422 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22423 if requested.
22424 * grub-core/normal/menu_entry.c (screen): New field submenu.
22425 (make_screen): Set submenu.
22426 (run): Open new context if requested.
22427 * include/grub/menu.h (grub_menu_entry): New field submenu.
22428 * include/grub/normal.h (grub_normal_free_menu): New proto.
22429
600cedf7
VS
224302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22431
22432 Menu entries extractor.
22433
22434 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22435 variants.
22436 (GRUB_MOD_INIT): Register new variants.
22437 (GRUB_MOD_FINI): Unregister new variants.
22438 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22439 into grub_cmd_legacy_source.
22440 (grub_cmd_legacy_source): Implement extractor variants.
22441 (GRUB_MOD_INIT): Register new variants.
22442 (GRUB_MOD_FINI): Unregister new variants.
22443 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22444 as an extractor.
22445 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22446 search as an extractor.
22447 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22448 test as an extractor.
22449 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22450 as an extractor.
22451 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22452 (grub_env_new_context): New function.
22453 (grub_env_context_open): Likewise.
22454 (grub_env_extractor_open): Likewise.
22455 (grub_env_extractor_close): Likewise.
22456 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22457 grub_extractor_level.
22458 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
22459 * include/grub/env.h (grub_env_extractor_open): New proto.
22460 (grub_env_extractor_close): Likewise.
22461 * include/grub/normal.h (grub_extractor_level): New external variable.
22462
7bda3a87
VS
224632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 Make cutmem accept a region specification.
22466 Suggested by: Samuel Thibault
22467
22468 * grub-core/mmap/mmap.c (parsemem): New function.
22469 (grub_cmd_cutmem): Handle new arguments.
22470
2ea57f88
VS
224712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 New command cutmem.
22474
22475 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
22476 (GRUB_MOD_INIT): Register new command.
22477 (GRUB_MOD_FINI): Unregister new command.
22478
74342e31
VS
224792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22480
22481 Support some annoying BSD and Minix subpartitions.
22482
22483 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
22484 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
22485 Properly handle concatenation.
22486 * grub-core/kern/device.c (grub_device_iterate): Likewise.
22487 * grub-core/normal/completion.c (iterate_partition): Likewise.
22488 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
22489 contain partition. All users updated.
22490 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
22491 struct.
22492 (grub_openbsdlabel_partition_map): Likewise.
22493 (bsdlabel_partition_map_iterate): Rename to ..
22494 (iterate_real): ... this. New arguments sector, freebsd and pmap.
22495 (bsdlabel_partition_map_iterate): New function.
22496 (netopenbsdlabel_partition_map_iterate): Likewise.
22497 (netbsdlabel_partition_map_iterate): Likewise.
22498 (openbsdlabel_partition_map_iterate): Likewise.
22499 (GRUB_MOD_INIT): Register new partmaps.
22500 (GRUB_MOD_FINI): Unregister new partmaps.
22501 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
22502 (grub_partition_msdos_iterate): ... this. All users updated.
22503 Don't support embedding other than in a minix partition.
22504 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
22505 proto.
22506 * include/grub/partition.h (grub_partition): New field msdostype.
22507 * util/grub-install.in: Handle openbsd and netbsd types being in
22508 part_bsd module.
22509
1e8d555b
VS
225102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
22513
22514 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
22515 * grub-core/Makefile.core.def (mdraid): Renamed to ...
22516 (mdraid09): ... this.
22517 (mdraid1x): New module.
22518 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
22519 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
22520
899d8af4
VS
225212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22522
22523 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
22524 vsprintf.
22525
40901acd
CW
225262010-09-20 Colin Watson <cjwatson@ubuntu.com>
22527
22528 * grub-core/commands/efi/lsefimmap.c: Correct header.
22529 * NEWS: Update.
22530
dfe3b247
CW
225312010-09-20 Colin Watson <cjwatson@ubuntu.com>
22532
22533 * util/grub-editenv.c (argp_parser): Don't pass translated strings
22534 as printf format strings; the translations might contain '%' which
22535 could cause a crash.
22536 (main): Likewise.
22537 * util/grub-fstest.c (argp_parser): Likewise.
22538 * util/grub-setup.c (argp_parser): Likewise.
22539 (main): Likewise.
22540
3286a4b4
VS
225412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 Use argp in grub-fstest.
22544
22545 * util/grub-fstest.c: Don't include getopt.h.
22546 Include argp.h.
22547 (root): New variable.
22548 (args_count): Likewise.
22549 (nparm): Likewise.
22550 (num_disks): Likewise.
22551 (images): Likewise.
22552 (cmd): Likewise.
22553 (debug_str): Likewise.
22554 (args): Likewise.
22555 (options): Transformed to argp.
22556 (usage): Removed.
22557 (main): Split argument parsing into ...
22558 (argp_parser): ... this. Changed to argp format.
22559 (argp): New variable.
22560 (main): Use argp_parse.
22561
3dccbe4b
TG
225622010-09-20 Tristan Gingold <gingold@free.fr>
225632010-09-20 Robert Millan <rmh.grub@aybabtu.com>
225642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * grub-core/commands/efi/lsefimmap.c: New file.
22567 * grub-core/Makefile.core.def (lsefimmap): New module.
22568 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
22569
38c259a7
VS
225702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 Pause the execution (10s max) if any errors are displayed so the user
22573 has a chance to see them.
22574
22575 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
22576 (grub_print_error): Increment grub_err_printed_errors.
22577 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
22578 execution if any errors were displayed.
22579 (show_menu): Remove old code for pause.
22580 * grub-core/normal/menu_entry.c (run): Likewise.
22581 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
22582 users updated.
22583 (grub_normal_get_char_counter): Likewise.
22584 * include/grub/err.h (grub_err_printed_errors): New external variable.
22585 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
22586
f218b09c
VS
225872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 Support multiboot VBE info.
22590
22591 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22592 Take VBE info into account.
22593 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
22594 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22595 Call fill_vbe_info when appropriate.
22596 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
22597 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
22598 as supported.
22599 (grub_multiboot_get_mbi_size): Take new tags into account.
22600 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
22601 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
22602 Call fill_vbe_tag when appropriate.
22603 (grub_multiboot_make_mbi): Properly align tags.
22604 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
22605 function.
22606 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
22607 proto.
22608 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
22609
a9cc5438
VS
226102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 Suport manual terminal geometry specification.
22613
22614 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
22615 Save state in grub_ofconsole_terminfo_output.
22616 (grub_ofconsole_term): Use grub_terminfo_getwh.
22617 (grub_ofconsole_getwh): Removed.
22618 * grub-core/term/serial.c (grub_serial_getwh): Removed.
22619 (grub_serial_term): Use grub_terminfo_getwh.
22620 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
22621 (options): New struct.
22622 (OPTION_*): New enum.
22623 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
22624 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
22625 width and height.
22626 (grub_terminfo_getwh): New proto.
22627 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
22628
1a8fed20
VS
226292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 Handle legacy "terminal" command.
22632
22633 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
22634 and FLAG_TERMINAL.
22635 (legacy_commands): Add terminal and title.
22636 (grub_legacy_parse): Handle terminal. Simplify title handling.
22637
41e9c57d
VS
226382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
22641 parameters overflow.
22642
61c874c5
CW
226432010-09-20 Colin Watson <cjwatson@ubuntu.com>
22644
22645 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
22646 widthspec.h.
22647
22648 * docs/grub.texi (Shell-like scripting): Document `!'.
22649 (Network): Simplify using new i386-pc-pxe format. Mention
22650 grub-mknetdir.
22651
22652 * NEWS: Update.
22653
943682b4
CW
226542010-09-20 Colin Watson <cjwatson@ubuntu.com>
22655
22656 * Makefile.am (SUBDIRS): Restore "."; it's important to force
22657 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
22658 when needed.
22659
6d3d698d
CW
226602010-09-20 Colin Watson <cjwatson@ubuntu.com>
22661
22662 * grub-core/commands/efi/lsefisystab.c: Correct header.
22663 * grub-core/commands/efi/lssal.c: Likewise.
22664 * grub-core/commands/testload.c: Likewise.
22665
c982589f
CW
226662010-09-20 Colin Watson <cjwatson@ubuntu.com>
22667
22668 * util/grub-mkrescue.in: Add explicit root argument to --set to
22669 prevent the UUID being interpreted as an argument to --set (matches
22670 previous change to prepare_grub_to_access_device).
22671
a63c31b6
CW
226722010-09-20 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
22675 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
22676 the verbosity of later #ifs.
22677 (find_partition_start): Define this function on FreeBSD too.
22678 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
22679 function.
22680 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
22681 on FreeBSD.
22682
6439b8ee
YB
226832010-09-20 Yves Blusseau <blusseau@zetam.org>
22684
22685 * util/grub-editenv.c: Use argp instead of getopt.
22686
c5930ec8
YB
226872010-09-20 Yves Blusseau <blusseau@zetam.org>
22688
22689 * util/grub-setup.c: Use argp instead of getopt.
22690
15c69261
YB
226912010-09-20 Yves Blusseau <blusseau@zetam.org>
22692
22693 Use gnulib-tool to create gnulib source files.
22694
22695 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
22696 grub-core/gnulib directories
22697 * .bzignore: Add **/.deps and autogenerated gnulib files
22698 * configure.ac: Assign auxiliary directory to build-aux, add invocation
22699 of gnulib macros, add grub-core/gnulib/Makefile
22700 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
22701 include m4 directory to aclocal.
22702 * Makefile.util.def: Remove direct compilation of gnulib source files
22703 and use the new grub-core/gnulib/libgnu.a.
22704 * build-aux/config.rpath: move config.rpath from top directory to
22705 build-aux
22706 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
22707 in gnulib headers
22708 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
22709 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
22710 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
22711 header.
22712 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
22713 string.
22714
e511c9f5
YB
227152010-09-20 Yves Blusseau <blusseau@zetam.org>
22716
22717 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
22718 grub-core/genmod.sh and grub-core/gensyminfo.sh
22719
c2dede05
BC
227202010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
22721
22722 Add a test for echo command options.
22723
22724 * tests/grub_cmd_echo.in: New test.
22725 * Makefile.util.def: Rules for new test.
22726
c55f5018
SJ
227272010-09-20 Szymon Janc <szymon@janc.net.pl>
22728
22729 Remove crc.mod and move crc command to hashsum.mod.
22730 Remove lib/crc.c - users updated to use gcrypt implementation.
22731
22732 * grub-core/commands/crc.c: Removed.
22733 * grub-core/Makefile.core.def (crc): Module removed.
22734 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
22735 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
22736 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
22737 * grub-core/lib/crc.c: Removed.
22738 * include/grub/lib/crc.h: Removed.
22739 * Makefile.util.def (crc): Remove lib/crc.c
22740 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
22741 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
22742 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
22743 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
22744 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
22745 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
22746
e0337366
VS
227472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22748
22749 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
22750
742f9232
VS
227512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 Split config.h for util and core.
22754
22755 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
22756 (ADDR32): Likewise.
22757 (DATA32): Likewise.
22758 (BSS_START_SYMBOL): Likewise.
22759 (END_SYMBOL): Likewise.
22760 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
22761 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
22762 * config.h.in: New file.
22763 * configure.ac: Use config-util.h as config define file.
22764 Rename MACHINE into GRUB_MACHINE. All users updated.
22765 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
22766 updated.
22767 (NESTED_FUNC_ATTR): Likewise.
22768 Substitue new variables.
22769 (COND_HAVE_ASM_USCORE): New conditional.
22770 * grub-core/Makefile.am (ASM_PREFIX): New variable.
22771 (kernel_syms.lst): Use ASM_PREFIX.
22772 * grub-core/kern/emu/console.c: Include config-util.h.
22773 * grub-core/kern/emu/misc.c: Likewise.
22774 * grub-core/kern/emu/mm.c: Likewise.
22775 * include/grub/emu/misc.h: Likewise.
22776 * include/grub/libgcc.h: Likewise.
22777
39feb0e8
VS
227782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22779
22780 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
22781 constants usage.
22782 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
22783 Fix GRUB_TERM_KEY_* constants usage.
22784 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
22785
9af6dac3
VS
227862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
22789 print pointer.
22790 * grub-core/bus/usb/uhci.c: Remove empty define.
22791 (grub_uhci_check_transfer): Add missing cast.
22792 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
22793 print pointer.
22794 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
22795 PRIuGRUB_SIZE.
22796 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
22797
d6d94820
VS
227982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22799
22800 * grub-core/Makefile.core.def (legacycfg): Add
22801 lib/i386/pc/vesa_modes_table.c on emu.
22802
3572f2b6
BC
228032010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22804
22805 Reduce number of temporary files generated by build system.
22806
22807 * grub-core/gencmdlist.sh: Removed.
22808 * grub-core/genfslist.sh: Removed.
22809 * grub-core/genhandlerlist.sh: Removed.
22810 * grub-core/genmodsrc.sh: Removed.
22811 * grub-core/genpartmaplist.sh: Removed.
22812 * grub-core/genparttoollist.sh: Removed.
22813 * grub-core/gentermiinallist.sh: Removed.
22814 * grub-core/genvideolist.sh: Removed.
22815
22816 * grub-core/genmod.sh.in: New file.
22817 * grub-core/gensyminfo.sh.in: New file.
22818
22819 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
22820 * conf/Makefile.extra-dist: Update with new files.
22821 * gentpl.py: Remove rules related to unnecessary temporary files.
22822 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
22823 and und-* files.
22824 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
22825 genmod.sh scripts.
22826 * grub-core/bus/usb/uhci.c: Remove empty #define.
22827 * grub-core/genmoddep.awk: Updated with new syminfo format.
22828 * util/bash-completion.d/Makefile.am: Add config.log to
22829 CLEANFILES.
22830
c836b030
YB
228312010-09-19 Yves Blusseau <blusseau@zetam.org>
22832
22833 * Makefile.util.def: Add forgotten $(LIBINTL) library.
22834
2f4e8053
BC
228352010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
22836
22837 * util/grub-mkconfig.in: Check the config script for syntax errors
22838 before saving.
22839
75831c34
CW
228402010-09-19 Colin Watson <cjwatson@ubuntu.com>
228412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 * Makefile.util.def (grub-install): Use util/grub-install.in on all
22844 platforms.
22845 * util/grub-install.in: Add EFI and IEEE1275 support.
22846 * util/i386/efi/grub-install.in: Removed.
22847 * util/ieee1275/grub-install.in: Likewise.
22848
eaf41b25
VS
228492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
22852 (grub_cmd_cmosclean): Likewise.
22853 (GRUB_MOD_INIT): Register command cmosclean.
22854 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
22855 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
22856
1a9130dd
CPE
228572010-09-18 Carles Pina i Estany <carles@pina.cat>
228582010-09-18 Aleš Nesrsta <starous@volny.cz>
228592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22860
22861 Add keyboard layouts support.
22862
22863 * Makefile.util.def (grub-mklayout): New file.
22864 (grub-kbdcomp): New script.
22865 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
22866 Add keyboard_layouts.h.
22867 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
22868 commands/boot.c on yeeloong.
22869 (keylayouts): New module.
22870 * grub-core/bus/usb/ohci.c
22871 * grub-core/bus/usb/uhci.c
22872 * grub-core/bus/usb/usbhub.c (rescan): New variable.
22873 (grub_usb_add_hub): Poll interrupt pipe for device handling.
22874 (attach_root_port): Likewise.
22875 (poll_nonroot_hub): Likewise.
22876 (grub_usb_poll_devices): Likewise.
22877 (detach_device): Close transfer.
22878 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
22879 function.
22880 (grub_usb_bulk_setup_readwrite): Likewise.
22881 (grub_usb_bulk_finish_readwrite): Likewise.
22882 * grub-core/commands/keylayouts.c: New file.
22883 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
22884 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
22885 aliases.
22886 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
22887 support scancode 2.
22888 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
22889 * include/grub/keyboard_layouts.h: New file.
22890 * util/grub-mklayout.c: New file.
22891 * util/grub-kbdcomp.in: Likewise.
22892
a1d84a5e
VS
228932010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22894
22895 Unify memory types.
22896
22897 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
22898 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
22899 types.
22900 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
22901 (grub_upper_mem): Likewise.
22902 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
22903 * include/grub/memory.h (grub_memory_type_t): New enum.
22904 All users updated.
22905
9696382e
VS
229062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 * grub-core/Makefile.core.def (lsapm): New module.
22909 * grub-core/commands/i386/pc/lsapm.c: New file.
22910 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
22911 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
22912 Likewise.
22913 * include/grub/i386/pc/apm.h: New file.
22914 * include/multiboot.h (multiboot_apm_info): New struct.
22915
229162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
22917
22918 GRUB-legacy configuration file support.
22919
22920 * Makefile.util.def (grub-menulst2cfg): New util.
22921 * docs/man/grub-menulst2cfg.h2m: New file.
22922 * grub-core/Makefile.core.def (legacycfg): New module.
22923 * grub-core/commands/legacycfg.c: New file.
22924 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
22925 (grub_normal_add_menu_entry): ... this.
22926 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
22927 (grub_normal_set_password): ...this.
22928 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
22929 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
22930 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
22931 * grub-core/lib/legacy_parse.c: New file.
22932 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
22933 * include/grub/i386/pc/vesa_modes_table.h: New file.
22934 * include/grub/legacy_parse.h: Likewise.
22935 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
22936 * util/grub-menulst2cfg.c: New file.
22937
bf8d1338
CW
229382010-09-17 Colin Watson <cjwatson@ubuntu.com>
22939
22940 * grub-core/kern/emu/hostdisk.c
22941 (convert_system_partition_to_system_disk): Initialise node.
22942
9c0bad2e
CW
229432010-09-17 Colin Watson <cjwatson@ubuntu.com>
22944
22945 * grub-core/kern/emu/hostdisk.c
22946 (convert_system_partition_to_system_disk): Fix devmapper memory pool
22947 leak.
22948 Reported and based on patch by: Modestas Vainius.
22949
a939d135
CW
229502010-09-17 Colin Watson <cjwatson@ubuntu.com>
22951
22952 Fix DM-RAID probing with recent versions of device-mapper udev
22953 rules.
22954
22955 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
22956 canonicalise device paths under /dev/mapper/.
22957 (convert_system_partition_to_system_disk): Compare the
22958 uncanonicalised path to /dev/mapper/ rather than the canonicalised
22959 path, since device nodes under /dev/mapper/ are often symlinks.
22960
0f7ee3c9
YB
229612010-09-17 Yves Blusseau <blusseau@zetam.org>
22962
22963 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
22964
10854d0d
YB
229652010-09-16 Yves Blusseau <blusseau@zetam.org>
22966
22967 * configure.ac: Avoid some annoying error messages if freetype-config
22968 program is not found.
22969
108538d8
CW
229702010-09-16 Colin Watson <cjwatson@ubuntu.com>
22971
22972 Support RAID on virtio devices, and others.
22973
22974 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
22975 Rename to ...
22976 [__MINGW32__] (grub_find_device): ... this.
22977 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
22978 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
22979 reasonable default if dir is NULL.
22980 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
22981 ...
22982 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
22983 (grub_guess_root_device): Update callers.
22984 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
22985
22986 * util/raid.c (grub_util_getdiskname): Remove.
22987 (grub_util_raid_getmembers): Use grub_find_device rather than
22988 grub_util_getdiskname.
22989
e5bfc130
CW
229902010-09-16 Colin Watson <cjwatson@ubuntu.com>
22991
22992 * docs/grub.texi (serial): Remove obsolete comment about GRUB
22993 needing to be compiled with serial support.
22994 (ls): Indicate that multiple files are accepted.
22995 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
22996 indicate that multiple files are accepted.
22997
be458ae2
CW
229982010-09-16 Colin Watson <cjwatson@ubuntu.com>
22999
23000 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23001 libgrub_a_init.c, and util/bash-completion.d/grub.
23002
cb731b5e
VS
230032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 * util/grub-setup.c (setup): Fix incorrect container semantics.
23006
35139e8a
VS
230072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23008
23009 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23010 misusage.
23011 Reported by: J. Nick Terry
23012
e50fca4a
VS
230132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23014
23015 Move embedding routines to partmap sources files.
23016
23017 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23018 [GRUB_UTIL]: New variable.
23019 (gpt_partition_map_iterate): Set part.parent.
23020 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23021 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23022 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23023 New function.
23024 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23025 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23026 (grub_partition_map) [GRUB_UTIL]: New field embed.
23027 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23028 (setup): Use ->embed.
23029
f00478b7
VS
230302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23033 function.
23034 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23035 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23036
2b94e3ff
YB
230372010-09-15 Yves Blusseau <blusseau@zetam.org>
23038
23039 Add function to get completions from usage.
23040
23041 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23042 completions from usage. Use LC_ALL=C to get options properly.
23043
2e04a006
VS
230442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 * grub-core/gnulib/basename-lgpl.c: Imported.
23047 * grub-core/gnulib/basename.c: Likewise.
23048 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23049 * grub-core/gnulib/dirname.c: Likewise.
23050 * grub-core/gnulib/dirname.h: Likewise.
23051 * grub-core/gnulib/stripslash.c: Likewise.
23052
5dcdf93a
VS
230532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 * grub-core/gnulib/error.c: Resynced.
23056 * grub-core/gnulib/getopt.c: Likewise.
23057 * grub-core/gnulib/getopt_int.h: Likewise.
23058 * grub-core/gnulib/regex.h: Likewise.
23059 * grub-core/gnulib/regex_internal.c: Likewise.
23060 * grub-core/gnulib/regex_internal.h: Likewise.
23061
014f47b7
SJ
230622010-09-15 Szymon Janc <szymon@janc.net.pl>
23063
23064 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23065 CRC calculations and validity checks.
23066 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23067 calculations.
23068
dd521a4a
SJ
230692010-09-15 Szymon Janc <szymon@janc.net.pl>
23070
23071 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23072
79c4eeb9
VS
230732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 Fix incorrect echo options handling.
23076 Reported by: Yves Blusseau.
23077
23078 * include/grub/command.h (grub_command_flags_t): New flags
23079 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23080 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23081 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23082
ed80f7d5
VS
230832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23084
23085 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23086 users updated.
23087 (GRUB_COMMAND_FLAG_MENU): Likewise.
23088 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23089 (GRUB_COMMAND_FLAG_TITLE): Removed.
23090 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23091 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23092 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23093 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23094 (grub_command_flags_t): New enum. All users updated.
23095
5fe7620a
SG
230962010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23097
23098 Fix solaris compilation.
23099
23100 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23101 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23102 (grub-emu-list): Likewise.
23103
545b752f
VS
231042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 Remove deprecated root command.
23107
23108 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23109 updated.
23110
6c1a338c
VS
231112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 * util/i386/pc/grub-setup.c: Merge this ...
23114 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23115 * util/grub-setup.c: ... into this.
23116 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23117 New struct.
23118
231192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23120
23121 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23122 possible.
23123
d2ea4551
VS
231242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23125
23126 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23127 allocate p.
23128
3c3b5040
VS
231292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23132 explicit root argument to set to prevent UUID to be interpreted as
23133 argument to set.
23134
b71c3fae
VS
231352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23138
275433e6
VS
231392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23140
23141 Don't export grub_gate_a20.
23142
23143 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23144 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23145 to ...
23146 (grub_gate_a20): ... this. All users updated.
23147 * include/grub/i386/pc/init.h: Removed. All users updated.
23148
a5dbb1f1
VS
231492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23150
23151 Create euro.pf2 which supports most European languages.
23152
23153 * Makefile.am (grubdata_DATA): Add euro.pf2.
23154 (euro.pf2): New target.
23155 (CLEANFILES): Add euro.pf2.
23156
62a747cb
VS
231572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * configure.ac: Disable emu-usb by default to prevent inadvertent
23160 device takeover.
23161
608e43b1
VS
231622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23163
23164 Disable usbserial on grub-emu since our libusb code isn't good enough
23165 yet.
23166
23167 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23168 (usbserial_pl2303): Likewise.
23169 (usbserial_ftdi): Likewise.
23170
94564f81
VS
231712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * include/grub/disk.h (grub_disk): Remove has_partitions.
23174 All users updated.
23175 * disk/loopback.c (grub_loopback): Remove has_partitions.
23176 All users updated.
23177 (options): Remove partitions. All users updated.
23178 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23179 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23180 actual partition table is found.
23181
3352800b
VS
231822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 Remove readability checks (too many false negatives).
23185
23186 * util/grub-install.in: Remove readability checks.
23187 * util/grub-mkconfig.in: Likewise.
23188 * util/grub.d/10_hurd.in: Likewise.
23189 * util/grub.d/10_kfreebsd.in: Likewise.
23190 * util/grub.d/10_linux.in: Likewise.
23191 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23192 way.
23193
2419f17a
VS
231942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 Enable acpi shutdown on all ACPI platforms.
23197
23198 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23199 on coreboo, multiboot and EFI.
23200 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23201 (grub_acpi_halt): Likewise.
23202 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23203 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23204 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23205 * grub-core/lib/i386/halt.c (grub_halt)
23206 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23207
0575c7c3
VS
232082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23209
23210 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23211 context.
23212
54ac3cd1
VS
232132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23216 * grub-core/video/efi_uga.c: Likewise.
23217
b2a30ac5
VS
232182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23219
23220 Filter devaliases and never open same device twice.
23221
23222 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23223 (last_ihandle): Likewise.
23224 (ofdisk_hash_ent): New member shortest.
23225 (ofdisk_hash_add): Add canonical path too.
23226 (scan): New function.
23227 (grub_ofdisk_iterate): Iterate over hashed entries.
23228 (compute_dev_path): Don't add :0.
23229 (grub_ofdisk_open): Don't really open the disk.
23230 (grub_ofdisk_close): Avoid closing unrelated disk.
23231 (grub_ofdisk_read): Implement reopen logic.
23232 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23233 New function.
23234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23235 New proto.
23236
fb53b340
VS
232372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 Fix sparc64.
23240
23241 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23242 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23243 right address. Add sparc64_ieee1275_ldflags.
23244 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23245 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23246 to grub_host_to_target_addr
23247 (load_image): Likewise.
23248
f452b040
VS
232492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 * grub-core/normal/completion.c (complete_file): Handle device
23252 containing slash.
23253 Fix based on patch by Doug Nazar.
23254
9b5b2541
VS
232552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23256
23257 grub-mknetdir script.
23258
23259 * Makefile.util.def (grub-mknetdir): New module.
23260 * tests/util/grub-shell.in: Support boot=net
23261 * util/grub-mknetdir.in: New file.
23262
9d2be652
VS
232632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 videoinfo on non-vbe.
23266
23267 * grub-core/Makefile.core.def (vbeinfo): Removed.
23268 (vbetest): Removed.
23269 (videoinfo): New module.
23270 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23271 * grub-core/commands/i386/pc/vbetest.c: Removed.
23272 * grub-core/commands/videoinfo.c: New file.
23273 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23274 specification.
23275 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23276 as vbetest.
23277 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23278 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23279 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23280 mode_number. New parameter mode. All users updated.
23281 (grub_video_gop_iterate): New function.
23282 (grub_video_efi_gop): New member iterate.
23283 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23284 (grub_vbe_set_video_mode): Remove setting useless fields.
23285 (vbe2videoinfo): New function.
23286 (grub_video_vbe_iterate): Likewise.
23287 (grub_video_vbe_setup): Use vbe2videoinfo.
23288 (grub_video_vbe_print_adapter_specific_info): New function.
23289 (grub_video_vbe_adapter): New fields iterate and
23290 print_adapter_specific_info.
23291 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23292 All users updated.
23293 (grub_video_mode_info): New field mode_number.
23294 (grub_video_adapter): New fields iterate and
23295 print_adapter_specific_info.
23296
179503f5
TG
232972010-09-13 Tristan Gingold <gingold@free.fr>
232982010-09-13 Robert Millan <rmh.grub@aybabtu.com>
232992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 * grub-core/commands/efi/lsefisystab.c: New file.
23302 * grub-core/commands/efi/lssal.c: Likewise.
23303 * grub-core/Makefile.core.def (lsacpi): New module.
23304 (lsefisystab): Likewise.
23305 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23306 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23307 (grub_efi_sal_system_table): New struct.
23308 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23309 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23310 (grub_efi_sal_system_table_platform_features): Likewise.
23311 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23312 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23313 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23314 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23315
cf9827de
VS
233162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 Support explicit user claim that a device is BIOS-visible.
23319
23320 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23321 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23322 * grub-core/kern/emu/hostdisk.c
23323 (convert_system_partition_to_system_disk): Support mdX.
23324 (find_system_device): New parameter add. All users updated.
23325 (grub_util_biosdisk_is_present): New function.
23326 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23327 proto.
23328
53f0eb1f
VS
233292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23330
23331 Search hints support.
23332
23333 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23334 All users updated.
23335
b23ffd70
YB
233362010-09-13 Yves Blusseau <blusseau@zetam.org>
23337
23338 Bash completion script for util commands
23339
23340 * Makefile.am: Add util/bash-completion.d directory
23341 * configure.ac: Likewise.
23342 * util/bash-completion.d/Makefile.am: New file.
23343 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23344
d547dc28
VS
233452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23346
23347 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23348 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23349 Reported by: Yves Blusseau.
23350
2fc8ccb9
VS
233512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23354 partition size and offset.
23355
d8a84076
VS
233562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23359
84fb3b3d
VS
233602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23363
768ec2e2
VS
233642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23365
23366 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23367 (grub_xvasprintf): Likewise.
23368
4870900f
VS
233692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23370
23371 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23372
faca6bec
VS
233732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23374
23375 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23376 args ending with NULL.
23377
233782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
23379
23380 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23381 pointer.
23382
3c70f225
SJ
233832010-09-11 Szymon Janc <szymon@janc.net.pl>
23384
23385 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23386
4df7996d
VS
233872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23388
23389 Shutdown using ACPI.
23390
23391 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23392 * grub-core/commands/acpihalt.c: New file.
23393 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23394 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23395 (grub_acpi_halt): New proto.
23396 (GRUB_ACPI_SLP_EN): New const.
23397 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23398 (GRUB_ACPI_OPCODE_*): New enum.
23399 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23400
126b4c32
TG
234012010-09-11 Tristan Gingold <gingold@free.fr>
234022010-09-11 Robert Millan <rmh.grub@aybabtu.com>
234032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 * commands/lsacpi.c: New file.
23406 * grub-core/Makefile.core.def (lsacpi): New module.
23407 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23408 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23409 (grub_acpi_madt_entry_header): New struct.
23410 (grub_acpi_madt): Likewise.
23411 (grub_acpi_madt_entry_interrupt_override): Likewise.
23412 (grub_acpi_madt_entry_sapic): Likewise.
23413 (grub_acpi_madt_entry_lsapic): Likewise.
23414 (grub_acpi_madt_entry_platform_int_source): Likewise.
23415 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23416 (PRIuGRUB_UINT32_T): Likewise.
23417 (PRIxGRUB_UINT64_T): Likewise.
23418
1aa4fe88
VS
234192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 Implement loading palette on ieee1275_fb.
23422
23423 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23424 (have_setcolors): Likewise.
23425 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23426 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23427 (grub_video_ieee1275_set_palette): Implement.
23428
25761e13
VS
234292010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
234302010-09-11 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * util/grub-install.in (grub_partition): New variable.
23433 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23434 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23435 Fixes a bug reported by Yves Blusseau.
23436
050abaea
VS
234372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 Fix emu on mipsel.
23440
23441 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23442 =grub_cpu_flush_cache on all mips and not only yeeloong.
23443 * configure.ac (COND_mips): New conditional.
23444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23445 platforms.
23446 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23447 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23448 [GRUB_LINKER_HAVE_INIT]: New function.
23449 (grub_emu_post_init): Likewise.
23450 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23451 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23452 * include/grub/cache.h (_mips): Include mips/cache.h.
23453 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
23454 LVM and RAID prototypes.
23455 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
23456 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
23457 function.
23458
5ed7d816
CW
234592010-09-10 Colin Watson <cjwatson@ubuntu.com>
23460
23461 * util/grub-install.in: Don't try to verify core.img until after
23462 running grub-mkimage to create it.
23463
90367e04
RM
234642010-09-10 Robert Millan <rmh@gnu.org>
23465
23466 * util/grub.d/10_hurd.in: Add misc readability checks.
23467 * util/grub.d/10_kfreebsd.in: Likewise.
23468 * util/grub.d/10_linux.in: Likewise.
23469
c452fa66
CW
234702010-09-10 Colin Watson <cjwatson@ubuntu.com>
23471
23472 * util/grub-install.in: ${imgext} won't be defined here until the
23473 install branch is merged. For the meantime, only verify core.img on
23474 i386-pc and sparc64-ieee1275 platforms.
23475
c38fe9f4
RM
234762010-09-10 Robert Millan <rmh@gnu.org>
23477
23478 Solaris support in grub_find_zpool_from_dir(). Thanks
23479 Seth Goldberg for referring to getextmntent() facility.
23480
23481 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
23482 `sys/mkdev.h'.
23483 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
23484 `<sys/mnttab.h>'.
23485 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
23486 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
23487 method for finding zpool name.
23488
905f7773
CW
234892010-09-10 Colin Watson <cjwatson@ubuntu.com>
23490
23491 grub-fstest needs the host and hostfs modules while other utilities
23492 actively require those modules to be absent, so grub-fstest needs
23493 its own initialisation and finalisation code.
23494
23495 * Makefile.am (grub_fstest.pp): New target.
23496 (grub_fstest_init.lst): Likewise.
23497 (grub_fstest_init.c): Likewise.
23498 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
23499
fb90b546
RM
235002010-09-10 Robert Millan <rmh@gnu.org>
23501
23502 * configure.ac: Check for `struct statfs.f_fstypename' and
23503 `struct statfs.f_mntfromname'.
23504
23505 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
23506 kFreeBSD-specific code.
23507
66d4bea5
RM
235082010-09-10 Robert Millan <rmh@gnu.org>
23509
23510 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
23511 on ZFS. Now non-main filesystems are supported as / too.
23512
b6a690ee
CW
235132010-09-09 Colin Watson <cjwatson@ubuntu.com>
23514
23515 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
23516 and grub-core/disk/host.c to ...
23517 (grub-fstest): ... here. Having the host disk implementation
23518 present confuses grub-probe and other utility programs.
23519
23520 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
23521 when writing to a file, not when writing to stdout.
23522
8901b00c 235232010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
23524
23525 * tests/partmap_test.in: New test for partitions.
23526 * Makefile.util.def: Rules for new test.
23527
7bf45fdd
RM
235282010-09-09 Robert Millan <rmh@gnu.org>
23529
23530 * util/grub-probe.c (probe): Fix a pair of unhandled error
23531 conditions.
23532
4dfbc574
RM
235332010-09-09 Robert Millan <rmh@gnu.org>
23534
23535 Basic Btrfs support (detection and UUID).
23536
23537 * grub-core/fs/btrfs.c: New file.
23538 * Makefile.util.def (library): Register btrfs.c.
23539 * grub-core/Makefile.core.def: Likewise.
23540
6b8e78ae
RM
235412010-09-08 Robert Millan <rmh@gnu.org>
23542
23543 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
23544 with (optional) parameters to specify device and relative path.
23545 * util/grub-install.in: Use is_path_readable_by_grub() to
23546 verify readability of a few critical files.
23547 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
23548 verify readability of grub.cfg.new.
23549
27f21a8b
VS
235502010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 Split minix.mod into minix.mod and minix2.mod.
23553
23554 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
23555 * grub-core/Makefile.core.def (minix2): New module.
23556 * grub-core/fs/minix.c: Use definitions instead of runtime version
23557 checking.
23558 * grub-core/fs/minix2.c: New file.
23559
c0e53ea5
YB
235602010-09-08 Yves Blusseau <blusseau@zetam.org>
23561
23562 Add new --boot-directory option to replace --root-directory
23563
23564 * util/grub-install.in: Add new --boot-directory option
23565 * util/grub-reboot.in: Likewise.
23566 * util/grub-set-default.in: Likewise.
23567
b9fe6ea2
YB
235682010-09-08 Yves Blusseau <blusseau@zetam.org>
23569
23570 * util/grub-mkconfig.in: Use new variable.
23571
d87aedff
YB
235722010-09-08 Yves Blusseau <blusseau@zetam.org>
23573
23574 * configure.ac: Define some useful variables.
23575
e55e8495
VS
235762010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
23577
23578 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23579 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
23580 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
23581 Use terminfo and don't use cursor-on/cursor-off unless it's known
23582 to work.
23583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
23584 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
23585
6fa6d675
CW
235862010-09-08 Colin Watson <cjwatson@ubuntu.com>
23587
23588 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
23589 starts with "(,", fill the drive containing the loaded image in
23590 between those two characters, but expect that a full partition
23591 specification including partition map names will follow.
23592
92f2aef0
RM
235932010-09-08 Robert Millan <rmh@gnu.org>
23594
23595 * configure.ac: Remove `--enable-grub-fstest' option.
23596 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
23597
23598 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
23599 `grub-fstest' instead of `grub-probe' for readability verification.
23600 * util/grub-probe.c (probe): Remove readability verification kludge.
23601
99fd620d
RM
236022010-09-08 Robert Millan <rmh@gnu.org>
23603
23604 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
23605 initializing `GRUB_FS'.
23606
058e30ac 236072010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
23608
23609 Not command (!) support to GRUB script.
23610
23611 * tests/grub_script_not.in: New test.
23612 * Makefile.util.def: Rules for new test.
23613
23614 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23615 ! command as a special case.
23616 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
23617
b61d05ed 236182010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23619
058e30ac 23620 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
23621 grub_free.
b61d05ed 23622
4d69c786 236232010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23624
23625 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
23626
aa3119c4 236272010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
23628
23629 * docs/grub.texi (Shell-like scripting): Documentation for break,
23630 continue, shift and return commands.
23631
db0f7e3d
VS
236322010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 Rename CD-ROM to cd on BIOS.
23635
23636 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
23637 "cd".
23638 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
23639
88b87c93
VS
236402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
23643 * util/grub-probe.c (main): Likewise.
23644 * util/i386/pc/grub-setup.c (main): Likewise.
23645 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23646 Reported and debugged by: alexxy
23647
294f324d
VS
236482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23649
23650 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
23651 diagnostic info.
23652
d7ee3441
JS
236532010-09-05 Jo Shields <directhex@apebox.org>
23654
23655 * util/grub.d/30_os-prober.in: Add missing classes.
23656
d7e06c1f
VS
236572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 * docs/grub.texi (Theme file format): Document new position format.
23660
fc157e53
VS
236612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23662
23663 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
23664 a table. Use @code instead of @verbatim.
23665
506e9a1c
CB
236662010-09-05 Colin D Bennett <colin@gibibit.com>
23667
23668 Gfxmenu documentation.
23669
23670 * docs/grub.texi (Theme file format): New chapter.
23671
f0aff67c
SJ
236722010-09-05 Szymon Janc <szymon@janc.net.pl>
23673
23674 * grub-core/Makefile.core.def (xzio): New module.
23675 * grub-core/io/xzio.c: New file.
23676 * grub-core/lib/xzembed/xz.h: New file (from xembed).
23677 * grub-core/lib/xzembed/xz_config.h: Likewise.
23678 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
23679 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
23680 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
23681 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
23682 * grub-core/lib/xzembed/xz_private.h: Likewise.
23683 * grub-core/lib/xzembed/xz_stream.h: Likewise.
23684 * include/grub/file.h (grub_file_filter_id): New compression filter
23685 GRUB_FILE_FILTER_XZIO.
23686
82a85062
VS
236872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23688
23689 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
23690 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
23691 size.
23692
3579415d
VS
236932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
23696 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
23697
5124ae6d
VS
236982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23699
23700 Uncompressed checksum support.
23701
23702 * grub-core/commands/hashsum.c (options): Add option --uncompress.
23703 (check_list): New parameter uncompress.
23704 (grub_cmd_hashsum): Handle --uncompress.
23705
9aadb3d1
VS
237062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23707
23708 Reintroduce testload.
23709
23710 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
23711 from here ...
23712 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
23713 (GRUB_MOD_INIT): New function.
23714 (GRUB_MOD_FINI): Likewise.
23715 * grub-core/Makefile.core.def (testload): New module.
23716
a17792c3
SJ
237172010-09-05 Szymon Janc <szymon@janc.net.pl>
23718
23719 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
23720 (uint8_t): New type.
23721 (uint16_t): Likewise.
23722 (uint32_t): Likewise.
23723 (uint64_t): Likewise.
23724
b81e40a3
SJ
237252010-09-05 Szymon Janc <szymon@janc.net.pl>
23726
23727 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
23728
fc2ef117
VS
237292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
23732 Made static.
23733 (grub_gzfile_open): Removed. All users updated.
23734 (GRUB_MOD_INIT): New function.
23735 (GRUB_MOD_FINI): Likewise.
23736 * grub-core/kern/file.c (grub_file_filters_all): New variable.
23737 (grub_file_filters_enabled): Likewise.
23738 (grub_file_open): Handle filters.
23739 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
23740 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
23741 * include/grub/file.h (grub_file_filter_id_t): New type.
23742 (grub_file_filter_t): Likewise.
23743 (grub_file_filters_all): New extern variable.
23744 (grub_file_filters_enabled): Likewise.
23745 (grub_file_filter_register): New inline function.
23746 (grub_file_filter_unregister): Likewise.
23747 (grub_file_filter_disable): Likewise.
23748 (grub_file_filter_disable_compression): Likewise.
23749 * include/grub/gzio.h: Removed.
23750
35ee15e0
BC
237512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23752
23753 Filename expansion support for wildcards in GRUB script.
23754
23755 * tests/grub_script_expansion.in: New test.
23756 * Makefile.util.def: Rule for new test.
23757
23758 * grub-core/commands/wildcard.c: New file, implements filename
23759 expansion support for GRUB script.
23760 * grub-core/Makefile.core.def: Rule update for regexp.mod.
23761 * grub-core/script/argv.c: Cosmetic changes.
23762 * grub-core/script/execute.c (grub_script_arglist_to_argv):
23763 Refactored to perform wildcard expansion on arguments.
23764 * include/grub/script_sh.h (grub_script_wildcard_translator): New
23765 struct.
23766
23767 * tests/util/grub-shell.in: Fix quoting for read input.
23768
5f0c4aca
BC
237692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23770
23771 Support for updating environment variables with matched substrings
23772 of regexp.
23773
23774 * tests/grub_cmd_regexp.in: New test.
23775 * Makefile.util.def: Rule for new test.
23776
23777 * grub-core/commands/regexp.c: New option -s to update environment
23778 variables with regexp matches.
23779
3759a35f
SJ
237802010-09-04 Szymon Janc <szymon@janc.net.pl>
23781
23782 * include/grub/file.h (grub_file): New member not_easly_seekable.
23783 (grub_file_seekable): New inline function.
23784 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
23785 easily seekable.
23786 (grub_gzio_open): Set not_easly_seekable.
23787 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
23788 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
23789
ed8c6dec
BC
237902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23791
23792 Support for options to appear multiple times on cmdline.
23793
23794 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
23795 * grub-core/commands/extcmd.c: Support for repeatable option.
23796 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
23797 repeatable option support.
23798
23799 Refactor menuentry into a regular command.
23800
23801 * grub-core/commands/menuentry.c: New file, menuentry command
23802 implementation.
23803 * grub-core/Makefile.core.def: Rule update for normal.mod.
23804 * grub-core/normal/main.c: Moved menuentry creation to
23805 grub-core/commands/menuentry.c.
23806 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
23807 (grub_menu_execute_entry_real): Removed.
23808 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
23809 function.
23810 (grub_script_execute_menuentry): Removed.
23811 * grub-core/script/parser.y (menuentry): Removed.
23812 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
23813 * grub-core/script/yylex.l (menuentry): Removed.
23814 * include/grub/menu.h (grub_menu_init): New prototype.
23815 (grub_menu_fini): New prototype.
23816 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
23817 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
23818 (grub_script_execute_sourcecode): New prototype.
23819
dacd0cf0
BC
238202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23821
23822 "return" command for GRUB script functions.
23823
23824 * tests/grub_script_return.in: New test.
23825 * Makefile.util.def: Rules for new test.
23826
23827 * grub-core/script/execute.c (grub_script_return): New function.
23828 * grub-core/script/main.c: Register/unregister return commaond.
23829 * include/grub/script_sh.h (grub_script_return): New prototype.
23830
52e72f9d
BC
238312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23832
23833 "setparams" command to update positional parameters.
23834
23835 * tests/grub_script_setparams.in: New test.
23836 * Makefile.util.def: Rules for new test.
23837
23838 * grub-core/script/argv.c (grub_script_argv_make): New function.
23839 * grub-core/script/execute.c (replace_scope): New function.
23840 (grub_script_setparams): New function.
23841 * grub-core/script/lexer.c: Remove unused variables.
23842 * grub-core/script/main.c: Register/unregister setparams command.
23843 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
23844 (grub_script_setparams): New prototype.
23845
25b60c91
BC
238462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23847
23848 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
23849 grub_free order.
23850
37e7bf68
BC
238512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23852
23853 Support for passing block of commands as an argument to extcmds.
23854
23855 * Makefile.util.def: Rules for new test.
23856 * tests/grub_script_blockarg.in: New test.
23857 * grub-core/tests/test_blockarg.c: New file, block argument
23858 command used in the test.
23859
23860 * include/grub/extcmd.h (grub_extcmd_context): New struct.
23861 (grub_register_extcmd_prio): New function prototype.
23862 (grub_extcmd_dispatcher): New function prototype.
23863 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
23864 type.
23865 * include/grub/script_sh.h (struct grub_script): New members
23866 `children', `next_siblings' and `refcnt' for block arguments and
23867 reference counting.
23868 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
23869 (grub_script_arg): New member `script' for block argument.
23870 (grub_script_argv): New member `script' for block argument.
23871 (grub_parser_param): New member `scripts' for block argument.
23872 (grub_script_mem_free): New extern function prototype.
23873 (grub_script_ref): New function prototype.
23874 (grub_script_unref): New function prototype.
23875
23876 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
23877 extcmd form to support block arguments.
23878 * grub-core/script/argv.c: Block arguments support.
23879 * grub-core/script/execute.c: Likewise.
23880 * grub-core/script/lexer.c: Likewise.
23881 * grub-core/script/main.c: Likewise.
23882 * grub-core/script/script.c: Likewise.
23883 * grub-core/script/parser.y: Likewise. New `block' and `block0'
23884 non-terminals.
23885
23886 * grub-core/commands/acpi.c: Update extcmd implementations with
23887 grub_extcmd_context_t.
23888 * grub-core/commands/cat.c: Likewise.
23889 * grub-core/commands/echo.c: Likewise.
23890 * grub-core/commands/extcmd.c: Likewise.
23891 * grub-core/commands/hashsum.c: Likewise.
23892 * grub-core/commands/hdparm.c: Likewise.
23893 * grub-core/commands/help.c: Likewise.
23894 * grub-core/commands/hexdump.c: Likewise.
23895 * grub-core/commands/i386/cpuid.c: Likewise.
23896 * grub-core/commands/i386/pc/drivemap.c: Likewise.
23897 * grub-core/commands/i386/pc/halt.c: Likewise.
23898 * grub-core/commands/i386/pc/sendkey.c: Likewise.
23899 * grub-core/commands/iorw.c: Likewise.
23900 * grub-core/commands/keystatus.c: Likewise.
23901 * grub-core/commands/loadenv.c: Likewise.
23902 * grub-core/commands/ls.c: Likewise.
23903 * grub-core/commands/lspci.c: Likewise.
23904 * grub-core/commands/memrw.c: Likewise.
23905 * grub-core/commands/probe.c: Likewise.
23906 * grub-core/commands/search_wrap.c: Likewise.
23907 * grub-core/commands/setpci.c: Likewise.
23908 * grub-core/commands/sleep.c: Likewise.
23909 * grub-core/disk/loopback.c: Likewise.
23910 * grub-core/hello/hello.c: Likewise.
23911 * grub-core/loader/i386/bsd.c: Likewise.
23912 * grub-core/loader/xnu.c: Likewise.
23913 * grub-core/term/gfxterm.c: Likewise.
23914 * grub-core/term/serial.c: Likewise.
23915 * grub-core/tests/lib/functional_test.c: Likewise.
23916
888d1500
BC
239172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
23918
23919 Multi-line quoted strings support.
23920
23921 * grub-core/script/lexer.c (append_newline): Removed.
23922 (grub_script_lexer_yywrap): Refactored.
23923 (grub_script_lexer_init): Refactored.
23924 * grub-core/script/yylex.l (yywrap): New function.
23925 (grub_lexer_resplit): New function.
23926 (grub_lexer_unput): New function.
23927 * include/grub/script_sh.h (grub_lexer_param): New members, unput
23928 and resplit.
23929 * tests/grub_script_echo1.in: Added few more testcases.
23930
dda060dd
VS
239312010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
23932
23933 * grub-core/kern/misc.c: Don't add abort alias in utils.
23934 Reported by: echoline.
23935
6556eba9
BC
239362010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
23937
23938 Add missing files into "make dist" tarball for other platforms.
23939
23940 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
23941 * conf/Makefile.common (dist_noinst_DATA): New variable.
23942 * conf/Makefile.extra-dist: Added missing make dist files.
23943 * grub-core/Makefile.core.def: Likewise.
23944
c8e7bf5f
VS
239452010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Compress grub_prefix.
23948
23949 * grub-core/boot/i386/pc/lnxboot.S: Use
23950 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
23951 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
23952 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
23953 GRUB_MACHINE_PREFIX_END. All users updated.
23954 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
23955 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
23956 + 0x40.
23957 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
23958 * util/grub-mkimage.c (image_target_desc): Change data_end to
23959 prefix_end. All users updated.
23960
a7c00cdb
VS
239612010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
23962
23963 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
23964 value.
23965 (grub_openbsd_boot): Likewise.
23966 (grub_netbsd_boot): Likewise.
23967 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
23968 (grub_xnu_boot): Likewise.
23969
9f915872
VS
239702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23971
23972 * configure.ac: Clean LIBS variable after tests.
23973
efa1bee7
CW
239742010-09-02 Colin Watson <cjwatson@ubuntu.com>
23975
23976 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
23977
61d720e5
VS
239782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23979
23980 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
23981 echo if libdevmapper will be used.
23982
ef8e0ec8
IT
239832010-09-02 Ian Turner <Ian.Turner@deshaw.com>
23984
23985 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
23986 constant for the same file.
23987
03e261d8
VS
239882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
23989
23990 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
23991
c2a4eba6
CW
239922010-09-02 Colin Watson <cjwatson@ubuntu.com>
23993
23994 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
23995 grub-core/*.pp.
23996
9056cbf3
CW
239972010-09-02 Colin Watson <cjwatson@ubuntu.com>
23998
23999 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24000 required by the boot protocol.
24001
24002 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24003 ebp and edi members.
24004 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24005 state.ebp and state.edi.
24006 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24007 %ebp and %edi according to grub_relocator32_ebp and
24008 grub_relocator32_edi respectively.
24009 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24010 and state.edi.
24011
529cc99a
VS
240122010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 Add i386-pc-pxe image target.
24015
24016 * util/grub-mkimage.c (image_target_desc): New enum value
24017 IMAGE_I386_PC_PXE.
24018 (image_targets): New target i386-pc-pxe.
24019 (generate_image): Handle i386-pc-pxe image.
24020
9a093920
VS
240212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24022
24023 Fix grub_pxe_scan.
24024
24025 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24026 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24027 All users updated.
24028 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24029 (grub_pxe_pxenv): Correct type.
24030
f9cefc4e
CW
240312010-09-01 Colin Watson <cjwatson@ubuntu.com>
24032
24033 * NEWS: Document most of the important changes since 1.98.
24034
4066f57f
CW
240352010-09-01 Colin Watson <cjwatson@ubuntu.com>
24036
24037 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24038 generated manual page) a little.
24039
da2891f9
CW
240402010-09-01 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * docs/grub.texi: Add myself as an author.
24043
ad717fae
VS
240442010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24045
24046 * Makefile.util.def (libgrub.a): Add missing sunpc.
24047 Reported by: Seth Goldberg.
24048
eefe8abd
VS
240492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24050
24051 Interrupt wrapping and code simplifications.
24052
9494ef9a
VS
24053 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24054 x86_noieee1275 which are functionaly equivalent in this case.
24055 (grub-install): Make source on each platform explicit. Enable on
24056 all noemu.
24057 * gentpl.py (x86_efi_pc): Removed group.
24058 (x86_noefi): Likewise.
24059 (i386_noefi): Likewise.
24060 (x86_noieee1275): Likewise.
24061 (i386_noieee1275): Likewise.
24062 (i386_noefi_noieee1275): Likewise.
24063 (i386_pc_qemu_coreboot): Likewise.
24064 (i386_coreboot_multiboot): Likewise.
24065 (i386_pc_coreboot_multiboot_qemu): Likewise.
24066 (x86_noefi_mips): Likewise.
24067 (noieee1275): Likewise.
24068 (ieee1275_mips): Likewise.
24069 (noemu_noieee1275): Likewise.
24070 (cmos): New group.
24071 (usb): Likewise.
24072 (videoinkernel): Likewise.
24073 (videomodules): Likewise.
eefe8abd 24074 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
24075 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24076 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24077 include/grub/loader.h, include/grub/msdos_partition.h,
24078 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24079 include/grub/machine/console.h, include/grub/machine/vga.h,
24080 include/grub/machine/vbe.h, include/grub/machine/init.h,
24081 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24082 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 24083 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
24084 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24085 * grub-core/Makefile.core.def (kernel): Explicit the source for
24086 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24087 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24088 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24089 Use videoinkernel tag.
24090 (usb): Enable on all usb.
24091 (usbserial_common): Likewise.
24092 (usbserial_pl2303): Likewise.
24093 (usbserial_ftdi): Likewise.
24094 (uhci): Enable on all x86.
24095 (ohci): Enable on all pci.
24096 (cmostest): Enable on all CMOS.
24097 (acpi): Include commands/acpi.c on all platforms.
24098 (halt): Add relevant lib/*/halt.c.
24099 (hdparm): Enable on all pci.
24100 (lspci): Likewise.
24101 (usbtest): Enable on all usb.
24102 (ata): Enable on all pci.
24103 (ata_pthru): Likewise.
24104 (usbms): Enable on all usb.
24105 (usb_keyboard): Likewise.
24106 (font): Use tag videomodules.
24107 (bufio): Likewise.
24108 (datetime): Use tag cmos. Enable on all noemu.
24109 (mmap): Use tags common and x86.
24110 (gfxterm): Use tag videomodules.
24111 (bitmap): Likewise.
24112 (bitmap_scale): Likewise.
24113 (video_fb): Likewise.
24114 (video): Likewise.
24115 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24116 adjust padding accordingly. All users updated.
24117 (grub_ohci_transaction): Fix bad format specification.
24118 (GRUB_MOD_INIT): Add asserts for struct size.
24119 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24120 (grub_alloc_td): Likewise.
24121 (grub_free_queue): Likewise.
24122 (grub_uhci_transfer): Likewise.
24123 (grub_uhci_transaction): Fix bad format specification.
24124 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24125 (grub_usb_bulk_readwrite): Likewise.
24126 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24127 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24128 Made static.
24129 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24130 Made static.
24131 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24132 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24133 Transformed into C.
24134 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24135 Moved from here ...
24136 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24137 ... here. Transformed into C. Made static.
24138 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24139 Moved from here ...
24140 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24141 ... here. Transformed into C. Made static.
24142 * grub-core/kern/i386/pc/startup.S
24143 (grub_biosdisk_check_int13_extensions): Moved from here ...
24144 * grub-core/disk/i386/pc/biosdisk.c
24145 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24146 Made static.
24147 * grub-core/kern/i386/pc/startup.S
24148 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24149 * grub-core/disk/i386/pc/biosdisk.c
24150 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24151 Transformed into C. Made static.
24152 * grub-core/kern/i386/pc/startup.S
24153 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24154 * grub-core/disk/i386/pc/biosdisk.c
24155 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24156 Transformed into C. Made static.
24157 * grub-core/kern/i386/pc/startup.S
24158 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24159 * grub-core/disk/i386/pc/biosdisk.c
24160 (grub_biosdisk_get_diskinfo_standard): ... here.
24161 Transformed into C. Made static.
24162 * grub-core/kern/i386/pc/startup.S
24163 (grub_biosdisk_get_num_floppies): Moved from here ...
24164 * grub-core/disk/i386/pc/biosdisk.c
24165 (grub_biosdisk_get_num_floppies): ... here.
24166 Transformed into C. Made static.
24167 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24168 New function.
24169 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24170 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24171 Transformed into C. Made static.
24172 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24173 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24174 Transformed into C. Made static.
24175 * grub-core/kern/i386/ieee1275/init.c: Removed.
24176 * grub-core/kern/i386/misc.S: Likewise.
24177 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24178 Splitted from here ...
24179 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24180 Transformed into C. Made static. All users updated.
24181 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24182 Transformed into C. Made static. All users updated.
24183 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24184 Moved from here...
24185 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24186 Transformed into C. Made static. All users updated.
24187 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24188 Moved from here...
24189 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24190 Transformed into C. Made static. All users updated.
24191 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24192 Removed (replaced by C version).
24193 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24194 Moved from here...
24195 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24196 Transformed into C. Made static.
24197 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24198 Moved from here...
24199 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24200 ... here. Transformed into C.
24201 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24202 Moved from here...
24203 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24204 ... here. Transformed into C.
24205 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24206 Moved from here...
24207 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24208 ... here. Transformed into C. Made static.
24209 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24210 Moved from here...
24211 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24212 ... here. Transformed into C.
21ed554b
VS
24213 * grub-core/kern/i386/pc/startup.S
24214 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24215 * grub-core/video/i386/pc/vbe.c
24216 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24217 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24218 Moved from here...
24219 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24220 ... here. Transformed into C.
24221 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24222 Moved from here...
24223 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24224 ... here. Transformed into C.
24225 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24226 Moved from here...
24227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24228 ... here. Transformed into C.
24229 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24230 Moved from here...
24231 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24232 ... here. Transformed into C.
24233 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24234 Moved from here...
24235 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24236 ... here. Transformed into C. Made static.
24237 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24238 Moved from here...
24239 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24240 ... here. Transformed into C. Made static.
24241 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24242 Moved from here...
24243 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24244 ... here. Transformed into C. Made static.
24245 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24246 pxe_rm_entry as third argument.
24247 (grub_bios_interrupt): New function.
24248 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24249 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24250 of calling grub_stop.
24251 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24252 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24253 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24254 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24255 * grub-core/lib/i386/halt.c: Moved from here ...
24256 * grub-core/lib/i386/halt.c: ... here.
24257 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24258 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24259 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24260 grub_stop_floppy.
24261 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24262 * include/grub/i386/coreboot/init.h: Removed.
24263 * include/grub/i386/multiboot/init.h: Likewise.
24264 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24265 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24266 * include/grub/i386/pc/int.h: New file.
24267 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24268 (grub_pxe_scan): Removed.
24269 (grub_pxe_call): Update prototype.
24270 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24271 prototypes.
24272 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24273 * include/grub/i386/qemu/init.h: Removed.
24274 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24275 noreturn.
24276 (grub_halt): Likewise.
24277 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24278 (grub_reboot): Likewise.
24279 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24280 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
24281 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24282
215dd471
RM
242832010-08-30 Robert Millan <rmh@gnu.org>
24284
24285 * NEWS: Document addition of ZFS support in `grub-install' and
24286 `grub-mkconfig'.
24287
ebd65b82
BC
242882010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24289
24290 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24291 dprintf output.
24292
11721d19
VS
242932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24294
24295 Remove leftover embedding of font objects.
24296
24297 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24298 * util/grub-install.in (font): Removed.
24299 * util/grub-mkimage.c (generate_image): Remove font support. All users
24300 updated.
24301
37837d4e
VS
243022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 Remove leftover embedding of font objects.
24305
24306 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24307 * util/grub-install.in (font): Removed.
24308 * util/grub-mkimage.c (generate_image): Remove font support. All users
24309 updated.
24310
b4c1aae0
VS
243112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 24314 Reported by: Ian Turner
b4c1aae0 24315
8920a08d
VS
243162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24317
24318 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24319 timeout to avoid indefinite boot stalling.
24320
f21db033
VS
243212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24322
24323 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24324 (grub_env_write_color_highlight): Likewise.
24325
9a9de209
VS
243262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24327
24328 * grub-core/normal/term.c (print_more): Return to normal and not
24329 to standard state after printing "---MORE---".
24330
3dca01d7
VS
243312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24334 Mask out the bit 0x80 since it has other meaning that specifiing color.
24335
0b986c40
VS
243362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24337
24338 New relocator. Allows for more kernel support and more straightforward
24339 loader writing.
24340
24341 * Makefile.am (BOOTTARGET): New variable.
24342 (QEMU32): Likewise.
24343 (linux.init.x86_64): New target.
24344 (linux.init.i386): Likewise.
24345 (multiboot.elf): Likewise.
24346 (kfreebsd.elf): Likewise.
24347 (kfreebsd.aout): Likewise.
24348 (pc-chainloader.elf): Likewise.
24349 (pc-chainloader.bin): Likewise.
24350 (ntldr.elf): Likewise.
24351 (ntldr.bin): Likewise.
24352 (multiboot2.elf): Likewise.
24353 (kfreebsd.init.x86_64): Likewise.
24354 (kfreebsd.init.i386): Likewise.
24355 (knetbsd.init.i386): Likewise.
24356 (kopenbsd.init.i386): Likewise.
24357 (knetbsd.init.x86_64): Likewise.
24358 (kopenbsd.init.x86_64): Likewise.
24359 (linux-initramfs.i386): Likewise.
24360 (linux-initramfs.x86_64): Likewise.
24361 (kfreebsd-mfsroot.i386.img): Likewise.
24362 (knetbsd.image.i386): Likewise.
24363 (kopenbsd.image.i386): Likewise.
24364 (kopenbsd.image.x86_64): Likewise.
24365 (knetbsd.miniroot-image.i386.img): Likewise.
24366 (kfreebsd-mfsroot.x86_64.img): Likewise.
24367 (knetbsd.image.x86_64): Likewise.
24368 (knetbsd.miniroot-image.x86_64.img): Likewise.
24369 (kfreebsd-mfsroot.i386.gz): Likewise.
24370 (bootcheck-kfreebsd-i386): Likewise.
24371 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24372 (bootcheck-kfreebsd-x86_64): Likewise.
24373 (knetbsd.miniroot-image.i386.gz): Likewise.
24374 (bootcheck-knetbsd-i386): Likewise.
24375 (bootcheck-kopenbsd-i386): Likewise.
24376 (bootcheck-kopenbsd-x86_64): Likewise.
24377 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24378 (bootcheck-knetbsd-x86_64): Likewise.
24379 (bootcheck-linux-i386): Likewise.
24380 (bootcheck-linux-x86_64): Likewise.
24381 (bootcheck-linux16-i386): Likewise.
24382 (bootcheck-linux16-x86_64): Likewise.
24383 (bootcheck-multiboot): Likewise.
24384 (bootcheck-multiboot2): Likewise.
24385 (bootcheck-kfreebsd-aout): Likewise.
24386 (bootcheck-pc-chainloader): Likewise.
24387 (bootcheck-ntldr): Likewise.
24388 (CLEANFILES): Add new targets.
24389 (BOOTCHECKS): New variable.
24390 (.PHONY): Add bootchecks.
24391 (SUCCESSFUL_BOOT_STRING): New variable.
24392 (BOOTCHECK_TIMEOUT): Likewise.
24393 (bootcheck): New target
24394 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24395 * configure.ac: Correct efiemu excuse.
24396 * docs/grub.texi (Supported kernels): New chapter.
24397 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24398 include/grub/mm_private.h. Simplify inclusion of
24399 include/grub/boot.h, include/grub/loader.h
24400 and include/grub/msdos_partition.h
24401 (KERNEL_HEADER_FILES) [i386_coreboot]:
24402 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24403 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24404 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24405 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24406 include/grub/machine/loader.h.
24407 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24408 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24409 extra_dist.
24410 (pci.mod): Enable on i386-multiboot.
24411 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24412 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24413 i386-qemu.
24414 (relocator.mod): Rewritten.
24415 (aout.mod): Enable on all x86.
24416 (bsd.mod): Likewise.
24417 (ntldr.mod): New module.
24418 (linux.mod): Use loader/i386/linux.c on all x86.
24419 (xnu.mod): Enable on all x86.
24420 (vga_text.mod): disable on EFI and QEMU.
24421 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24422 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24423 * grub-core/efiemu/loadcore.c: Likewise.
24424 * grub-core/efiemu/main.c: Likewise.
24425 (grub_efiemu_exit_boot_services): Removed.
24426 (grub_efiemu_finish_boot_services): Likewise.
24427 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24428 function.
24429 * grub-core/efiemu/i386/nocfgtables.c: New file.
24430 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24431 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24432 (grub_efi_finish_boot_services): Moved from here ...
24433 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24434 Fille finish memory map and related data.
24435 (finish_mmap_buf): New variable.
24436 (grub_efi_uintn_t finish_mmap_size): Likewise.
24437 (grub_efi_uintn_t finish_key): Likewise.
24438 (grub_efi_uintn_t finish_desc_size): Likewise.
24439 (grub_efi_uint32_t finish_desc_version): Likewise.
24440 (grub_efi_is_finished): Likewise.
24441 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24442 finished.
24443 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24444 (grub_elf64_phdr_iterate): Likewise.
24445 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24446 (grub_os_area_size): Likewise.
24447 (grub_machine_init): Don't reserve os area.
24448 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24449 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24450 * grub-core/kern/i386/loader.S: Removed.
24451 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24452 (grub_os_area_size): Likewise.
24453 (grub_machine_init): Don't reserve os area.
24454 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
24455 Don't call grub_dl_unload_all.
24456 Don't include loader.S.
24457 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
24458 Declare the memory after _end as available.
24459 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 24460 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 24461 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
24462 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
24463 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
24464 * include/grub/mm_private.h (grub_mm_header): ... here.
24465 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
24466 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
24467 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
24468 (grub_mm_region): ..here. Removed addr. Added pre_size.
24469 All users updated.
24470 * grub-core/kern/mm.c (base): Renamed to ...
24471 (grub_mm_base): ... this. Made global.
24472 (grub_real_malloc): Alloc from end of region.
24473 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
24474 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
24475 * grub-core/kern/powerpc/cache_flush.S: ... here.
24476 * grub-core/lib/efi/relocator.c: New file.
24477 * grub-core/lib/i386/relocator.c: Rewritten.
24478 * grub-core/lib/i386/relocator16.S: New file.
24479 * grub-core/lib/i386/relocator32.S: Likewise.
24480 * grub-core/lib/i386/relocator64.S: Likewise.
24481 * grub-core/lib/i386/relocator_asm.S: Rewritten.
24482 * grub-core/lib/i386/relocator_common.S: New file.
24483 * grub-core/lib/ieee1275/relocator.c: Likewise.
24484 * grub-core/lib/mips/relocator.c: Rewritten.
24485 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
24486 stylistic adjustments.
24487 * grub-core/lib/powerpc/relocator.c: New file.
24488 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
24489 * grub-core/lib/relocator.c: Rewritten.
24490 * grub-core/lib/x86_64/relocator_asm.S: New file.
24491 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
24492 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
24493 (bsd_tag): New struct.
24494 (tags): New variable.
24495 (tags_last): Likewise.
24496 (netbsd_module): New struct.
24497 (netbsd_mods): New variable.
24498 (netbsd_mods_last): Likewise.
24499 (openbsd_opts): New parameter "serial".
24500 (OPENBSD_SERIAL_ARG): New definition.
24501 (netbsd_opts): New parameter "serial".
24502 (NETBSD_SERIAL_ARG): New definition.
24503 (grub_freebsd_add_meta): Reorganised into ...
24504 (grub_bsd_add_meta): ...this. All users updated.
24505 (grub_freebsd_add_mmap): Reorganised into ...
24506 (generate_e820_mmap): ...this...
24507 (grub_bsd_add_mmap): ...and this. All users updated.
24508 (grub_freebsd_list_modules): Use tags.
24509 (grub_netbsd_add_meta_module): New function.
24510 (grub_netbsd_list_modules): Likewise.
24511 (grub_freebsd_boot): Use relocator and finish EFI.
24512 (grub_openbsd_boot): Likewise.
24513 (grub_netbsd_setup_video): New function.
24514 (grub_netbsd_add_modules): Likewise.
24515 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
24516 and finish EFI.
24517 (grub_bsd_unload): Unload tags.
24518 (grub_bsd_load_aout): Use relocator.
24519 (grub_bsd_elf32_size_hook): New function.
24520 (grub_bsd_elf32_hook): Use relocator.
24521 (grub_bsd_elf64_size_hook): New function.
24522 (grub_bsd_elf64_hook): Use relocator.
24523 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
24524 (grub_bsd_load): Zero-out openbsd_ramdisk.
24525 (grub_bsd_load): Use relocator.
24526 (grub_cmd_openbsd): Support serial.
24527 (grub_cmd_netbsd): Support modules.
24528 (grub_cmd_freebsd_module): Use relocator.
24529 (grub_netbsd_module_load): New function.
24530 (grub_cmd_netbsd_module): Likewise.
24531 (grub_cmd_openbsd_ramdisk): Likewise.
24532 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
24533 kopenbsd_ramdisk.
24534 (GRUB_MOD_FINI): Unregister new commands.
24535 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
24536 (grub_freebsd_load_elfmodule_obj): Use relocator.
24537 (grub_freebsd_load_elfmodule): Likewise.
24538 (grub_freebsd_load_elf_meta): Likewise.
24539 (grub_netbsd_load_elf_meta): New function.
24540 (grub_openbsd_find_ramdisk): Likewise.
24541 * grub-core/loader/i386/bsd_helper.S: Removed.
24542 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
24543 * grub-core/loader/i386/bsd_trampoline.S: Removed.
24544 * grub-core/loader/i386/efi/linux.c: Likewise.
24545 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
24546 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
24547 (DEFAULT_VIDEO_MODE): Likewise.
24548 (real_mode_target): New variable.
24549 (prot_mode_target): Likewise.
24550 (initrd_mem_target): Likewise.
24551 (relocator): Likewise.
24552 (efi_mmap_buf): Likewise.
24553 (efi_mmap_size): Likewise.
24554 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
24555 (free_pages): Use relocator.
24556 (allocate_pages): Account for efi_mmap and use relocator. Return error.
24557 (grub_linux_setup_video): Return error.
24558 (grub_linux_trampoline_start): Removed.
24559 (grub_linux_trampoline_end): Likewise.
24560 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
24561 andd video parameters depending on firmware.
24562 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
24563 [GRUB_MACHINE_EFI]: Pass EFI parameters.
24564 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
24565 (grub_cmd_initrd): Use relocator.
24566 * grub-core/loader/i386/linux_trampoline.S: Removed.
24567 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
24568 (elf_sec_entsize): Likewise.
24569 (elf_sec_shstrndx): Likewise.
24570 (elf_sections): Likewise.
24571 (grub_multiboot_load): Use relocator.
24572 (grub_multiboot_get_mbi_size): Account for sections.
24573 (grub_multiboot_make_mbi): Use relocator and support sections.
24574 (grub_multiboot_add_elfsyms): New function.
24575 (grub_multiboot_free_mbi): Free sections.
24576 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
24577 (grub_linux_real_target): Likewise.
24578 (grub_linux_real_chunk): Likewise.
24579 (grub_linux16_prot_size): Likewise.
24580 (grub_linux16_boot): Use relocator.
24581 (grub_linux_unload): Unload relocator.
24582 (grub_cmd_linux): Use relocator.
24583 (grub_cmd_initrd): Likewise.
24584 * grub-core/loader/i386/pc/ntldr.c: New file.
24585 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
24586 Don't try to guess CPU frequency.
24587 (grub_xnu_set_video): Stretch bitmap.
24588 (grub_xnu_boot): Use relocator.
24589 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
24590 (grub_linux_unload): Free relocator.
24591 (grub_linux_load32): Use relocator.
24592 (grub_linux_load64): Likewise.
24593 (grub_cmd_initrd): Likewise.
24594 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
24595 (grub_multiboot_unload): Unload relocator.
24596 (grub_cmd_multiboot): Use relocator.
24597 (grub_cmd_module): Likewise.
24598 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
24599 Use relocator and support sections.
24600 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
24601 (elf_sec_entsize): Likewise.
24602 (elf_sec_shstrndx): Likewise.
24603 (elf_sections): Likewise.
24604 (grub_multiboot_load): Use relocator.
24605 (grub_multiboot_get_mbi_size): Account for sections.
24606 (grub_multiboot_make_mbi): Use relocator and support sections.
24607 (grub_multiboot_add_elfsyms): New function.
24608 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
24609 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
24610 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
24611 Prototype changed. All users updated.
24612 (grub_xnu_align_heap): Simplified.
24613 (grub_xnu_writetree_toheap): Likewise.
24614 (grub_xnu_unload): Unload relocator.
24615 (grub_cmd_xnu_kernel): Use relocator.
24616 (grub_cmd_xnu_kernel64): Likewise.
24617 (grub_xnu_register_memory): Simplified.
24618 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
24619 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
24620 EFI is finished.
24621 (grub_console_checkkey): Likewise.
24622 (grub_console_getkey): Likewise.
24623 (grub_console_getwh): Likewise.
24624 (grub_console_getxy): Likewise.
24625 (grub_console_gotoxy): Likewise.
24626 (grub_console_cls): Likewise.
24627 (grub_console_setcolorstate): Likewise.
24628 (grub_console_setcursor): Likewise.
24629 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
24630 * grub-core/tests/boot/kbsd.init-i386.S: New file.
24631 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
24632 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
24633 * grub-core/tests/boot/kernel-8086.S: Likewise.
24634 * grub-core/tests/boot/kernel-i386.S: Likewise.
24635 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
24636 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
24637 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
24638 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
24639 * grub-core/tests/boot/knetbsd.cfg: Likewise.
24640 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
24641 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
24642 * grub-core/tests/boot/linux.cfg: Likewise.
24643 * grub-core/tests/boot/linux.init-i386.S: Likewise.
24644 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
24645 * grub-core/tests/boot/linux16.cfg: Likewise.
24646 * grub-core/tests/boot/multiboot.cfg: Likewise.
24647 * grub-core/tests/boot/multiboot2.cfg: Likewise.
24648 * grub-core/tests/boot/ntldr.cfg: Likewise.
24649 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
24650 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
24651 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
24652 New definition.
24653 * include/grub/dl.h (grub_dl_unload_all): Removed.
24654 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
24655 (grub_efi_finish_boot_services): Change prototype.
24656 (grub_efi_is_finished): New variable.
24657 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
24658 Changed prototype.
24659 (grub_efiemu_finish_boot_services): Removed.
24660 (grub_machine_efiemu_init_tables): New prototype.
24661 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
24662 (grub_elf64_phdr_iterate): Likewise.
24663 * include/grub/i386/bsd.h: Include relocator.h.
24664 (freebsd_tag_header): New struct.
24665 (grub_openbsd_bios_mmap): Removed.
24666 (grub_unix_real_boot): Removed.
24667 (grub_freebsd_load_elfmodule32): Changed prototype.
24668 (grub_freebsd_load_elfmodule_obj64): Likewise.
24669 (grub_freebsd_load_elf_meta32): Likewise.
24670 (grub_freebsd_load_elf_meta64): Likewise.
24671 (grub_freebsd_add_meta): Removed.
24672 (grub_netbsd_load_elf_meta32): New prototype.
24673 (grub_netbsd_load_elf_meta64): Likewise.
24674 (grub_bsd_add_meta): Likewise.
24675 (grub_openbsd_ramdisk_descriptor): New struct.
24676 (grub_openbsd_find_ramdisk32): New prototype.
24677 (grub_openbsd_find_ramdisk64): Likewise.
24678 * include/grub/i386/coreboot/loader.h: Removed.
24679 * include/grub/i386/efi/loader.h: Likewise.
24680 * include/grub/i386/ieee1275/loader.h: Likewise.
24681 * include/grub/i386/linux.h (linux_kernel_header): Change void *
24682 to grub_uint32_t.
24683 * include/grub/i386/loader.h: Removed.
24684 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
24685 value.
24686 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
24687 (grub_phys_addr_t): New type.
24688 (grub_vtop): New inline function.
24689 (grub_map_memory): Likewise.
24690 (grub_unmap_memory): Likewise.
24691 * include/grub/i386/multiboot/loader.h: Removed.
24692 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
24693 (NETBSD_BTINFO_CONSOLE): New definition.
24694 (NETBSD_BTINFO_SYMTAB): Likewise.
24695 (NETBSD_BTINFO_MODULES): Likewise.
24696 (NETBSD_BTINFO_FRAMEBUF): Likewise.
24697 (grub_netbsd_bootinfo): New struct.
24698 (grub_netbsd_btinfo_common): Use explicit bitsize.
24699 (grub_netbsd_btinfo_mmap_entry): Removed.
24700 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
24701 (grub_netbsd_btinfo_bootdisk): New struct.
24702 (grub_netbsd_btinfo_symtab): Likewise.
24703 (grub_netbsd_btinfo_serial): Likewise.
24704 (grub_netbsd_btinfo_modules): Likewise.
24705 (grub_netbsd_btinfo_framebuf): Likewise.
24706 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
24707 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
24708 Likewise.
24709 (grub_openbsd_bootargs): Use explicit bitsize.
24710 (grub_openbsd_bootarg_console): New struct.
24711 (GRUB_OPENBSD_COM_MAJOR): New definition.
24712 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
24713 * include/grub/i386/pc/efiemu.h: Removed.
24714 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
24715 * include/grub/i386/qemu/loader.h: Removed.
24716 * include/grub/i386/relocator.h: Rewritten.
24717 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
24718 * include/grub/mips/memory.h: New file.
24719 * include/grub/mips/multiboot.h: Rewritten.
24720 * include/grub/mips/relocator.h: Rewritten.
24721 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
24722 (grub_vtop): New function.
24723 (grub_map_memory): Likewise.
24724 (grub_unmap_memory): Likewise.
24725 * include/grub/misc.h (ALIGN_DOWN): New definition.
24726 * include/grub/mm.h (grub_mm_check_real): New proto.
24727 (GRUB_MM_CHECK): New definition.
24728 * include/grub/mm_private.h: New file.
24729 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
24730 (grub_multiboot_get_mbi_size): Removed.
24731 (grub_multiboot_make_mbi): Change prottype.
24732 (grub_multiboot_set_accepts_video): New proto.
24733 (grub_multiboot_add_elfsyms): Likewise.
24734 (grub_multiboot_payload_eip): New variable.
24735 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
24736 New prototype.
24737 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
24738 New definition.
24739 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
24740 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
24741 * include/grub/powerpc/ieee1275/loader.h: Removed.
24742 * include/grub/powerpc/memory.h: New file.
24743 * include/grub/powerpc/relocator.h: Likewise.
24744 * include/grub/relocator.h: Likewise.
24745 * include/grub/relocator_private.h: Likewise.
24746 * include/grub/sparc64/ieee1275/loader.h: Removed.
24747 * include/grub/x86_64/memory.h: New file.
24748 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
24749 (grub_xnu_heap_malloc): Likewise.
24750 (grub_xnu_heap_real_start): Removed.
24751 (grub_xnu_heap_start): Likewise.
24752 (grub_xnu_relocator): New variable.
24753 (grub_xnu_heap_target_start): Likewise.
24754 * tests/util/grub-shell.in: Support non-pc.
24755 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 24756
5303b85d
VS
247572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24758
24759 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
24760 on malloc error.
24761 (grub_bidi_logical_to_visual): Check that malloc succeded.
24762 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
24763 puts.
24764 (grub_xputs_normal): Likewise.
24765
d768d159
VS
247662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24767
24768 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
24769 extra_dist.
24770
247712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24772
24773 * grub-core/efiemu/runtime/efiemu.sh: Removed.
24774
5bf84df4
VS
247752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
24778
3626810e
VS
247792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24780
24781 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
24782 dprintf.
24783
a7363f53
BC
247842010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
24785
24786 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
24787
902f75f6
VS
247882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * grub-core/normal/term.c (print_more): Fix a memory leak.
24791 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
24792 (grub_xputs_normal): Likewise.
24793
3c707967
VS
247942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
24797 the begining of the string
24798
2053cc07
VS
247992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 * grub-core/script/script.c (grub_script_parse): Free parsed on
24802 failure.
24803
46422ebf
VS
248042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24807 on failure.
24808
9e0fa3f6
VS
248092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
24812 return.
24813
3393cf16
VS
248142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
24817 (scroll_up): Fix a memory leak.
24818
b17540cb
VS
248192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24820
24821 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
24822 errors.
24823
67140446
VS
248242010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
24825
24826 Handle USB pendrives exposed as floppies.
24827
24828 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
24829 floppy.
24830 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24831 Check for partitions on all devices.
24832
e35e46fc
VS
248332010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
24836 (readkey): Likewise.
24837
d24c6190
BC
248382010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
24839
24840 Multiple variable names support to "export" command.
24841
24842 * normal/context.c (grub_cmd_export): "export" command supports
24843 multiple variable names.
24844
04ddcc6a
ST
248452010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
24846
24847 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
24848 --target=drive output to Mach device name.
24849
0c8b61d8
BC
248502010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
24851
24852 New Automake based build system for GRUB.
24853
24854 * ABOUT-NLS: New file.
24855 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
24856 in Makefile.util.def file.
24857 * Makefile.util.def: New file. Autogen build definitions file for
24858 GRUB host utils.
24859 * conf/Makefile.common: New file. Common variables for GRUB host
24860 utils and target modules.
24861 * conf/Makefile.extra-dist: New file. Extra files for make dist.
24862 * docs/Makefile.am: New file. Automake file for docs.
24863 * gentpl.py: New file. Python script to generate Autogen
24864 template.
24865 * grub-core/Makefile.am: New file. GRUB target modules' rules
24866 that doesn't fit in Makefile.core.def file.
24867 * grub-core/Makefile.core.def: New file. Autogen build
24868 definitions file for GRUB target modules.
24869 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
24870 specific setjmp.S file.
24871 * po/Makefile.am: New file.
24872
24873 * .bzrignore: New ignores.
24874 * INSTALL: New requirements, without Ruby.
24875 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
24876 * autogen.sh: Updated to invoke autogen as necessary.
24877 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
24878 and defines for Automake conditionals.
24879 * geninit.sh: Refactoring.
24880
24881 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
24882 necessary.
24883 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
24884 New prototype.
24885
24886 * include/grub/test.h: Fix functional test modules' naming.
24887 * grub-core/tests/example_functional_test.c: Fix test module name.
24888
24889 * util/misc.c: Hosted versions' of grub functions for libgrub.a
24890 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
24891 * util/grub-editenv.c: Likewise.
24892 * util/grub-fstest.c: Likewise.
24893 * util/grub-mkdevicemap.c: Likewise.
24894 * util/grub-mkfont.c: Likewise.
24895 * util/grub-mkimage.c: Likewise.
24896 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24897 * util/grub-probe.c: Likewise.
24898 * util/grub-script-check.c: Likewise.
24899 * util/i386/pc/grub-setup.c: Likewise.
24900 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24901
24902 * tests/util/grub-shell.in: Fix override directory path.
24903 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
24904 * util/import_gcry.py: Create Makefile.gcry.def file instead.
24905
24906 * util/lvm.c: Update #includes.
24907 * util/raid.c: Likewise.
24908 * util/resolve.c: Likewise.
24909 * grub-core/bus/emu/pci.c: Likewise.
24910 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
24911 * grub-core/lib/posix_wrap/string.h: Likewise.
24912 * grub-core/kern/emu/main.c: Likewise.
24913
24914 * grub-core/gensymlist.sh: New file. Script for generating kernel
24915 symbols file.
24916 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
24917
24918 * grub-core/gentrigtables.c: Fix unused variable warnings.
24919
24920 * Makefile.in: Removed.
24921 * conf/any-emu.rmk: Removed.
24922 * conf/common.rmk: Removed.
24923 * conf/i386-coreboot.rmk: Removed.
24924 * conf/i386-efi.rmk: Removed.
24925 * conf/i386-ieee1275.rmk: Removed.
24926 * conf/i386-multiboot.rmk: Removed.
24927 * conf/i386-pc.rmk: Removed.
24928 * conf/i386-qemu.rmk: Removed.
24929 * conf/i386.rmk: Removed.
24930 * conf/mips-yeeloong.rmk: Removed.
24931 * conf/mips.rmk: Removed.
24932 * conf/powerpc-ieee1275.rmk: Removed.
24933 * conf/sparc64-ieee1275.rmk: Removed.
24934 * conf/tests.rmk: Removed.
24935 * conf/x86-efi.rmk: Removed.
24936 * conf/x86_64-efi.rmk: Removed.
24937 * gendistlist.sh: Removed.
24938 * geninitheader.sh: Removed.
24939 * genkernsyms.sh.in: Removed.
24940 * genmk.rb: Removed.
24941 * gensymlist.sh.in: Removed.
24942 * mkinstalldirs: Removed.
24943 * boot: Moved ...
24944 * grub-core/boot: ... to here.
24945 * bus: Moved ...
24946 * grub-core/bus: ... to here.
24947 * commands: Moved ...
24948 * grub-core/commands: ... to here.
24949 * disk: Moved ...
24950 * grub-core/disk: ... to here.
24951 * efiemu: Moved ...
24952 * grub-core/efiemu: ... to here.
24953 * font: Moved ...
24954 * grub-core/font: ... to here.
24955 * fs: Moved ...
24956 * grub-core/fs: ... to here.
24957 * gencmdlist.sh: Moved ...
24958 * grub-core/gencmdlist.sh: ... to here.
24959 * genemuinit.sh: Moved ...
24960 * grub-core/genemuinit.sh: ... to here.
24961 * genemuinitheader.sh: Moved ...
24962 * grub-core/genemuinitheader.sh: ... to here.
24963 * genfslist.sh: Moved ...
24964 * grub-core/genfslist.sh: ... to here.
24965 * genhandlerlist.sh: Moved ...
24966 * grub-core/genhandlerlist.sh: ... to here.
24967 * genmoddep.awk: Moved ...
24968 * grub-core/genmoddep.awk: ... to here.
24969 * genmodsrc.sh: Moved ...
24970 * grub-core/genmodsrc.sh: ... to here.
24971 * genpartmaplist.sh: Moved ...
24972 * grub-core/genpartmaplist.sh: ... to here.
24973 * genparttoollist.sh: Moved ...
24974 * grub-core/genparttoollist.sh: ... to here.
24975 * genterminallist.sh: Moved ...
24976 * grub-core/genterminallist.sh: ... to here.
24977 * gentrigtables.c: Moved ...
24978 * grub-core/gentrigtables.c: ... to here.
24979 * genvideolist.sh: Moved ...
24980 * grub-core/genvideolist.sh: ... to here.
24981 * gettext: Moved ...
24982 * grub-core/gettext: ... to here.
24983 * gfxmenu: Moved ...
24984 * grub-core/gfxmenu: ... to here.
24985 * gnulib: Moved ...
24986 * grub-core/gnulib: ... to here.
24987 * hello: Moved ...
24988 * grub-core/hello: ... to here.
24989 * hook: Moved ...
24990 * grub-core/hook: ... to here.
24991 * io: Moved ...
24992 * grub-core/io: ... to here.
24993 * kern: Moved ...
24994 * grub-core/kern: ... to here.
24995 * lib: Moved ...
24996 * grub-core/lib: ... to here.
24997 * loader: Moved ...
24998 * grub-core/loader: ... to here.
24999 * mmap: Moved ...
25000 * grub-core/mmap: ... to here.
25001 * normal: Moved ...
25002 * grub-core/normal: ... to here.
25003 * partmap: Moved ...
25004 * grub-core/partmap: ... to here.
25005 * parttool: Moved ...
25006 * grub-core/parttool: ... to here.
25007 * script: Moved ...
25008 * grub-core/script: ... to here.
25009 * term: Moved ...
25010 * grub-core/term: ... to here
25011 * tests/example_functional_test.c: Moved ...
25012 * grub-core/tests/example_functional_test.c: ... to here.
25013 * tests/lib/functional_test.c: Moved ...
25014 * grub-core/tests/lib/functional_test.c: ... to here.
25015 * tests/lib/test.c: Moved ...
25016 * grub-core/tests/lib/test.c: ... to here.
25017 * video: Moved ...
25018 * grub-core/video: ... to here.
25019
645586e6
BC
250202010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25021
25022 Replace --enable-grub-emu-modules with grub-emu-lite.
25023
25024 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25025 cache.S.
25026
25027 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25028 * kern/emu/full.c: New file. For grub-emu specific initialization.
25029 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25030 * kern/emu/main.c: Call initialization function grub_emu_init.
25031
25032 * Makefile.in: Include grub-emu-lite in install.
25033 * commands/parttool.c: Use grub_no_autoload to differentiate
25034 between grub-emu and grub-emu-lite.
25035 * include/grub/misc.h: New variable grub_no_autoload.
25036
25037 * conf/any-emu.rmk: New rules for grub-emu-lite.
25038 * configure.ac: Remove --enable-grub-emu-modules.
25039 * genmk.rb: Cleanup unnecessary rules.
25040 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25041
25042 * normal/main.c: Don't load list files on grub-emu-lite.
25043 * util/misc.c (grub_arch_sync_caches): Removed.
25044
f86a4030
CW
250452010-08-23 Colin Watson <cjwatson@ubuntu.com>
25046
25047 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25048 grub-mkimage rather than grub-mkelfimage.
25049 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25050
06776944
VS
250512010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25052
25053 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25054 a key after CapsLock or NumLock. It's just a qemu bug.
25055
df262419
VS
250562010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25057
25058 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25059 needed by libusb wrapper.
25060
b40ea81b
ST
250612010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25062
25063 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25064
dee50575
VS
250652010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25068 --nounzip is passed.
25069
fb1d7b79
VS
250702010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 USB hotunplugging and USB serial support.
25073
25074 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25075 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25076 (grub_uhci_transfer): Respect timeout and set *actual.
25077 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25078 non-standard length.
25079 (grub_usb_device_attach): Autoload modules.
25080 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25081 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25082 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25083 users updated.
25084 (grub_usb_add_hub): Fill nports and children.
25085 (attach_root_port): Receive hub instead of controller.
25086 All users updated. Fill hub->devices.
25087 (grub_usb_root_hub): Allocate hub->devices.
25088 (detach_device): New function.
25089 (poll_nonroot_hub): Fill children and detach devices.
25090 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25091 actual arguments. All users updated.
25092 (grub_usb_bulk_read_extended): New function.
25093 * bus/usb/serial/common.c: New file.
25094 * bus/usb/serial/ftdi.c: Likewise.
25095 * bus/usb/serial/pl2303.c: Likewise.
25096 * commands/terminal.c (handle_command): Support wildcard.
25097 * commands/usbtest.c: Output "Unknown" instead of empty string.
25098 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25099 (usbserial_common_mod_SOURCES): New variable.
25100 (usbserial_common_mod_CFLAGS): Likewise.
25101 (usbserial_common_mod_LDFLAGS): Likewise.
25102 (pkglib_MODULES): Add usbserial_pl2303.mod.
25103 (usbserial_pl2303_mod_SOURCES): New variable.
25104 (usbserial_pl2303_mod_CFLAGS): Likewise.
25105 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25106 (pkglib_MODULES): Add usbserial_ftdi.mod.
25107 (usbserial_ftdi_mod_SOURCES): New variable.
25108 (usbserial_ftdi_mod_CFLAGS): Likewise.
25109 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25110 (pkglib_MODULES): Add serial.mod.
25111 (serial_mod_SOURCES): New variable.
25112 (serial_mod_CFLAGS): Likewise.
25113 (serial_mod_LDFLAGS): Likewise.
25114 * conf/i386-pc.rmk: Likewise.
25115 * conf/mips-yeeloong.rmk: Likewise.
25116 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25117 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25118 * disk/usbms.c (first_available_slot): New variable.
25119 (grub_usbms_attach): Don't reuse free slots due to potential cache
25120 problems.
25121 * include/grub/serial.h: Moved to ..
25122 * include/grub/ns8250.h: ...this.
25123 * include/grub/serial.h: New file.
25124 * include/grub/term.h (grub_term_poll_usb): New variable.
25125 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25126 readkey. All users updated.
25127 (grub_terminfo_output_state): Pass term to put.
25128 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25129 (grub_usb_controller_dev): Add timeout and actual arguments to
25130 transfer. All users updated.
25131 (grub_usb_interface): New field detach_data.
25132 (grub_usb_device): New fields children and nports.
25133 (grub_usb_ep_type_t): New type.
25134 (grub_usb_get_ep_type): New function.
25135 (grub_usb_bulk_read_extended): Likewise.
25136 * include/grub/usbdesc.h (grub_usb_desc): New type.
25137 * include/grub/usbserial.h: New file.
25138 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25139 * kern/term.c (grub_term_poll_usb): New variable.
25140 (grub_getkey): Call grub_term_poll_usb if set.
25141 (grub_checkkey): Likewise.
25142 (grub_getkeystatus): Likewise.
25143 * term/serial.c: Moved controller-specific parts to ...
25144 * term/ns8250.c: ... here.
25145 * term/serial.c: Mostly rewritten.
25146 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25147 according to spec.
25148
21a313de
RM
251492010-08-20 Robert Millan <rmh@gnu.org>
25150
25151 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25152 a separate module and maybe other interesting combinations.
25153
25154 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25155 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25156 (kfreebsd_entry): Add generic filesystem module load routine.
25157 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25158
63c734a6
CW
251592010-08-20 Colin Watson <cjwatson@ubuntu.com>
25160
25161 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25162 "numcenter" (I misunderstood the purpose of this entry).
25163 * docs/grub.texi (sendkey): Likewise.
25164
c4d16542
CW
251652010-08-20 Colin Watson <cjwatson@ubuntu.com>
25166
25167 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25168 status flag options; simply omitting the option is equivalent and
25169 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25170 (keysym_table): Rename "num5numlock" to "numlock".
25171 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25172 can uniformly say that only the last of multiple `sendkey'
25173 invocations has any effect.
25174 * docs/grub.texi (sendkey): New section.
25175
93541d66
CW
251762010-08-19 Colin Watson <cjwatson@ubuntu.com>
25177
25178 * commands/i386/pc/sendkey.c (options): Fix three typos.
25179
b4ece5e1
VS
251802010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 Implement sendkey support.
25183
25184 * commands/i386/pc/sendkey.c: New file.
25185 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25186 (sendkey_mod_SOURCES): New variable.
25187 (sendkey_mod_CFLAGS): Likewise.
25188 (sendkey_mod_LDFLAGS): Likewise.
25189
51f1f5af
CW
251902010-08-18 Colin Watson <cjwatson@ubuntu.com>
25191
25192 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25193 fix warnings from Autoconf.
25194
9da94e05
CW
251952010-08-18 Colin Watson <cjwatson@ubuntu.com>
25196
25197 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25198 to avoid false positives with some assemblers that output things
25199 like "someprefix_func" as part of their output.
25200
729a0f2e
RM
252012010-08-15 Robert Millan <rmh@gnu.org>
25202
25203 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25204 errors.
25205 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25206 grub_get_libzfs_handle() errors.
25207
f3710e08
RM
252082010-08-14 Robert Millan <rmh@gnu.org>
25209
25210 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25211 filesystem is not ZFS.
25212
7a3c13de
BC
252132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25214
25215 Fix for misspelled color names defaulting to black/black (bug
25216 reported by Doug Nazar)
25217
25218 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25219 status to prototype.
25220 * normal/color.c (grub_parse_color_name_pair): Return failure
25221 status.
25222 (grub_env_write_color_normal): Ignore bad color names.
25223 (grub_env_write_color_highlight): Likewise.
25224 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25225
ab8ba50d
BC
252262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25227
25228 "shift" command support to GRUB script.
25229
25230 * include/grub/script_sh.h (grub_script_shift): New prototype.
25231 * script/execute.c (grub_script_shift): New function.
25232 * script/main.c (grub_script_init): Register shift command.
25233 (grub_script_fini): Unregister shift command.
25234 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25235
25236 * tests/grub_script_shift.in: New testcase.
25237 * conf/tests.rmk: Rules for new testcase.
25238
4d61999e
BC
252392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25240
25241 "continue" command support to GRUB script.
25242
25243 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25244 (grub_script_break): Continue support.
25245 * script/main.c (grub_script_init): Register continue command.
25246 (grub_script_fini): Unregister continue command.
25247
25248 * tests/grub_script_continue.in: New testcase.
25249 * conf/tests.rmk: Rules for new testcase.
25250
4df51e00
BC
252512010-08-12 BVK Chaitanya <bvk@dbook>
25252
25253 "break" command support to GRUB script.
25254
25255 * conf/common.rmk: Rule updates to grub-script-check.
25256 * include/grub/misc.h (grub_min): New function.
25257 * include/grub/script_sh.h (grub_script_init): New prototype.
25258 (grub_script_fini): New prototype.
25259 (grub_script_break): New prototype.
25260 * script/main.c (grub_script_init): New function.
25261 (grub_script_fini): New function.
25262 * script/execute.c (grub_script_break): New function.
25263 * normal/main.c: Calls to grub_script_{init,fini}.
25264 * util/grub-script-check.c (grub_script_break): New function.
25265
25266 * tests/grub_script_break.in: New testcase.
25267 * conf/tests.rmk: Rules for new test case.
25268
f12c8420
BC
252692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25270
25271 Function parameters support to GRUB script.
25272
25273 * script/yylex.l (VARIABLE): Regular expression update.
25274 * script/function.c (grub_script_function_call): Moved ...
25275 * script/execute.c (grub_script_function_call): ... to here.
25276 (grub_script_execute_arglist_to_argv): Removed.
25277 (grub_script_arglist_to_argv): New function.
25278 * script/argv.c: New file.
25279 (grub_script_argv_free): New function.
25280 (grub_script_argv_next): Likewise.
25281 (grub_script_argv_append): Likewise.
25282 (grub_script_argv_split_append): Likewise.
25283 * include/grub/script_sh.h (grub_script_argv): New struct.
25284 (grub_script_argv_free): New function.
25285 (grub_script_argv_next): Likewise.
25286 (grub_script_argv_append): Likewise.
25287 (grub_script_argv_split_append): Likewise.
25288
25289 * conf/common.rmk (normal.mod): New source script/argv.c.
25290
25291 * tests/grub_script_echo1.in: More tests.
25292 * tests/grub_script_vars1.in: Likewise.
25293 * tests/grub_script_functions.in: New test case.
25294 * conf/tests.rmk: Rules for new testcase.
25295
8022b748
BC
252962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25297
25298 Remove grub_script_cmdblock struct.
25299
25300 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25301 * script/parser.y: Likewise.
25302 * script/execute.c: Rename cmdblock suffix to cmdlist.
25303 * script/script.c: Likewise.
25304 * util/grub-script-check.c: Likewise.
25305
79a6ba61
YB
253062010-08-11 Yves Blusseau <blusseau@zetam.org>
25307
25308 * .bzrignore: add grub-macho2img
25309
d04b9414
VS
253102010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25313
f947ab49
VS
253142010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 Remove the dump of sm712 initialisation sequence.
25317
25318 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25319 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25320 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25321 (GRUB_VGA_CR_*): Added many registers.
25322 (GRUB_VGA_SR_*): Likewise.
25323 (GRUB_VGA_GR_*): Likewise.
25324 (grub_vga_write_arx): New function.
25325 (grub_video_hw_config): New struct.
25326 (grub_vga_set_geometry): New function.
25327 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25328 GRUB_PCI_CLASS_SUBCLASS_VGA.
25329 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25330 * video/sm712.c (grub_sm712_write_reg): New function
25331 (grub_sm712_read_reg): Likewise.
25332 (grub_sm712_sr_write): Likewise.
25333 (grub_sm712_gr_write): Likewise.
25334 (grub_sm712_cr_write): Likewise.
25335 (grub_sm712_write_arx): Likewise.
25336 (grub_sm712_cr_shadow_write): Likewise.
25337 (grub_sm712_write_dda_lookup): Likewise.
25338 (grub_video_sm712_setup): Initialise the video rather then
25339 blindly replay the dump.
25340 (main) [TEST]: Add a routine to be able to compile as standalone for
25341 tests.
25342 * video/sm712_init.c (sm712_init): Removed.
25343 (sm712_sr_seq1): New array.
25344 (sm712_sr_seq2): Likewise.
25345
f0206638
VS
253462010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * include/grub/vga.h: Add missing grub/pci.h include.
25349
2764da3b
YB
253502010-08-10 Yves Blusseau <blusseau@zetam.org>
25351
25352 * util/grub-macho2img.c (main): fix typo
25353
cf0c775e
VS
253542010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25357 (grub_vga_gr_read): Likewise.
25358 (grub_vga_cr_write): Likewise.
25359 (grub_vga_cr_read): Likewise.
25360 (grub_vga_sr_write): Likewise.
25361 (grub_vga_sr_read): Likewise.
25362 (grub_vga_palette_read): Likewise.
25363 (grub_vga_palette_write): Likewise.
25364 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25365 (grub_sm712_sr_read): New function.
25366 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25367 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25368
07f360e9
RM
253692010-08-09 Robert Millan <rmh@gnu.org>
25370
25371 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25372 out unused variables on non-ZFS build.
25373
346c2072
RM
253742010-08-08 Robert Millan <rmh@gnu.org>
25375
25376 Fix path generation for sub-filesystems in ZFS.
25377
25378 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25379 missing slash.
25380
71175420
RM
253812010-08-08 Robert Millan <rmh@gnu.org>
25382
25383 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25384
0d8286f3
RM
253852010-08-08 Robert Millan <rmh@gnu.org>
25386
25387 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25388 exist, issue a proper error message (rely on `ls' for translated
25389 strings).
25390
55dd2924
RM
253912010-08-08 Robert Millan <rmh@gnu.org>
25392
25393 Fix grub-probe invocation.
25394
25395 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25396
d3dd9e80
RM
253972010-08-04 Robert Millan <rmh@gnu.org>
25398
25399 * configure.ac: Remove checks for getfsstat() and getmntany().
25400 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25401 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25402 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25403 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25404 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25405 function.
25406 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25407 via find_mount_point_from_dir() and getfsstat() / getmntany().
25408
0de22aa9
RM
254092010-08-04 Robert Millan <rmh@gnu.org>
25410
25411 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25412 (grub_find_zpool_from_mount_point): Merge into ...
25413 (grub_find_zpool_from_dir): ... this.
25414 * kern/emu/misc.c: Likewise.
25415
25416 * kern/emu/misc.c
25417 (grub_make_system_path_relative_to_its_root): Replace
25418 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25419 with grub_find_zpool_from_dir().
25420 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25421
62858144
RM
254222010-08-04 Robert Millan <rmh@gnu.org>
25423
25424 Support OpenSolaris in ZFS device resolution.
25425
25426 * configure.ac: Check for getmntany().
25427 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25428 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25429 support.
25430
9dd6fd50
RM
254312010-08-03 Robert Millan <rmh@gnu.org>
25432
25433 Fix grub-emu build.
25434
25435 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25436 * include/grub/emu/misc.h: ... here.
25437
25438 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25439 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25440
25441 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25442 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25443 (grub_get_libzfs_handle): Move to ...
25444 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25445 (grub_get_libzfs_handle): ... here.
25446
c9f7ff97
BC
254472010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25448
25449 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25450 as command name case.
25451
a870a783
CW
254522010-08-02 Colin Watson <cjwatson@ubuntu.com>
25453
25454 * disk/raid.c (insert_array): Select unique numbers for named arrays
25455 as well, for use as keys in the disk cache.
25456
c7db243b
RM
254572010-08-01 Robert Millan <rmh@gnu.org>
25458
25459 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
25460 kFreeBSD device name, except on ZFS where the filesystem label is
25461 used.
25462 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
25463 `/boot/zfs/zpool.cache'.
25464 Set mountfrom kernel variable using ${kfreebsd_device}.
25465
f7abdefb
RM
254662010-08-01 Robert Millan <rmh@gnu.org>
25467
25468 Make it even harder to use uninitialized `libzfs_handle' (and
25469 make the interface a bit simpler).
25470
25471 * include/grub/util/misc.h (grub_util_init_libzfs)
25472 (libzfs_handle): Remove.
25473 (grub_get_libzfs_handle): New prototype.
25474
25475 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
25476 attribute.
25477 (grub_util_init_libzfs): Remove.
25478 (grub_get_libzfs_handle): New function.
25479
25480 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
25481 grub_get_libzfs_handle() to obtain a libzfs handle instead of
25482 accessing `libzfs_handle' directly.
25483
c882acc0
RM
254842010-08-01 Robert Millan <rmh@gnu.org>
25485
25486 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25487 (grub_find_zpool_from_mount_point): New function prototypes.
25488
25489 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25490 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25491
25492 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25493 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25494 `static' attribute.
25495
25496 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25497 finding zpool from mount point into ...
25498 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25499
25500 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25501 requested path is part of a ZFS pool, use
25502 grub_find_zpool_from_mount_point() to detect its filesystem name,
25503 and generate a path with `/fsname@path' syntax.
25504
8bfe31d8
CW
255052010-08-01 Colin Watson <cjwatson@ubuntu.com>
25506
25507 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
25508 (void) rather than () so that this is a proper prototype.
25509
553df63d
VS
255102010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
25513
8687cf07
VS
255142010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25515
25516 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
25517 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
25518
ea9be8ea
CW
255192010-08-01 Colin Watson <cjwatson@ubuntu.com>
25520
25521 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
25522
6eea041a
CW
255232010-08-01 Colin Watson <cjwatson@ubuntu.com>
25524
25525 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
25526
2cfb45df
CW
255272010-08-01 Colin Watson <cjwatson@ubuntu.com>
25528
25529 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
25530 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
25531 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
25532 disable gfxpayload.
25533 (Shell-like scripting): Add real content.
25534 (Serial terminal): Suggest `terminal_input serial; terminal_output
25535 serial' rather than putting the two commands on separate lines,
25536 since console input will be inoperative after the first command.
25537 (menuentry): Document --class, --users, and --hotkey options.
25538 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
25539 Vladimir Serbinenko).
25540
7decd202
VS
255412010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
255422010-08-01 Colin Watson <cjwatson@ubuntu.com>
25543
25544 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
25545
c882acc0
RM
255462010-08-01 Robert Millan <rmh@gnu.org>
25547
25548 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25549 (grub_find_zpool_from_mount_point): New function prototypes.
25550
25551 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
25552 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
25553
25554 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
25555 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
25556 `static' attribute.
25557
25558 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
25559 finding zpool from mount point into ...
25560 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
25561
25562 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
25563 requested path is part of a ZFS pool, use
25564 grub_find_zpool_from_mount_point() to detect its filesystem name,
25565 and generate a path with `/fsname@path' syntax.
25566
deb0caa3
RM
255672010-08-01 Robert Millan <rmh@gnu.org>
25568
25569 Prevent accidental use of uninitialized libzfs_handle.
25570
25571 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
25572 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
25573 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
25574
ce04ef47
CW
255752010-08-01 Colin Watson <cjwatson@ubuntu.com>
25576
25577 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
25578 util/grub.d/10_linux.in). Fixes Debian bug #591093.
25579
ebf53056
RM
255802010-08-01 Robert Millan <rmh@gnu.org>
25581
25582 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 25583
3710bb6b
RM
255842010-07-31 Robert Millan <rmh@gnu.org>
25585
25586 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
25587
8072efeb
RM
255882010-07-31 Robert Millan <rmh@gnu.org>
25589
25590 * kern/emu/misc.c: Add missing license header.
25591
3169f4c7
RM
255922010-07-31 Robert Millan <rmh@gnu.org>
25593
25594 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
25595
25596 * include/grub/util/libnvpair.h: Include `<config.h>'.
25597 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
25598 declaring libnvpair prototypes ourselves.
25599 * include/grub/util/libzfs.h: Include `<config.h>'.
25600 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
25601 declaring libzfs prototypes ourselves.
25602
25603 (libzfs_handle): Moved to ...
25604 * include/grub/util/misc.h (libzfs_handle): ... here.
25605 Include `<grub/util/libzfs.h>'.
25606
c9a00aee
RM
256072010-07-30 Robert Millan <rmh@gnu.org>
25608
25609 * include/grub/emu/misc.h: Add missing license header.
25610
a184f9c8
RM
256112010-07-30 Robert Millan <rmh@gnu.org>
25612
25613 Enable `grub-probe -t device' resolution on ZFS.
25614
25615 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
25616 * include/grub/util/libnvpair.h: New file.
25617 * include/grub/util/libzfs.h: New file.
25618
25619 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
25620 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
25621 `<grub/util/libnvpair.h>'.
25622 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
25623
25624 (find_mount_point_from_dir): New static function.
25625 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
25626 function.
25627 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
25628 find_root_device_from_libzfs() before ressorting to find_root_device().
25629
25630 * include/grub/util/misc.h (grub_util_init_libzfs): New function
25631 prototype.
25632 * util/misc.c: Include `<grub/util/libzfs.h>'.
25633 (grub_util_init_libzfs): New function.
25634 [HAVE_LIBZFS] (libzfs_handle): New global variable.
25635 [HAVE_LIBZFS] (fini_libzfs): New static function.
25636 (grub_util_init_libzfs): New function.
25637 * util/grub-probe.c (main): Call grub_util_init_libzfs().
25638
f7790cdd
RM
256392010-07-30 Robert Millan <rmh@gnu.org>
25640
25641 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
25642 (xmalloc, xrealloc, xstrdup, xasprintf): Add
25643 `warn_unused_result' attribute.
25644 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
25645 (grub_xasprintf, grub_xvasprintf): Likewise.
25646 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
25647
0806b63c
RM
256482010-07-29 Robert Millan <rmh@gnu.org>
25649
25650 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
25651 (probe): Handle `PRINT_FS_LABEL'.
25652 (main): Handle `-t fs_label'.
25653
9f841f5c
RM
256542010-07-29 Robert Millan <rmh@gnu.org>
25655
25656 * configure.ac: Remove grub-mkisofs checks.
25657
46371121
VS
256582010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25659
25660 * util/ieee1275/grub-install.in: Don't use empty grub_device.
25661 Reported by: Lennart Sorensen.
25662
256632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
25666 prior to terminal_input/terminal_output separation. It's been over 1.5
25667 years and those versions weren't widely deployed.
25668
a9600892
CW
256692010-07-22 Colin Watson <cjwatson@ubuntu.com>
25670
25671 * disk/raid.c (insert_array): Don't count named arrays when looking
25672 for unused array numbers.
697e053c 25673 Reported and tested by: Michael Guntsche.
a9600892 25674
c03507df
CW
256752010-07-20 Colin Watson <cjwatson@ubuntu.com>
25676
25677 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
25678 implementation of this so that grub-emu links again, with a note
25679 that this should support hotplugging in the future.
25680
b26f1c11
CW
256812010-07-20 Colin Watson <cjwatson@ubuntu.com>
25682
25683 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25684
efc9d7f1
CW
256852010-07-20 Colin Watson <cjwatson@ubuntu.com>
25686
25687 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
25688 handle on failure.
25689 (grub_loopback_close): Remove empty function.
25690 (grub_loopback_dev): Remove close method.
25691
dd8ff5c9
CW
256922010-07-20 Colin Watson <cjwatson@ubuntu.com>
25693
25694 Disable EFI cursor when the EFI console becomes inactive.
25695
25696 * term/efi/console.c (grub_efi_console_init): New function.
25697 (grub_efi_console_fini): New function.
25698 (grub_console_term_output): Register init and fini methods.
25699
5e3bec67
VS
257002010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * tests/util/grub-shell-tester.in: Remove bashism and declare as
25703 sh script.
25704
afaec079
VS
257052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 * disk/loopback.c (grub_loopback): Replace filename with file.
25708 (delete_loopback): Handle new semantics.
25709 (grub_cmd_loopback): Likewise.
25710 (grub_loopback_iterate): Likewise.
25711 (grub_loopback_close): Likewise.
25712
a6a11f3c
VS
257132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25714
25715 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
25716 with -p "".
25717 Reported by: Tito Keitel.
25718
64a638b0
VS
257192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * docs/grub.texi (Naming convention): Document new naming convention.
25722
ab8ba957
VS
257232010-07-20 Vadim Solomin <vadic052@gmail.com>
257242010-07-20 Colin Watson <cjwatson@ubuntu.com>
25725
25726 Generate device.map in something closer to the old ordering.
25727
25728 * util/deviceiter.c (struct device): New declaration.
25729 (compare_file_names): Rename to ...
25730 (compare_devices): ... this. Sort by kernel name in preference to
25731 the stable by-id name, but keep the latter as a fallback comparison.
25732 Update header comment.
25733 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
25734 of `struct device' rather than of plain file names.
25735
a29d6a4b
TF
257362010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
25737
25738 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
25739 on i386.
25740
39d824e8
VS
257412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25742
25743 * commands/acpi.c (setup_common_tables): Use sizeof instead of
25744 hardcoding size.
25745 (setv1table): Likewise.
25746
f058276b
FZ
257472010-07-20 Colin Watson <cjwatson@ubuntu.com>
25748
25749 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
25750 removing the homehost if present.
25751 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
25752 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
25753 removing the homehost if present.
25754 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
25755 if possible.
25756 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
25757
25758 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
25759 parameter. Set its pointer target to 0.
25760 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
25761 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
25762 `data_offset' value from the superblock for 1.x metadata.
25763 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
25764 data on the device.
25765 (insert_array): Record the start sector of data on the device.
25766 (grub_raid_register): Pass start_sector parameters to
25767 grub_raid_list->detect and insert_array.
25768 * include/grub/raid.h (struct grub_raid_array): Add start_sector
25769 member.
25770 (struct grub_raid): Add start_sector parameter to `detect'.
25771
25772 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
25773 __attribute__ ((packed)), leaving a comment.
25774 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
25775 (grub_mdraid_detect_09): ... here and ...
25776 (grub_mdraid_detect_1x): ... here.
25777
257782010-07-20 Peter Henn <peter.henn@web.de>
25779
25780 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
25781 chunk size and disk size, which are already given as sector counts
25782 as distinct from the 0.90 units. Fetch the correct device number
25783 from the role table instead of using the table index.
25784
257852010-07-20 Felix Zielcke <fzielcke@z-51.de>
25786
25787 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
25788 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
25789 (WriteMostly1): New macro.
25790 Set array->name to NULL for metadata format 0.90. Add support for
25791 metadata 1.x. Fix some comments.
25792 * disk/raid.c (): Add support for name based RAID arrays. Fix a
25793 few comments.
25794 * util/getroot.c (grub_util_get_grub_dev): Add support for
25795 /dev/md/name style devices.
25796
4b761da9
CW
257972010-07-20 Colin Watson <cjwatson@ubuntu.com>
25798
25799 * .bzrignore: Ignore 20_linux_xen.
25800
5771289a
CW
258012010-07-17 Colin Watson <cjwatson@ubuntu.com>
25802
25803 * util/import_unicode.py: Remove unnecessary imports.
25804
5dab68df
AN
258052010-07-17 Aleš Nesrsta <starous@volny.cz>
25806
25807 Hotplugging and USB hub support.
25808
25809 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
25810 (grub_ohci): Likewise.
25811 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
25812 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
25813 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
25814 (GRUB_OHCI_CTRL_EDS): Likewise.
25815 (GRUB_OHCI_BULK_EDS): Likewise.
25816 (GRUB_OHCI_TDS): Likewise.
25817 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
25818 (grub_ohci_ed_phys2virt): New function.
25819 (grub_ohci_virt_to_phys): Likewise.
25820 (grub_ohci_td_phys2virt): Likewise.
25821 (grub_ohci_td_virt2phys): Likewise.
25822 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
25823 attachment.
25824 (grub_ohci_find_ed): New function.
25825 (grub_ohci_alloc_td): Likewise.
25826 (grub_ohci_free_td): Likewise.
25827 (grub_ohci_free_tds): Likewise.
25828 (grub_ohci_transfer): Use previously allocated memory.
25829 (grub_ohci_portstatus): Reset status changed bit.
25830 (grub_ohci_detect_dev): Supply status changed.
25831 (grub_ohci_fini_hw): Free memory.
25832 (grub_ohci_restore_hw): Reallocate memory.
25833 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
25834 Reset status change.
25835 (grub_uhci_detect_dev): Supply status_change.
25836 * bus/usb/usb.c (attach_hooks): New var.
25837 (grub_usb_device_attach): New function.
25838 (grub_usb_register_attach_hook_class): Likewise.
25839 (grub_usb_unregister_attach_hook_class): Likewise.
25840 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
25841 (grub_usb_add_hub): Reset connection changed bit.
25842 (attach_root_port): New function.
25843 (grub_usb_root_hub): Likewise.
25844 (poll_nonroot_hub): Likewise.
25845 (grub_usb_poll_devices): Likewise.
25846 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
25847 * disk/usbms.c (grub_usbms_open): Use device hooks.
25848 (grub_usbms_iterate) :Poll devices.
25849 (grub_usbms_finddevs): Split into ...
25850 (grub_usbms_attach): ... this ...
25851 (grub_usbms_attach): ... and this.
25852 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
25853 in detect_dev.
25854 (grub_usb_interface): New fields attached and detach_hook.
25855 (grub_usb_attach_hook_class): New type.
25856 (grub_usb_attach_desc): New struct.
25857 (grub_usb_register_attach_hook_class): New function.
25858 (grub_usb_unregister_attach_hook_class): Likewise.
25859 (grub_usb_poll_devices): Likewise.
25860 (grub_usb_device_attach): Likewise.
25861 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
25862 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
25863
3222efaf
VS
258642010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25865
25866 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
25867 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
25868 delta determination style. Works with most NetBSD partitions too.
25869
139b714a
VS
258702010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25871
25872 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
25873 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
25874
986aad56
VS
258752010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
25878
99be513c
AB
258792010-07-14 Anton Blanchard <anton@samba.org>
25880
25881 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
25882 ET_DYN files.
25883
18075f62
GS
258842010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25885
25886 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
25887
8d9a5b15
GS
258882010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25889
25890 * kern/partition.c (grub_partition_check_containment): New function to
25891 check that a partition is physically contained in a parent. Since
25892 offsets are relative (and non-negative), this reduces to checking that
25893 the partition ends before its parent.
25894 (grub_partition_map_probe): Discard out-of-range sub-partitions.
25895 (grub_partition_iterate): Likewise.
25896 * include/grub/partition.h (grub_partition_map): Slightly more detailed
25897 comments.
25898 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
25899 partitions that start before their parent, and add debug printfs.
25900
19563c25
CW
259012010-07-13 Colin Watson <cjwatson@ubuntu.com>
25902
25903 * Makefile.in (.SUFFIX): Spell correctly, as ...
25904 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
25905 bare module name without `.mod', e.g. `test') tried to invoke a
25906 Modula-2 compiler.
25907
1a1f1e67
CW
259082010-07-13 Colin Watson <cjwatson@ubuntu.com>
25909
25910 * README: Point to the Info manual.
25911
811b0dca
JS
259122010-07-13 Jiro SEKIBA <jir@unicus.jp>
25913
25914 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
25915 2nd superblock position from partition size.
25916
e4f4eafc
CW
259172010-07-10 Colin Watson <cjwatson@ubuntu.com>
25918
25919 * Makefile.in (MAINTAINER_CLEANFILES): Remove
25920 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
25921 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
25922 outputs.
25923
4274c30f
VS
259242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25925
25926 Restructure SCSI .id handling.
25927 Reported and tested by: Aleš Nesrsta.
25928
25929 * disk/ata.c (grub_atapi_close): Removed. All users updated.
25930 (grub_atapi_dev): Changed .name to "ata". New field .id.
25931 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
25932 (grub_usbms_dev): New field .id.
25933 * disk/scsi.c (grub_scsi_iterate): Generate name.
25934 (grub_scsi_open): Parse name.
25935 * include/grub/scsi.h (grub_make_scsi_id): New function.
25936 (grub_scsi_dev): Change iterate and open to number instead of naming
25937 busses. All users updated.
25938 (grub_scsi): Remove name. Add .bus.
25939
5bc24388
VS
259402010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 * commands/help.c (grub_cmd_help): Fix a typo.
25943
249975ba
VS
259442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25945
25946 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
25947 Reported and tested by: Colin Watson.
25948
3eaac1a1
VS
259492010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
25950
25951 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
25952 in this context.
25953
becce1b1
VS
259542010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
25955
25956 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
25957
f7bf0918
CW
259582010-07-07 Colin Watson <cjwatson@ubuntu.com>
25959
25960 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
25961 indentation.
25962
0b0f9620
CW
259632010-07-06 Colin Watson <cjwatson@ubuntu.com>
25964
25965 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
25966 and disk/raid6_recover.c.
25967 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25968 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25969
1e545469
CW
259702010-07-06 Colin Watson <cjwatson@ubuntu.com>
25971
25972 * term/gfxterm.c (repaint_schedulded): Rename to ...
25973 (repaint_scheduled): ... this. Update all callers.
25974 (repaint_was_schedulded): Rename to ...
25975 (repaint_was_scheduled): ... this. Update all callers.
25976
5357687a
CW
259772010-07-06 Colin Watson <cjwatson@ubuntu.com>
25978
25979 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
25980 which we expect to be handled by upper layers.
25981
29d7e783
BC
259822010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
25983
25984 * bus/usb/usbhub.c: #include time.h header.
25985
37582066
CW
259862010-07-06 Colin Watson <cjwatson@ubuntu.com>
25987
25988 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
25989 entry_name also for entries without stat blocks (e.g. ".."); fixes
25990 corruption of the first entry in a directory.
25991
c8c06953
CW
259922010-07-06 Colin Watson <cjwatson@ubuntu.com>
25993
25994 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
25995 after setting gfxterm as the active terminal. GRUB_BACKGROUND
25996 doesn't work otherwise.
25997
e75056f1
CW
259982010-07-05 Colin Watson <cjwatson@ubuntu.com>
25999
26000 * docs/grub.texi (Features): Update list of supported file systems.
26001 (GNU/Linux): Update for GRUB 2.
26002 (Serial terminal): Remove mention of --disable-serial, which was a
26003 GRUB Legacy configure option. Update instructions to use
26004 `terminal_input' and `terminal_output' rather than `terminal'.
26005 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26006 configuration' and `Installing GRUB using grub-install'.
26007 (Menu entry editor): Update for GRUB 2.
26008 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26009 Document new -a, -u, and -v options.
26010 (initrd): New section.
26011 (initrd16): New section.
26012 (linux): New section.
26013 (linux16): New section.
26014 (search): The `var' argument to `--set' is optional.
26015 (GRUB only offers a rescue shell): Go into a little more detail on
26016 drive ordering.
26017
5cf69151
CW
260182010-07-05 Colin Watson <cjwatson@ubuntu.com>
26019
26020 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26021
e3f90044
CW
260222010-07-05 Colin Watson <cjwatson@ubuntu.com>
26023
26024 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26025 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26026
38d8f4f3
CW
260272010-07-05 Colin Watson <cjwatson@ubuntu.com>
26028
26029 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26030 install_prefix, in line with install_dos_part and install_bsd_part.
26031 Add new prefix variable, which is copied to install_prefix after
26032 comparing core.img in memory with the one read from disk in the
26033 no-embedding case, and use that rather than overwriting
26034 install_prefix immediately when installing to a partition.
26035 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26036 Bicakci.
26037
57ebd41e
GS
260382010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26039
26040 * configure.ac: Avoid == in test command, it's not portable.
26041 * util/grub.d/30_os-prober.in: Likewise.
26042
cb7f64b2
CW
260432010-07-04 Colin Watson <cjwatson@ubuntu.com>
26044
26045 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26046
6b654bb0
GS
260472010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26048
26049 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26050 multiple (top-level) partmaps.
26051
72a2026d
VS
260522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26053
26054 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 26055 Reported by: Tino Keitel.
72a2026d 26056
df3eb88f
VS
260572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 Bidi and diacritics support.
26060
26061 * Makefile.in (widthspec.bin): New target.
26062 (widthspec.h): Likewise.
26063 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26064 * autogen.sh: Generate unidata.c.
26065 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26066 * commands/ls.c (grub_ls_list_devices): Likewise.
26067 (grub_ls_list_files): Likewise.
26068 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26069 (grub_mini_cmd_lsmod): Likewise.
26070 * commands/read.c: Likewise.
26071 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26072 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26073 * lib/arg.c (grub_arg_show_help): Likewise.
26074 * lib/crypto.c (grub_password_get): Likewise.
26075 * normal/auth.c (grub_username_get): Likewise.
26076 * normal/misc.c (grub_normal_print_device_info): Likewise.
26077 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26078 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26079 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26080 (normal/charset.c_DEPENDENCIES): New variable.
26081 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26082 (pkglib_MODULES): Remove charset.mod.
26083 (charset_mod_SOURCES): Removed.
26084 (charset_mod_CFLAGS): Likewise.
26085 (charset_mod_LDFLAGS): Likewise.
26086 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26087 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26088 and term/tparm.c.
26089 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26090 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26091 (kernel_img_HEADERS): Add terminfo.h.
26092 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26093 Fill ->font. Reverse ascii bitmaps.
26094 (grub_font_get_xheight): New function.
26095 * font/font.c (grub_font_get_string_width): Moved from here ...
26096 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26097 * font/font.c (grub_font_draw_string): Moved from here ...
26098 * gfxmenu/font.c (grub_font_draw_string): ... here.
26099 * font/font.c (grub_font_dup_glyph): New function.
26100 (grub_font_blit_glyph): Likewise.
26101 (grub_font_blit_glyph_mirror): Likewise.
26102 (blit_comb): Likewise.
26103 (grub_font_construct_dry_run): Likewise.
26104 (grub_font_get_constructed_device_width): Likewise.
26105 (grub_font_construct_glyph): Likewise.
26106 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26107 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26108 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26109 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26110 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26111 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26112 (grub_font_get_xheight): New proto.
26113 (grub_font_get_constructed_device_width): Likewise.
26114 (grub_font_construct_glyph): Likewise.
26115 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26116 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26117 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26118 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26119 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26120 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26121 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26122 (grub_console_getcharwidth): Likewise.
26123 * include/grub/misc.h (grub_xputs): New proto.
26124 (grub_puts): Inlined.
26125 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26126 (grub_normal_get_line_counter): Removed.
26127 (grub_install_newline_hook): Likewise.
26128 (grub_normal_get_char_counter): New proto.
26129 (grub_normal_reset_more): Likewise.
26130 (grub_xputs_normal): Likewise.
26131 * include/grub/powerpc/ieee1275/console.h: Removed.
26132 * include/grub/sparc64/ieee1275/console.h: Likewise.
26133 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26134 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26135 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26136 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26137 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26138 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26139 (grub_term_input): Pass reference to self. All users updated.
26140 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26141 Pass reference to self. New fields normal_color, highlight_color and
26142 data. All users updated.
26143 (grub_putchar): Removed.
26144 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26145 (grub_unicode_estimate_width): New function.
26146 (grub_term_getcharwidth): Add defaults.
26147 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26148 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26149 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26150 (grub_cls): Remove EXPORT_FUNC.
26151 (grub_setcolorstate): Inline.
26152 (grub_newline_hook): Removed.
26153 * include/grub/terminfo.h: Rewritten. All users updated.
26154 * include/grub/unicode.h: New file.
26155 * include/grub/video.h (grub_video_signed_rect): New type.
26156 * kern/emu/console.c (grub_console_highlight_color): Removed.
26157 (grub_console_normal_color): Likewise.
26158 (grub_console_standard_color): Made static.
26159 (grub_ncurses_putchar): Remove mapping.
26160 (grub_ncurses_getcharwidth): Removed.
26161 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26162 (grub_ncurses_setcolor): Removed.
26163 (grub_ncurses_getcolor): Likewise.
26164 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26165 (grub_console_putchar): ... this.
26166 (grub_console_putchar): Handle argument difference.
26167 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26168 console_init_early and console_init_lately.
26169 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26170 * kern/misc.c (grub_puts): Removed.
26171 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26172 (grub_vsnprintf_real): Remove str = NULL support.
26173 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26174 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26175 * kern/term.c (grub_putcode): Renamed to ...
26176 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26177 (grub_putchar): Removed.
26178 (grub_xputs_dumb): New function.
26179 (grub_xputs): New variable.
26180 * lib/charset.c: Move from here ...
26181 * normal/charset.c: ... to here.
26182 (grub_ucs4_to_utf8): New function.
26183 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26184 (join_types): New variable.
26185 (unpack_join): New function.
26186 (bidi_types): New variable.
26187 (unpack_bidi): New function.
26188 (get_bidi_type): Likewise.
26189 (get_join_type): Likewise.
26190 (is_mirrored): Likewise.
26191 (grub_unicode_get_comb_type): Likewise.
26192 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26193 (is_type_after): Likewise.
26194 (grub_unicode_aglomerate_comb): Likewise.
26195 (bidi_line_wrap): Likewise.
26196 (grub_bidi_line_logical_to_visual): Likewise.
26197 (grub_bidi_logical_to_visual): Likewise.
26198 (grub_unicode_mirror_code): Likewise.
26199 (grub_unicode_shape_code): Likewise.
26200 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26201 Don't use grub_putchar.
26202 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26203 (grub_normal_reader_init): Likewise.
26204 (grub_xputs_saved): New variable.
26205 (GRUB_MOD_INIT): Set grub_xputs.
26206 (GRUB_MOD_FINI): Restore grub_xputs.
26207 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26208 (menu_init): Avoid printing gfxmenu error.
26209 (show_menu): Use grub_normal_get_char_counter.
26210 * normal/menu_entry.c (update_screen): Fix out-of-array.
26211 (complete): Avoid NULL dereferencing.
26212 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26213 * normal/menu_text.c (print_spaces): Removed.
26214 (grub_print_ucs4): Likewise.
26215 (grub_print_message_indented): Use grub_print_ucs4.
26216 (print_message): Use grub_putcode.
26217 (print_entry): Hanlde diacritics.
26218 * normal/term.c (term_state): New type.
26219 (grub_more_lines): Removed.
26220 (term_states): New variable.
26221 (grub_normal_line_counter): Renamed to ..
26222 (grub_normal_char_counter): ...this. All users updated.
26223 (grub_normal_get_line_counter): Renamed to ...
26224 (grub_normal_get_char_counter): ... this.
26225 (grub_normal_reset_more): New function.
26226 (process_newline): Removed.
26227 (print_more): New function.
26228 (grub_install_newline_hook): Removed.
26229 (map_code): New function.
26230 (grub_puts_terminal): Use grub_print_ucs4.
26231 (putglyph): New function.
26232 (putcode_real): Likewise.
26233 (grub_putcode): Use putcode_real.
26234 (get_maxwidth): New function.
26235 (get_startwidth): Likewise.
26236 (print_ucs4_terminal): Likewise.
26237 (find_term_state): Likewise.
26238 (put_glyphs_terminal): Likewise.
26239 (print_backlog): Likewise.
26240 (print_ucs4_real): Likewise.
26241 (grub_print_ucs4): Likewise.
26242 (grub_xputs_normal): Likewise.
26243 * term/efi/console.c (grub_console_putchar): Output diacritics.
26244 (grub_console_getcharwidth): Removed.
26245 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26246 * term/gfxterm.c (clear_char): Free chars.
26247 (scroll_up): Avoid leaking memory.
26248 (grub_gfxterm_putchar): Support diacritics.
26249 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26250 * term/i386/pc/console.c (grub_console_term_output): Declare as
26251 GRUB_TERM_CODE_TYPE_VGA.
26252 * term/i386/pc/vga.c (grub_vga_term): Declare as
26253 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26254 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26255 GRUB_TERM_CODE_TYPE_VGA.
26256 * term/i386/vga_common.c (map_char): Removed.
26257 (grub_console_putchar): Likewise.
26258 (grub_console_getcharwidth): Likewise.
26259 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26260 (colors): Reordered to match terminfo.
26261 (grub_ofconsole_normal_color): Removed.
26262 (grub_ofconsole_writeesc): Likewise.
26263 (grub_ofconsole_highlight_color): Likewise.
26264 (grub_ofconsole_getcharwidth): Likewise.
26265 (grub_ofconsole_setcolorstate): Likewise.
26266 (grub_ofconsole_setcolor): Likewise.
26267 (grub_ofconsole_getcolor): Likewise.
26268 (grub_ofconsole_readkey): Renamed to ...
26269 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26270 key.
26271 (grub_ofconsole_checkkey): Removed.
26272 (grub_ofconsole_getkey): Likewise.
26273 (grub_ofconsole_getxy): Likewise.
26274 (grub_ofconsole_gotoxy): Likewise.
26275 (grub_ofconsole_cls): Likewise.
26276 (grub_ofconsole_refresh): Likewise.
26277 (grub_ofconsole_terminfo_input): New struct.
26278 (grub_ofconsole_terminfo_output): Likewise.
26279 (grub_ofconsole_term_input): Use terminfo.
26280 (grub_ofconsole_term_output): Likewise.
26281 (grub_console_init): Split into ...
26282 (grub_console_init_early): ...this and ...
26283 (grub_console_init_lately): ...this. Use terminfo.
26284 (grub_ofconsole_putchar): Renamed to ...
26285 (put): ... this. Remove mapping.
26286 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26287 * term/serial.c: Simplify using terminfo.
26288 (xpos): Removed.
26289 (ypos): Likewise.
26290 (keep_track): Likewise.
26291 (registered): Likewise.
26292 (input_buf): Likewise.
26293 (npending): Likewise.
26294 (serial_translate_key_sequence): Likewise.
26295 (fill_input_buf): Likewise.
26296 (grub_serial_checkkey): Likewise.
26297 (grub_serial_getkey): Likewise.
26298 (grub_serial_getxy): Likewise.
26299 (grub_serial_gotoxy): Likewise.
26300 (grub_serial_putchar): Likewise.
26301 (grub_serial_cls): Likewise.
26302 (grub_serial_setcolorstate): Likewise.
26303 (grub_serial_setcursor): Likewise.
26304 (serial_hw_init): Use serial_hw_fetch.
26305 (grub_serial_terminfo_input): New variable.
26306 (grub_serial_terminfo_output): Likewise.
26307 (grub_serial_term_input): Use terminfo.
26308 (grub_serial_term_output): Likewise.
26309 * term/terminfo.c (putstr): Use put.
26310 (grub_terminfo_all_free): New function
26311 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26312 (grub_terminfo_output_register): New function.
26313 (grub_terminfo_output_unregister): Likewise.
26314 (grub_terminfo_getxy): Likewise.
26315 (grub_terminfo_readkey): Likewise.
26316 (grub_terminfo_checkkey): Likewise.
26317 (grub_terminfo_getkey): Likewise.
26318 (grub_terminfo_input_init): Likewise.
26319 (print_terminfo): Likewise.
26320 (grub_cmd_terminfo): Handle encoding.
26321 (grub_terminfo_gotoxy): Track position.
26322 (grub_terminfo_cls): Likewise.
26323 (grub_terminfo_putchar): Likewise.
26324 (grub_terminfo_setcolorstate): Handle colors
26325 (grub_terminfo_cursor_on): This ...
26326 (grub_terminfo_cursor_off): ... and this merged into ...
26327 (grub_terminfo_setcursor): ... this.
26328 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26329 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26330 * unicode/BidiMirroring.txt: Likewise.
26331 * unicode/UnicodeData.txt: Likewise.
26332 * unicode/COPYING: Likewise.
26333 * util/grub-editenv.c (grub_putchar): Removed.
26334 (grub_xputs_real): New function.
26335 (grub_xputs): New variable.
26336 * util/grub-fstest.c (grub_putchar): Removed.
26337 (grub_xputs_real): New function.
26338 (grub_xputs): New variable.
26339 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26340 (grub_xputs_real): New function.
26341 (grub_xputs): New variable.
26342 * util/grub-probe.c (grub_putchar): Removed.
26343 (grub_xputs_real): New function.
26344 (grub_xputs): New variable.
26345 * util/grub-script-check.c (grub_putchar): Removed.
26346 (grub_xputs_real): New function.
26347 (grub_xputs): New variable.
26348 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26349 (grub_xputs_real): New function.
26350 (grub_xputs): New variable.
26351 * util/import_unicode.py: New file.
26352 * util/grub-mkfont.c (ft_errmsgs): New array.
26353 (grub_glyph_info): Make bitmap a pointer.
26354 (file_formats): New type WIDTH_SPEC.
26355 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26356 (options): Add width-spec.
26357 (help): Likewise.
26358 (add_char): Renamed to ...
26359 (add_glyph): ... this.
26360 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26361 (glyph_replace): New type.
26362 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26363 (add_char): New function.
26364 (add_subst): Likewise.
26365 (process_cursive): Likewise.
26366 (add_font): Handle GSUB.
26367 (write_font_width_spec): New function.
26368 (main): Sort glyphs.
26369 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26370 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26371 * kern/term.c (grub_cls): Moved from here...
26372 * normal/term.c (grub_cls): ... here.
26373
50f0bcda
CW
263742010-07-02 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26377 suitable for using within the format argument of printf when
26378 converting grub_size_t.
26379 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26380 "x" to convert grub_size_t arguments.
26381
40372103
VS
263822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26383
26384 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26385 too long captions.
26386 (list_get_minimal_size): Take selection box into account.
26387
942a10c7
VS
263882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26391 NULL font.
26392
2bdb2892
CW
263932010-07-02 Colin Watson <cjwatson@ubuntu.com>
26394
26395 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26396 devices when iterating over /dev/disk/by-id; they will be handled
26397 later if appropriate, which they aren't always (e.g. LVM).
26398
e03ed6c1
CW
263992010-07-02 Colin Watson <cjwatson@ubuntu.com>
26400
26401 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26402 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26403 fails.
26404 (grub_halt): Likewise.
26405 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26406 reset-all fails.
26407 (grub_halt): Don't return, even if all of shut-down, power-off, and
26408 poweroff fail.
26409
47695765
CW
264102010-07-02 Colin Watson <cjwatson@ubuntu.com>
26411
26412 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26413 arguments, not three.
26414
507736c8
CW
264152010-07-02 Colin Watson <cjwatson@ubuntu.com>
26416
26417 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26418 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26419 LVM-on-RAID is handled correctly.
26420
e3c8cd37
CW
264212010-07-02 Colin Watson <cjwatson@ubuntu.com>
26422
26423 * docs/grub.texi (Changes from GRUB Legacy): New section.
26424 (Future): Fix typo.
26425
8d4a2fec
CW
264262010-07-02 Colin Watson <cjwatson@ubuntu.com>
26427
26428 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26429 grub.d/README accidentally ends up executable for one reason or
26430 another. Ignore it.
26431
1c4827be
VS
264322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26435 (gpt_partition_map_iterate): Support non-512B sectors.
26436
d9a0c941
VS
264372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26438
26439 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26440 Tested by: Seth Goldberg.
26441
48f27e87
VS
264422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26443
26444 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26445 Properly align mbi.
26446 Reported by: Seth Goldberg.
26447
b0c4f956
VS
264482010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 * util/grub-mkrescue.in: Avoid module duplication.
26451
105a2e8c
SF
264522010-07-01 Sean Finney <seanius@seanius.net>
26453
26454 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
26455
5944958c
SF
264562010-07-01 Sean Finney <seanius@seanius.net>
26457
26458 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
26459
264602010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 * disk/lvm.c (grub_lvm_checkvalue): New function.
26463 (grub_lvm_check_flag): Likewise.
26464
b79889ba
RM
264652010-07-01 Robert Millan <rmh@gnu.org>
26466
26467 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
26468 Support 'p' as partition separator on kernel of FreeBSD (used
26469 with GPT labels).
26470 (grub_util_biosdisk_get_grub_dev): Likewise.
26471
ec1d04f1
VS
264722010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26473
26474 Yeeloong firmware port.
26475
26476 * boot/mips/yeeloong/fwstart.S: New file.
26477 * bus/cs5536.c (gpiodump): New const.
26478 (set_io_space): New function.
26479 (set_iod): Likewise.
26480 (set_p2d): Likewise.
26481 (grub_cs5536_init_geode): Likewise.
26482 * commands/mips/yeeloong/lsspd.c: New file.
26483 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
26484 (serial_mod_SOURCES): New variable.
26485 (serial_mod_CFLAGS): Likewise.
26486 (serial_mod_LDFLAGS): Likewise.
26487 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
26488 term/terminfo.c and term/tparm.c.
26489 (pkglib_IMAGES): Add fwstart.img.
26490 (fwstart_img_SOURCES): New variable.
26491 (fwstart_img_CFLAGS): Likewise.
26492 (fwstart_img_ASFLAGS): Likewise.
26493 (fwstart_img_LDFLAGS): Likewise.
26494 (fwstart_img_FORMAT): Likewise.
26495 (pkglib_MODULES): Add lsspd.mod.
26496 (lsspd_mod_SOURCES): New variable.
26497 (lsspd_mod_CFLAGS): Likewise.
26498 (lsspd_mod_LDFLAGS): Likewise.
26499 (pkglib_MODULES): Add halt.mod.
26500 (halt_mod_SOURCES): New variable.
26501 (halt_mod_CFLAGS): Likewise.
26502 (halt_mod_LDFLAGS): Likewise.
26503 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
26504 (serial_mod_SOURCES): Removed.
26505 (serial_mod_CFLAGS): Likewise.
26506 (serial_mod_LDFLAGS): Likewise.
26507 * disk/ata.c (check_device): New function.
26508 (grub_ata_device_initialize): Use check_device.
26509 (grub_ata_iterate): Recheck devices.
26510 (grub_ata_open): Likewise.
26511 (grub_atapi_iterate): Likewise.
26512 (grub_atapi_open): Likewise.
26513 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
26514 (GRUB_ATA_CH1_PORT1): Likewise.
26515 (GRUB_ATA_CH0_PORT2): Likewise.
26516 (GRUB_ATA_CH1_PORT2): Likewise.
26517 * include/grub/mips/loongson.h: New file.
26518 * include/grub/mips/yeeloong/ec.h: Likewise.
26519 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
26520 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
26521 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
26522 * include/grub/misc.h (grub_halt): Declare as noreturn.
26523 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
26524 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
26525 (UART_ENABLE_FIFO_TRIGGER1): New definition.
26526 (UART_ENABLE_DTRRTS): Likewise.
26527 (UART_ENABLE_MODEM): Removed.
26528 (UART_ENABLE_OUT2): New const.
26529 * include/grub/term.h (grub_term_register_input_active): New function.
26530 (grub_term_register_output_active): Likewise.
26531 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
26532 argument.
26533 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
26534 (init_pci): New function.
26535 (grub_machine_init): Execute platform init when firmware. Init serial.
26536 (grub_halt): Implement.
26537 (grub_exit): Likewise.
26538 (grub_reboot): Likewise.
26539 * term/serial.c (serial_hw_init): Update macros.
26540 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
26541 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
26542 (image_targets): New target mipsel-yeeloong-flash.
26543 (generate_image): Support IMAGE_YEELOONG_FLASH.
26544 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
26545 (grub_video_sm712_setup): Init card.
26546 (grub_video_sm712_set_palette): Removed.
26547 * video/sm712_init.c: New file.
26548
ff4a70d2
CW
265492010-06-30 Colin Watson <cjwatson@ubuntu.com>
26550
26551 * Makefile.in (install-local): Temporarily prepend $(builddir) to
26552 PATH when running help2man and then run it on the unadorned
26553 executable names, rather than passing $(builddir)/* paths to
26554 help2man. This avoids the build directory ending up in generated
26555 manual pages.
26556
1246efeb
CW
265572010-06-29 Colin Watson <cjwatson@ubuntu.com>
26558
26559 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
26560 to avoid accidents when debugging with 'sh -x'.
26561 * util/grub-mkrescue.in: Likewise.
26562 * util/grub.d/00_header.in: Likewise.
26563 * util/grub.d/10_hurd.in: Likewise.
26564 * util/grub.d/10_kfreebsd.in: Likewise.
26565 * util/grub.d/10_linux.in: Likewise.
26566 * util/grub.d/10_netbsd.in: Likewise.
26567 * util/grub.d/10_windows.in: Likewise.
26568 * util/grub.d/20_linux_xen.in: Likewise.
26569 * util/grub.d/30_os-prober.in: Likewise.
26570 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26571
1ba9b889
CW
265722010-06-29 Colin Watson <cjwatson@ubuntu.com>
26573
26574 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
26575 last character in the buffer.
26576 Reported by: Vladimir Serbinenko.
26577
dccaf99d
RM
265782010-06-29 Robert Millan <rmh@gnu.org>
26579
26580 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
26581 (Command-line and menu entry commands): Document `badram' command.
26582
d500ed12
RM
265832010-06-28 Robert Millan <rmh@gnu.org>
26584
26585 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
26586 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
26587 command using ${GRUB_BADRAM} as parameter.
26588
20bc84a6
CW
265892010-06-28 Colin Watson <cjwatson@ubuntu.com>
26590
26591 * docs/grub.texi (Device map): New section.
26592 (Themes): New section (stub).
26593 * Makefile.in (docs/grub.info): The info documentation now builds
26594 without errors. Make sure it stays that way.
26595
4045dee1
VS
265962010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 Use normal parser for menu entries.
26599 Reported by: Thomas Frauendorfer
26600
26601 * include/grub/parser.h (grub_parser_execute): Don't export.
26602 * normal/menu.c (grub_menu_execute_entry_real): New function.
26603 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
26604
bca58c7b
CW
266052010-06-28 Colin Watson <cjwatson@ubuntu.com>
26606
26607 * docs/grub.texi (Embedded configuration): New section (replacing
26608 old "Preset Menu" stub).
26609 (Images): New section.
26610 (configfile): Note that any menu entries defined in `file' are shown
26611 immediately.
26612
dec53e63
JT
266132010-06-28 Josh Triplett <josh@joshtriplett.org>
26614
26615 * mmap/i386/pc/mmap_helper.S: Set CF on return.
26616
c06e40f7
CW
266172010-06-28 Colin Watson <cjwatson@ubuntu.com>
26618
26619 * util/grub-install.in: Add --debug-image= option.
26620
cb88052b
CW
266212010-06-28 Colin Watson <cjwatson@ubuntu.com>
26622
26623 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
26624 possible on Linux.
26625
26626 * util/deviceiter.c (check_device): Rename to ...
26627 (check_device_readable_unique): ... this. Update all callers.
26628 Maintain and check a list of which devices (by canonicalized name)
26629 have already been seen.
26630 (clear_seen_devices): New function.
26631 (compare_file_names) [__linux__]: New function.
26632 (grub_util_iterate_devices): Clear the list of seen devices on exit
26633 and (just in case) on entry.
26634 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
26635 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
26636 seen-devices list, superseded by general code in check_device.
26637
bbe34652
CW
266382010-06-28 Colin Watson <cjwatson@ubuntu.com>
26639
26640 * commands/cat.c (options): New variable.
26641 (grub_cmd_cat): Parse options. If the --dos option is given, print
26642 DOS-style "\r\n" line endings as simple newlines (Debian bug
26643 #586358).
26644 (GRUB_MOD_INIT): Use extcmd.
26645 (GRUB_MOD_FINI): Likewise.
26646 * docs/grub.texi (cat): Document --dos.
26647
412e09f3
VS
266482010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
26649
26650 XEN with Linux grub-mkconfig support.
26651
26652 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
26653 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
26654 GRUB_CMDLINE_XEN_DEFAULT.
26655 * util/grub.d/20_linux_xen.in: New file.
26656
53f3ef38 266572010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
26658
26659 Initialise VGA video on qemu ourselves.
26660
26661 * boot/i386/qemu/boot.S: Don't call 0xc000.
26662 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
26663 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
26664 (kernel_img_HEADERS): Add pci.h.
26665 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
26666 * configure.ac: Force unifont on qemu and yeeloong.
26667 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
26668 (grub_vga_palette_write): Use correct register.
26669 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
26670 Call grub_qemu_init_cirrus.
26671 * kern/i386/qemu/init.c: New file.
26672 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
26673
26674 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
26675
c75be4fb
PR
266762010-06-26 Pavel Roskin <proski@gnu.org>
26677
26678 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
26679 13.
26680
d8034603
CW
266812010-06-26 Colin Watson <cjwatson@ubuntu.com>
26682
26683 * docs/grub.texi (Simple configuration): Explain that
26684 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
26685 set to `true' to disable their respective recovery entries, not
26686 merely set.
26687
3fa06487
CW
266882010-06-26 Colin Watson <cjwatson@ubuntu.com>
26689
26690 Make the `source' command slightly faster.
26691
26692 * normal/main.c (grub_normal_execute): Don't re-read list files when
26693 nested.
26694
e9b29642
CW
266952010-06-23 Colin Watson <cjwatson@ubuntu.com>
26696
26697 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
26698 field position and mask size to red fields from mode_info, not
26699 green.
26700 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
26701 Remove redundant tag->common.framebuffer_type assignment.
26702 Reported by: Seth Goldberg.
26703
e726542f
CW
267042010-06-23 Colin Watson <cjwatson@ubuntu.com>
26705
26706 Sync up other versions of the Linux loader with Robert Millan's
26707 change of 2010-01-09, "Make loader output a bit more user-friendly".
26708
26709 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
26710 grub_dprintf().
26711 (grub_cmd_linux): Likewise.
26712 (grub_cmd_initrd): Likewise.
26713 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
26714 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26715
d6e98a17
CW
267162010-06-21 Colin Watson <cjwatson@ubuntu.com>
26717
26718 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
26719 larger than MEMORY_MAP_SIZE.
26720
14d3f08e
BC
267212010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
26722
26723 Fix parallel build.
26724
26725 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
26726 dependency.
26727 * script/parser.y: #include grub_script.tab.h header.
26728
4f9613a3
VS
267292010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26730
26731 Support >3GiB and <16MiB RAM in i386-qemu.
26732
26733 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
26734 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
26735 (grub_lower_mem): Removed.
26736 (grub_upper_mem): Likewise.
26737 (mem_size): Made static.
26738 (above_4g): New variable.
26739 (grub_machine_mmap_init): Detect small mem_size and above_4g.
26740 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
26741 support.
26742
05e51879
VS
267432010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26744
26745 Cirrus 5446 and Bochs video cards support.
26746
26747 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
26748 video_bochs.mod
26749 (video_cirrus_mod_SOURCES): New variable.
26750 (video_cirrus_mod_CFLAGS): Likewise.
26751 (video_cirrus_mod_LDFLAGS): Likewise.
26752 (video_bochs_mod_SOURCES): Likewise.
26753 (video_bochs_mod_CFLAGS): Likewise.
26754 (video_bochs_mod_LDFLAGS): Likewise.
26755 * include/grub/vga.h: New file.
26756 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
26757 (grub_video_fb_set_page_t): New type.
26758 (grub_video_fb_setup): New prototype.
26759 (grub_video_fb_swap_buffers): Likewise.
26760 (grub_video_fb_get_info_and_fini): Likewise.
26761 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
26762 (CRTC_DATA_PORT): Likewise.
26763 (CRTC_CURSOR): Likewise.
26764 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26765 (CRTC_CURSOR_ADDR_LOW): Likewise.
26766 (CRTC_CURSOR_DISABLE): Likewise.
26767 (update_cursor): Use grub_vga_cr_write.
26768 (grub_vga_text_setcursor): Likewise.
26769 * video/bochs.c: New file.
26770 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
26771 (palette): Likewise.
26772 (palette_size): Likewise.
26773 (framebuffer): New variable.
26774 (grub_video_fb_init): Use 'framebuffer'.
26775 (grub_video_fb_fini): Likewise.
26776 (grub_video_fb_get_info): Likewise.
26777 (grub_video_fb_get_palette): Likewise.
26778 (grub_video_fb_set_palette): Likewise.
26779 (grub_video_fb_set_viewport): Likewise.
26780 (grub_video_fb_get_viewport): Likewise.
26781 (grub_video_fb_map_color): Likewise.
26782 (grub_video_fb_map_rgb): Likewise.
26783 (grub_video_fb_map_rgba): Likewise.
26784 (grub_video_fb_unmap_color): Likewise.
26785 (grub_video_fb_unmap_color_int): Likewise.
26786 (grub_video_fb_fill_rect): Likewise.
26787 (grub_video_fb_blit_bitmap): Likewise.
26788 (grub_video_fb_blit_render_target): Likewise.
26789 (grub_video_fb_scroll): Likewise.
26790 (grub_video_fb_create_render_target): Likewise.
26791 (grub_video_fb_doublebuf_blit_init): Likewise.
26792 (grub_video_fb_set_active_render_target): Handle doublebuffering.
26793 (doublebuf_pageflipping_update_screen): New function.
26794 (doublebuf_pageflipping_init): Likewise.
26795 (grub_video_fb_setup): Likewise.
26796 (grub_video_fb_swap_buffers): Likewise.
26797 (grub_video_fb_get_info_and_fini): Likewise.
26798 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
26799 All users updated.
26800 (doublebuf_pageflipping_commit): Restructured into ...
26801 (doublebuf_pageflipping_set_page): ... this.
26802 (doublebuf_pageflipping_update_screen): Removed.
26803 (doublebuf_pageflipping_init): Likewise.
26804 (double_buffering_init): Likewise.
26805 (grub_video_vbe_setup): Use grub_video_fb_setup.
26806 (grub_video_vbe_swap_buffers): Removed.
26807 (grub_video_vbe_set_active_render_target): Likewise.
26808 (grub_video_vbe_get_active_render_target): Likewise.
26809 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
26810 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
26811 grub_video_fb_set_active_render_target and
26812 grub_video_fb_get_active_render_target.
26813 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
26814 (SEQUENCER_DATA_PORT): Likewise.
26815 (MAP_MASK_REGISTER): Likewise.
26816 (CRTC_ADDR_PORT): Likewise.
26817 (CRTC_DATA_PORT): Likewise.
26818 (START_ADDR_HIGH_REGISTER): Likewise.
26819 (START_ADDR_LOW_REGISTER): Likewise.
26820 (GRAPHICS_ADDR_PORT): Likewise.
26821 (GRAPHICS_DATA_PORT): Likewise.
26822 (READ_MAP_REGISTER): Likewise.
26823 (INPUT_STATUS1_REGISTER): Likewise.
26824 (INPUT_STATUS1_VERTR_BIT): Likewise.
26825 (get_map_mask): Use grub_vga_sr_read.
26826 (set_map_mask): Use grub_vga_sr_write.
26827 (set_read_map): Use grub_vga_gr_write.
26828 (set_start_address): Use grub_vga_cr_write.
26829 * video/sm712.c (framebuffer): Remove leftover fields.
26830
4321c64a
CW
268312010-06-20 Colin Watson <cjwatson@ubuntu.com>
26832
26833 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
26834 setting GRUB_VIDEO_BACKEND. Make it available as a user override
26835 instead. Replace the gfxterm backend check with a check that
26836 ${GRUB_PREFIX}/video.lst is non-empty.
26837 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
26838 again.
26839 (load_video): New generated function. Call it before loading
26840 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
26841 * util/grub.d/10_linux.in (linux_entry): Call load_video.
26842 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
26843 * docs/grub.texi (Simple configuration): Document
26844 GRUB_VIDEO_BACKEND.
26845
268462010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26847
26848 Use video functions in linux and xnu loaders.
26849
26850 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
26851 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
26852 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
26853 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
26854 loader/i386/pc/linux.c.
26855 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26856 (find_line_len): Removed.
26857 (find_framebuf): Likewise.
26858 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
26859 * loader/i386/efi/xnu.c: Removed.
26860 * loader/i386/pc/xnu.c: Moved from here...
26861 * loader/i386/xnu.c: ...here.
26862
26863 Enable priorities in video drivers.
26864
26865 * include/grub/video.h (grub_video_adapter_prio_t): New type.
26866 (grub_video_adapter): New field prio.
26867 (grub_video_register): Respect prio when inserting.
26868 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
26869 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
26870 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
26871 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
26872 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
26873 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
26874 * video/sm712.c (grub_video_sm712_adapter): Likewise.
26875
26876 Fix SDL driver ID.
26877
26878 * include/grub/video.h (grub_video_driver_id_t): New value
26879 GRUB_VIDEO_DRIVER_SDL.
26880 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
26881
7d24e434
CW
268822010-06-17 Colin Watson <cjwatson@ubuntu.com>
26883
26884 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
26885 argument to printf.
26886 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26887
c88a83f6
CW
268882010-06-17 Colin Watson <cjwatson@ubuntu.com>
26889
26890 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
26891 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26892
094dfb69
CW
268932010-06-17 Colin Watson <cjwatson@ubuntu.com>
26894
26895 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
26896 directly, and recommend grub-install instead.
26897 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
26898
2164da6b
CW
268992010-06-17 Colin Watson <cjwatson@ubuntu.com>
26900
26901 Fix i386-pc prefix handling with nested partitions (Debian bug
26902 #585068). Note that the case where the core image is booted using
26903 multiboot and relocated from its original location still requires
26904 more work.
26905
26906 * kern/i386/pc/init.c (make_install_device): If the prefix starts
26907 with "(,", fill the boot drive in between those two characters, but
26908 expect that a full partition specification including partition map
26909 names will follow.
26910 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
26911 specified, write a prefix without the drive name but including a
26912 full partition specification.
26913
044e2e60
CW
269142010-06-16 Colin Watson <cjwatson@ubuntu.com>
26915
26916 * util/grub-mkconfig.in: Ignore non-option arguments, for
26917 compatibility with older versions (before 2010-06-12) which did the
26918 same. In particular, this makes it easier to ship an update-grub
26919 wrapper which is compatible with that used with GRUB Legacy (Debian
26920 bug #586056).
26921
5591324f
GS
269222010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26923
26924 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
26925 for manual page generation.
26926
662e24d5
GS
269272010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26928
26929 * po/POTFILES: Remove leftover commands/handler.c.
26930
8d70754e
CW
269312010-06-14 Colin Watson <cjwatson@ubuntu.com>
26932
26933 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
26934 left this script non-functional.
26935
41160e2e
CW
269362010-06-14 Colin Watson <cjwatson@ubuntu.com>
26937
26938 * docs/man/grub-emu.h2m: New file.
26939
b5309cc1
CW
269402010-06-13 Colin Watson <cjwatson@ubuntu.com>
26941
26942 * docs/grub.texi (Commands): Document reduced command set in rescue
26943 mode.
26944 (cpuid): New section.
26945
fcb2d090
GS
269462010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
26947
26948 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
26949 new partition naming style.
26950 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
26951
96e5c556
BC
269522010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
26953
26954 Add "-o grub.iso" like cmdline options support.
26955
26956 * util/grub-install.in: Improve cmdline option parsing.
26957 * util/grub-mkconfig.in: Likewise.
26958 * util/grub-mkrescue.in: Likewise.
26959 * util/grub-reboot.in: Likewise.
26960 * util/grub-set-default.in: Likewise.
26961 * util/i386/efi/grub-install.in: Likewise.
26962 * util/ieee1275/grub-install.in: Likewise.
26963 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
26964
c16be99b
CW
269652010-06-12 Colin Watson <cjwatson@ubuntu.com>
26966
26967 * .bzrignore: Ignore 41_custom.
26968
ce08a9fb
TS
269692010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26970
26971 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
26972
7beac90c
CW
269732010-06-12 Colin Watson <cjwatson@ubuntu.com>
26974
26975 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
26976 prototype declarations.
26977
26978 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
26979 generating fs, partmap, and video lists.
26980 * include/grub/fs.h (grub_fs_register): Omit prototype if
26981 GRUB_LST_GENERATOR is defined.
26982 * include/grub/partition.h (grub_partition_map_register): Likewise.
26983 * include/grub/video.h (grub_video_register): Likewise.
26984
1c8f0f8d
JM
269852010-06-12 Javier Martín <lordhabbit@gmail.com>
26986
26987 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
26988
a6085973
TS
269892010-06-12 Thomas Schmitt <scdbackup@gmx.net>
26990
26991 * util/grub-mkrescue.in: Support --xorriso argument.
26992
25c56d29
VS
269932010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26994
26995 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
26996 Suggested by: Thomas Schmitt.
26997
e03e4b24
VS
269982010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26999
27000 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27001 Suggested by: Thomas Schmitt.
27002
57711df6
VS
270032010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27004
27005 custom.cfg support.
27006
27007 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27008 * util/grub.d/41_custom.in: New file.
27009
ee62c427
CW
270102010-06-12 Colin Watson <cjwatson@ubuntu.com>
27011
27012 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27013 been merged back into normal.
27014
283af07a
CW
270152010-06-11 Colin Watson <cjwatson@ubuntu.com>
27016
27017 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27018 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27019
56a0d956
CW
270202010-06-11 Colin Watson <cjwatson@ubuntu.com>
27021
27022 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27023 when generating manual pages.
27024 * docs/man/grub-bin2h.h2m: New file.
27025 * docs/man/grub-editenv.h2m: New file.
27026 * docs/man/grub-fstest.h2m: New file.
27027 * docs/man/grub-install.h2m: New file.
27028 * docs/man/grub-macho2img.h2m: New file.
27029 * docs/man/grub-mkconfig.h2m: New file.
27030 * docs/man/grub-mkdevicemap.h2m: New file.
27031 * docs/man/grub-mkfont.h2m: New file.
27032 * docs/man/grub-mkimage.h2m: New file.
27033 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27034 * docs/man/grub-mkrelpath.h2m: New file.
27035 * docs/man/grub-mkrescue.h2m: New file.
27036 * docs/man/grub-ofpathname.h2m: New file.
27037 * docs/man/grub-pe2elf.h2m: New file.
27038 * docs/man/grub-probe.h2m: New file.
27039 * docs/man/grub-reboot.h2m: New file.
27040 * docs/man/grub-script-check.h2m: New file.
27041 * docs/man/grub-set-default.h2m: New file.
27042 * docs/man/grub-setup.h2m: New file.
27043
3a37e322
VS
270442010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 Use FOR_* macros instead of *_iterate whenever possible.
27047
27048 * commands/handler.c: Removed.
27049 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27050 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27051 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27052 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27053 (grub_probe_SOURCES): Remove kern/parser.c.
27054 (util/grub-script-check.c_DEPENDENCIES): Removed.
27055 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27056 and grub_script_check_init.c.
27057 (grub_script_check_init.lst): Removed.
27058 (grub_script_check_init.h): Likewise.
27059 (grub_script_check_init.c): Likewise.
27060 (pkglib_MODULES): Remove handler.mod and sh.mod.
27061 (handler_mod_SOURCES): Removed.
27062 (handler_mod_CFLAGS): Likewise.
27063 (handler_mod_LDFLAGS): Likewise.
27064 (normal_mod_SOURCES): Remove normal/handler.c.
27065 Add script/main.c, script/script.c, script/execute.c,
27066 script/function.c, script/lexer.c, grub_script.tab.c
27067 and grub_script.yy.c.
27068 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27069 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27070 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27071 (grub_setup_SOURCES): Remove kern/parser.c.
27072 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27073 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27074 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27075 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27076 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27077 (grub_setup_SOURCES): Remove kern/parser.c.
27078 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27079 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27080 * include/grub/command.h (grub_command_iterate): Removed.
27081 (FOR_COMMANDS): New macro.
27082 * include/grub/dl.h (grub_dl): New member next.
27083 (grub_dl_iterate): Removed.
27084 (grub_dl_head): New variable declaration.
27085 (FOR_DL_MODULES): New macro.
27086 * include/grub/fs.h: Include list.h.
27087 (grub_fs): Make next first element.
27088 (grub_fs_list): New variable declaration.
27089 (grub_fs_register): Make inline.
27090 (grub_fs_unregister): Likewise.
27091 (grub_fs_iterate): Removed.
27092 (FOR_FILESYSTEMS): New macro.
27093 * include/grub/handler.h: Removed.
27094 * include/grub/list.h (grub_list_hook_t): Removed.
27095 (grub_list_test_t): Likewise.
27096 (grub_list_pop): Likewise.
27097 (grub_list_iterate): Likewise.
27098 (grub_list_insert): Likewise.
27099 (FOR_LIST_ELEMENTS): New macro.
27100 * include/grub/parser.h (grub_parser_class): Removed.
27101 (grub_parser_register): Likewise.
27102 (grub_parser_unregister): Likewise.
27103 (grub_parser_get_current): Likewise.
27104 (grub_parser_set_current): Likewise.
27105 (grub_register_rescue_parser): Likewise.
27106 (grub_rescue_parse_line): New function.
27107 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27108 * include/grub/script_sh.h (grub_script_function_list): New variable
27109 declaration.
27110 (FOR_SCRIPT_FUNCTIONS): New macro.
27111 (grub_script_function_iterate): Removed.
27112 (grub_normal_parse_line): New prototype.
27113 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27114 (FOR_DISABLED_TERM_INPUTS): Likewise.
27115 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27116 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27117 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27118 element.
27119 (grub_video_register): Inline.
27120 (grub_video_unregister): Likewise.
27121 (grub_video_adapter_list): New variable declaration.
27122 (grub_video_iterate): Removed.
27123 (FOR_VIDEO_ADAPTERS): New macro.
27124 * kern/dl.c (grub_dl_list): Removed. All users updated.
27125 (grub_dl_iterate): Removed.
27126 * kern/fs.c (grub_fs_list): Make global.
27127 (grub_fs_register): Removed.
27128 (grub_fs_unregister): Likewise.
27129 (grub_fs_iterate): Likewise.
27130 * kern/handler.c: Removed.
27131 * kern/list.c (grub_list_pop): Removed.
27132 (grub_list_iterate): Likewise.
27133 (grub_list_insert): Likewise.
27134 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27135 (grub_prio_list_insert): Don't use grub_list_insert.
27136 * kern/main.c (grub_register_rescue_parser): Don't call
27137 grub_register_rescue_parser.
27138 * kern/parser.c (grub_parser_class): Removed.
27139 (grub_parser_execute): Use grub_rescue_parse_line.
27140 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27141 (grub_rescue_parser): Removed.
27142 (grub_register_rescue_parser): Likewise.
27143 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27144 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27145 (grub_auth_check_authentication): Likewise.
27146 * normal/completion.c (iterate_command): Removed.
27147 (grub_normal_do_completion): Use FOR_COMMANDS.
27148 * normal/handler.c: Removed.
27149 * normal/main.c (read_config_file): Remove parser changing.
27150 (grub_normal_execute): Don't call read_handler_list.
27151 (grub_normal_read_line_real): Statically allocate prompt.
27152 (grub_cmdline_run): Use grub_normal_parse_line.
27153 (GRUB_MOD_FINI): Don't call free_handler_list.
27154 * normal/menu_entry.c (run): Likewise.
27155 * script/function.c (grub_script_function_list): Make global.
27156 (grub_script_function_iterate): Removed.
27157 * script/main.c (grub_normal_parse_line): Make global.
27158 (grub_sh_parser): Removed.
27159 (GRUB_MOD_INIT): Likewise.
27160 (GRUB_MOD_FINI): Likewise.
27161 * tests/lib/functional_test.c (grub_functional_test): Use
27162 FOR_LIST_ELEMENTS.
27163 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27164 (grub_test_run): Use FOR_LIST_ELEMENTS.
27165 * tests/lib/unit_test.c (main): Likewise.
27166 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27167 grub_list_pop.
27168 * util/grub-fstest.c (grub_term_input_class): Removed.
27169 (grub_term_output_class): Likewise.
27170 * util/grub-probe.c: Likewise.
27171 * util/i386/pc/grub-setup.c: Likewise.
27172 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27173 * util/grub-script-check.c (main): Don't call grub_init_all and
27174 grub_fini_all.
27175 * video/video.c (grub_video_adapter_list): Make global.
27176 (grub_video_register): Removed.
27177 (grub_video_unregister): Likewise.
27178 (grub_video_iterate): Likewise.
27179
6289c3a7
VS
271802010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27181
27182 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27183 reported by Henrique Ferreiro.
27184
91460247
RM
271852010-06-09 Robert Millan <rmh@gnu.org>
27186
27187 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27188 ones, when both are available.
27189
0ea7c4f9
GS
271902010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27191
27192 Make --version uniform and avoid hard-coded program name.
27193
27194 * util/grub-mkimage.c (main): Use `program_name' instead of
27195 hard-coded string.
27196 * util/i386/pc/grub-setup.c (main): Likewise.
27197 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27198 * util/grub-install.in: Save the basename of $0 in $self, and use the
27199 latter in informational messages. Use the same format for --version
27200 as the binary programs.
27201 * util/grub-mkconfig.in: Likewise.
27202 * util/grub-mkrescue.in: Likewise.
27203 * util/grub-reboot.in: Likewise.
27204 * util/grub-set-default.in: Likewise.
27205 * util/i386/efi/grub-install.in: Likewise.
27206 * util/ieee1275/grub-install.in: Likewise.
27207 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27208
e8a6f3b6
GS
272092010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27210
27211 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27212 embedding area. Use <= instead of == when checking for non-emptiness.
27213
f4d095d7
GS
272142010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27215
27216 * configure.ac: Add `.' to the directories searched for unifont.
27217
50e532ca
CW
272182010-06-08 Colin Watson <cjwatson@ubuntu.com>
27219
27220 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27221 grub_script.yy.h.
27222
d39f3dec
CW
272232010-06-08 Colin Watson <cjwatson@ubuntu.com>
27224
27225 * docs/grub.texi (History): Expand to cover GRUB 2.
27226 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27227 commands, not `terminal'.
27228 (serial): Likewise.
27229 (terminal_input): New section.
27230 (terminal_output): New section.
27231 (uppermem): New section (stub).
27232 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27233
6ef0ddb4
CW
272342010-06-08 Colin Watson <cjwatson@ubuntu.com>
27235
27236 * docs/grub.texi (Security): Menu entries are unrestricted by
27237 default, not restricted to superusers as I had previously thought.
27238 Reword to account for this.
27239
e0f4c438
CW
272402010-06-07 Colin Watson <cjwatson@ubuntu.com>
27241
27242 * kern/emu/misc.c (device_mapper_null_log): New function.
27243 (grub_device_mapper_supported): New function.
27244 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27245 prototype.
27246 * kern/emu/hostdisk.c (find_partition_start): Check whether
27247 device-mapper is supported before trying to use it.
27248 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27249
da908200
CW
272502010-06-07 Colin Watson <cjwatson@ubuntu.com>
27251
27252 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27253 (File name syntax): Likewise.
27254 (help): --all is no longer supported in GRUB 2. Be more precise
27255 about pattern matching.
27256
fb55c3ac
CW
272572010-06-07 Colin Watson <cjwatson@ubuntu.com>
27258
27259 * normal/completion.c (grub_normal_do_completion): When completing
27260 arguments to "set" and the current word contains an equals sign,
27261 skip to after the equals sign before starting completion.
27262
258c2573
CW
272632010-06-07 Colin Watson <cjwatson@ubuntu.com>
27264
27265 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27266
ee75515e
CW
272672010-06-07 Colin Watson <cjwatson@ubuntu.com>
27268
27269 * docs/grub.texi (Network): New section.
27270 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27271 `(nd)' as in GRUB Legacy.
27272 (pxe_unload): New section.
27273
a6a700aa
CW
272742010-06-07 Colin Watson <cjwatson@ubuntu.com>
27275
27276 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27277 in the rescue shell, so recommend using `set' instead. Thanks,
27278 Jordan Uggla.
27279
4003dd38
CW
272802010-06-07 Colin Watson <cjwatson@ubuntu.com>
27281
27282 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27283 (password): New section.
27284 (password_pbkdf2): New section.
27285 (search): New section.
27286 (Security): New section.
27287 (Troubleshooting): New section, currently very incomplete.
27288 (Invoking grub-mkpasswd-pbkdf2): New section.
27289 (Internals): New section, currently very incomplete.
27290
e1cbcc40
CW
272912010-06-07 Colin Watson <cjwatson@ubuntu.com>
27292
27293 * util/grub.d/00_header.in: Add some more quoting (of
27294 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27295 work again.
27296 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27297
db8fa1ad
CW
272982010-06-07 Colin Watson <cjwatson@ubuntu.com>
27299
27300 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27301 to `count', fixing variable shadowing that broke the -c option.
27302
273032010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
27304
27305 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27306 in case they contain spaces.
27307
f28a9212
CW
273082010-06-04 Colin Watson <cjwatson@ubuntu.com>
27309
27310 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27311 "part_" to partmap module names, in line with grub-install.
27312 Reported by: Jindřich Makovička (Debian bug #584426).
27313
9cdfe32f
CW
273142010-06-04 Colin Watson <cjwatson@ubuntu.com>
27315
27316 * util/grub-mkimage.c: Make target-related error messages slightly
27317 more helpful; -O talks about "format". Explicitly point to the use
27318 of -O if no target is specified.
27319 Reported by: Didier Raboud (Debian bug #584415).
27320
795b593a
CW
273212010-06-03 Colin Watson <cjwatson@ubuntu.com>
27322
27323 * INSTALL: Document several build requirements for optional features
27324 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27325
9d9b5833
GS
273262010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27327
27328 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27329 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27330 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27331
0819fec8
CW
273322010-06-02 Colin Watson <cjwatson@ubuntu.com>
27333
27334 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27335 Thanks to Jordan Uggla for spotting this.
27336
49396b4f
VS
273372010-06-02 Aleš Nesrsta <starous@volny.cz>
27338
27339 Finally make USB usable.
27340
27341 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27342 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27343 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27344 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27345 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27346 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27347 (GRUB_OHCI_FSMPS): Likewise.
27348 (GRUB_OHCI_PERIODIC_START): Likewise.
27349 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27350 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27351 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27352 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27353 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27354 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27355 (grub_ohci_transaction): Likewise.
27356 (grub_ohci_transfer): Improve condition detection algorithms.
27357 Handle toggle property. Program the transactions correctly.
27358 Improve error handling. Various important fixups.
27359 (grub_ohci_portstatus): Put register writes in right order.
27360 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27361 (grub_uhci_transfer): Don't show "failed" message on success.
27362 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27363 array.
27364 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27365 determine its size.
27366 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27367 before initialization is completed. Use IN direction for empty
27368 transfers. Use last_trans and compute toggle.
27369 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27370 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27371 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27372 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27373 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27374 (grub_usb_device): Increase toggle to 256.
27375 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27376 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27377 GRUB_USBMS_SUBCLASS_SFF8070.
27378 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27379 (grub_scsi_inquiry): New member page and alloc_length.
27380 (grub_scsi_request_sense): New structure.
27381 (grub_scsi_request_sense_data): Likewise.
27382 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27383 control.
27384 * disk/scsi.c (grub_scsi_request_sense): New function.
27385 (grub_scsi_test_unit_ready): Likewise.
27386 (grub_scsi_inquiry): Fill new fields.
27387 (grub_scsi_read_capacity): Likewise.
27388 (grub_scsi_read10): Add request sense at the end.
27389 (grub_scsi_read12): Likewise.
27390 (grub_scsi_write10): Likewise.
27391 (grub_scsi_write12): Likewise.
27392 (grub_scsi_open): Add Test Unit Ready.
27393 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27394 Support additional subclasses. Con't clear halt yet. Activate the
27395 proper config. Calculate LUNs correctly.
27396 (grub_usbms_transfer): Various important fixups.
27397
273982010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27401 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27402 (grub_ohci_fini_hw): New function.
27403 (grub_ohci_restore_hw): Likewise.
27404 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27405 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27406 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27407
274082010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 Dedicated DMA allocations.
27411
27412 * bus/pci.c (grub_memalign_dma32): New function
27413 (grub_dma_free): Likewise.
27414 (grub_dma_get_virt): Likewise.
27415 (grub_dma_get_phys): Likewise.
27416 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27417 (grub_ohci_pci_iter): Use dma32_alloc.
27418 (grub_ohci_transfer): Likewise.
27419 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27420 (grub_usb_bulk_readwrite): Likewise.
27421 * include/grub/pci.h: Add declarations.
27422
274232010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27424
27425 CS5536 support.
27426
27427 * bus/cs5536.c: New file.
27428 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27429 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27430 (cs5536_mod_SOURCES): New variable.
27431 (cs5536_mod_CFLAGS): Likewise.
27432 (cs5536_mod_LDFLAGS): Likewise.
27433 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27434 machine/pci.h.
27435 (kernel_img_SOURCES): Add bus/cs5536.c.
27436 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27437 usb_keyboard.mod.
27438 (usb_mod_SOURCES): New variable.
27439 (usb_mod_CFLAGS): New variable.
27440 (usb_mod_LDFLAGS): New variable.
27441 (usbtest_mod_SOURCES): New variable.
27442 (usbtest_mod_CFLAGS): New variable.
27443 (usbtest_mod_LDFLAGS): New variable.
27444 (ohci_mod_SOURCES): New variable.
27445 (ohci_mod_CFLAGS): New variable.
27446 (ohci_mod_LDFLAGS): New variable.
27447 (usbms_mod_SOURCES): New variable.
27448 (usbms_mod_CFLAGS): New variable.
27449 (usbms_mod_LDFLAGS): New variable.
27450 (usb_keyboard_mod_SOURCES): New variable.
27451 (usb_keyboard_mod_CFLAGS): New variable.
27452 (usb_keyboard_mod_LDFLAGS): New variable.
27453 * include/grub/smbus.h: New file.
27454 * include/grub/cs5536.h: New file.
27455
0b35b2a9
CW
274562010-06-02 Colin Watson <cjwatson@ubuntu.com>
27457
27458 * util/grub.d/00_header.in: Add safety check to make sure that
27459 ${locale_dir} exists before trying to probe it.
27460
ca0afd5b
CW
274612010-06-02 Colin Watson <cjwatson@ubuntu.com>
27462
27463 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
27464 per the GNU Coding Standards; this is now too obscure to be worth
27465 documenting.
27466 (QNX): Likewise.
27467 (chainloader): Remove cross-reference to `SCO UnixWare'.
27468
1c41aa78
CW
274692010-06-02 Colin Watson <cjwatson@ubuntu.com>
27470
27471 * docs/grub.texi (Chain-loading): New section.
27472 (DOS/Windows): New section, borrowed from GRUB Legacy with details
27473 adjusted for GRUB 2.
27474 (SCO UnixWare): Likewise.
27475 (QNX): Likewise.
27476 (chainloader): Add reference to `Block list syntax'.
27477 (drivemap): New section.
27478 (parttool): New section.
27479
bb8ea0f5
CW
274802010-06-02 Colin Watson <cjwatson@ubuntu.com>
27481
27482 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
27483 the grub shell'.
27484 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
27485 (Installing GRUB using grub-install): Remove reference to the grub
27486 shell; mention `grub-mkimage' and `grub-setup' instead.
27487 (Invoking grub-install): Likewise.
27488 (Interface): Add reference to `Menu entry editor'.
27489 (serial): Remove `--device' option.
27490
288dd6ed
CW
274912010-06-02 Colin Watson <cjwatson@ubuntu.com>
27492
27493 * docs/grub.texi (Configuration): New section, documenting
27494 configuration file generation using grub-mkconfig. I've left a slot
27495 for documenting the full shell scripting format but have not yet
27496 started on writing that up.
27497 (Invoking grub-mkconfig): New section.
27498
34c9f0e9
CW
274992010-06-02 Colin Watson <cjwatson@ubuntu.com>
27500
27501 * docs/grub.texi (direntry): Remove grub-terminfo reference.
27502 (GNU GRUB manual): Likewise.
27503 (General commands): Update description of `terminfo' for GRUB 2.
27504
9121567e
CW
275052010-06-02 Colin Watson <cjwatson@ubuntu.com>
27506
27507 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
27508 (GRUB_MOD_INIT): Fix capitalisation.
27509 * docs/grub.texi (Command-line and menu entry commands): Document
27510 gettext and gptsync commands.
27511
ab631611
CW
275122010-06-02 Colin Watson <cjwatson@ubuntu.com>
27513
27514 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
27515 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
27516
bde4a9ac
CW
275172010-06-01 Colin Watson <cjwatson@ubuntu.com>
27518
27519 Add btrfs probing support, currently only in the single-device case.
27520
27521 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
27522 function.
27523 (grub_guess_root_device): Call find_root_device_from_mountinfo
27524 before looking in /dev.
27525
b1d17e10
VS
275262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
27529 GRUB_DISK_SIZE_UNKNOWN.
27530 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
27531
dfbfe004
JS
275322010-05-31 Jiro SEKIBA <jir@unicus.jp>
27533
27534 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
27535 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
27536 corrupted or not synced properly.
27537
c2ffc8e9
VS
275382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27539
27540 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
27541 Reported by: Seth Goldberg.
27542
56293166
VS
275432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27544
27545 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
27546 addition of dest.
27547 Reported by: Seth Goldberg.
27548
7620e7de
VS
275492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27550
27551 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
27552 Reported by: Seth Goldberg.
27553
c837af3f
VS
275542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
27555
27556 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
27557 64-bit address as signed on MIPS.
27558
c7c75cf4
CW
275592010-05-28 Colin Watson <cjwatson@ubuntu.com>
27560
27561 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
27562 to the empty string.
27563
fa4b8490
BC
275642010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
27565
27566 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
27567
27568 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
27569 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
27570 * kern/misc.c (__enable_execute_stack): Disable on
27571 GRUB_MACHINE_EMU.
27572
a33075b9
CW
275732010-05-28 Colin Watson <cjwatson@ubuntu.com>
27574
27575 Make grub-probe work with symbolic links under /dev/mapper as well
27576 as with real block devices. The Linux world seems to be (at best)
27577 in transition here, and GRUB shouldn't get caught in the middle.
27578
27579 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
27580 /dev/mapper.
27581
d8708134
CW
275822010-05-27 Colin Watson <cjwatson@ubuntu.com>
27583
27584 * util/grub-script-check.c (main): Ensure defined behaviour on empty
27585 input files (in which case exit zero).
27586
db2102a0
CW
275872010-05-27 Colin Watson <cjwatson@ubuntu.com>
27588
27589 * kern/emu/misc.c (canonicalize_file_name): realpath can still
27590 return NULL for various reasons even if it has a maximum-length
27591 buffer: for example, there might be a symlink loop, or the path
27592 might exceed PATH_MAX. If this happens, return NULL.
27593
5fdba519
RM
275942010-05-27 Robert Millan <rmh@gnu.org>
27595
27596 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
27597 partmap module to handle cross-partmap setups.
27598 Reported by Orestes Mas. Gràcies!
27599
d1d368e4
CW
276002010-05-27 Colin Watson <cjwatson@ubuntu.com>
27601
27602 * util/grub-mkrescue.in: Initialise override_dir rather than
27603 assuming that it's unset or empty in the environment.
27604
95ac3c73
GS
276052010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
27606
27607 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
27608 variable index into p_index to suppress a warning with -Wshadow.
27609
7d8c0213
BC
276102010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
27611
27612 * INSTALL: Added flex >= 2.5.35 requirement.
27613
db4d5813
VS
276142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27615
27616 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
27617
f24f4300
VS
276182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27619
27620 cmostest support.
27621
27622 * commands/i386/cmostest.c: New file.
27623 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
27624 (cmostest_mod_SOURCES): New variable.
27625 (cmostest_mod_CFLAGS): Likewise.
27626 (cmostest_mod_LDFLAGS): Likewise.
27627 * conf/i386-pc.rmk: Likewise.
27628 * docs/grub.texi (Vendor power-on keys): New section.
27629 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
27630 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
27631 and GRUB_BUTTON_CMOS_ADDRESS.
27632 * util/grub.d/00_header.in: Handle powering-on by separate button.
27633
ad603f61
VS
276342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
27637 Removed drawing_scrollbar argument. All users updated
27638 Fixes #29792.
27639 Reported by Jo Shields
27640
3ecb080a
VS
276412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
27644 buffer since gfxterm handles double repaint.
27645
5f2316c1
VS
276462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
27647
27648 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
27649 * term/gfxterm.c (real_scroll): Likewise.
27650
9a25f885
VS
276512010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
27654 before calling BIOS.
27655
39fbb79a
VS
276562010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27657
27658 * include/grub/i18n.h: Always enable grub_gettext.
27659
228cfa97
VS
276602010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
27663 partition naming style.
27664
21717c8f
CW
276652010-05-21 Colin Watson <cjwatson@ubuntu.com>
27666
27667 * util/grub-mkconfig.in: Fix handling of -o so that it works when
27668 not the first option.
27669
c0f48e65
CW
276702010-05-20 Colin Watson <cjwatson@ubuntu.com>
27671
27672 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
27673
96779aec
CW
276742010-05-20 Colin Watson <cjwatson@ubuntu.com>
27675
27676 * util/misc.c: Move inclusion of <limits.h> to ...
27677 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
27678
fa9d256e
GS
276792010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
27680
27681 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
27682 Fix merge error in NetBSD code.
27683 (find_partition_start) [__NetBSD__]: Likewise.
27684
123b7a85
BC
276852010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
27686
27687 Fix grub-mkrescue usage unit testing.
27688
27689 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
27690
74276c0d
CF
276912010-05-18 Christian Franke <franke@computer.org>
27692
27693 * util/grub.d/10_windows.in: Use path names instead of
27694 drive letters to prevent warning from Cygwin 1.7.
27695 Add drivemap command to menuentry if needed.
27696
c4f7b523
ST
276972010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
27698
27699 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
27700 gnumach and gnumach.gz.
27701
95b97950
VS
277022010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27703
27704 * include/grub/i18n.h (gettext): Inline instead of using #define.
27705 (grub_gettext): Likewise.
27706 (_): Likewise.
27707
01b8d2d7
VS
277082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27709
27710 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
27711 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
27712 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
27713 (main): Add a slash after pkglibdirroot.
27714
654e1d1e
VS
277152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27716
27717 * util/grub-install.in: Add missing "in" keyword.
27718
26966aeb
VS
277192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27720
27721 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
27722 Reported by: Seth Goldberg.
27723
75006747
VS
277242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27725
27726 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
27727
74cbf5bd
CW
277282010-05-18 Colin Watson <cjwatson@ubuntu.com>
27729
27730 * configure.ac: Check for Linux device-mapper support.
27731
27732 * util/hostdisk.c (device_is_mapped): New function.
27733 (find_partition_start): New function, partly broken out from
27734 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
27735 device-mapper support added.
27736 (linux_find_partition): Use find_partition_start.
27737 (convert_system_partition_to_system_disk): Add `st' argument.
27738 Support Linux /dev/mapper/* devices if device-mapper support is
27739 available; only DM-RAID devices are understood at present.
27740 (find_system_device): Add `st' argument. Pass it to
27741 convert_system_partition_to_system_disk.
27742 (grub_util_biosdisk_get_grub_dev): Pass stat result to
27743 find_system_device and convert_system_partition_to_system_disk. Use
27744 find_partition_start.
27745
27746 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
27747 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
27748 * util/deviceiter.c [__linux__]: Define MINOR.
27749 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
27750 * util/mkdevicemap.c (grub_putchar): New function.
27751 (grub_getkey): New function.
27752 (grub_refresh): New function.
27753 (main): Set debug=all if -v -v is used.
27754
355b51e9
CW
277552010-05-18 Colin Watson <cjwatson@ubuntu.com>
27756
27757 Fix build with non-GNU libcs.
27758
27759 * util/misc.c (canonicalize_file_name): Move to ...
27760 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
27761 grub_make_system_path_relative_to_its_root.
27762
7fb5c25f
CW
277632010-05-18 Colin Watson <cjwatson@ubuntu.com>
27764
27765 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
27766 we handle finding grub-mkimage. Default to finding grub-mkimage in
27767 ${bindir} with program_transform_name applied, and provide a
27768 --grub-mkimage option to override this.
27769
1d3293d6
VS
277702010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27771
27772 Remove grub-mkisofs.
27773
27774 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
27775 (grub_mkisofs_SOURCES): Removed.
27776 (grub_mkisofs_CFLAGS): Removed.
27777 * util/mkisofs/defaults.h: Removed.
27778 * util/mkisofs/eltorito.c: Likewise.
27779 * util/mkisofs/exclude.h: Likewise.
27780 * util/mkisofs/hash.c: Likewise.
27781 * util/mkisofs/include/: Likewise.
27782 * util/mkisofs/include/fctldefs.h: Likewise.
27783 * util/mkisofs/include/mconfig.h: Likewise.
27784 * util/mkisofs/include/prototyp.h: Likewise.
27785 * util/mkisofs/include/statdefs.h: Likewise.
27786 * util/mkisofs/iso9660.h: Likewise.
27787 * util/mkisofs/joliet.c: Likewise.
27788 * util/mkisofs/match.c: Likewise.
27789 * util/mkisofs/match.h: Likewise.
27790 * util/mkisofs/mkisofs.c: Likewise.
27791 * util/mkisofs/mkisofs.h: Likewise.
27792 * util/mkisofs/msdos_partition.h: Likewise.
27793 * util/mkisofs/multi.c: Likewise.
27794 * util/mkisofs/name.c: Likewise.
27795 * util/mkisofs/rock.c: Likewise.
27796 * util/mkisofs/tree.c: Likewise.
27797 * util/mkisofs/write.c: Likewise.
27798
5dde9afe
VS
277992010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27800
27801 Unify grub-mkimage accross platforms.
27802
27803 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
27804 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
27805 (grub_mkelfimage_SOURCES): Removed.
27806 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
27807 (util/grub-mkimage.c_DEPENDENCIES): .. this.
27808 (bin_UTILITIES): Add grub-mkimage.
27809 (grub_mkimage_SOURCES): New variable.
27810 (kernel_img_HEADERS): Remove machine/kernel.h.
27811 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
27812 (pkglib_PROGRAMS): Add kernel.img.
27813 (kernel_img_HEADERS): Add machine/kernel.h.
27814 (kernel_img_FORMAT): Removed.
27815 (bin_UTILITIES): Remove grub-mkimage.
27816 (grub_mkimage_SOURCES): Removed.
27817 (grub_mkimage_CFLAGS): Likewise.
27818 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27819 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
27820 (pkglib_PROGRAMS): Add kernel.img.
27821 (bin_UTILITIES): Remove grub-mkimage.
27822 (grub_mkimage_SOURCES): Removed.
27823 (grub_mkimage_CFLAGS): Likewise.
27824 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27825 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
27826 (pkglib_PROGRAMS): Add kernel.img.
27827 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
27828 (pkglib_PROGRAMS): Add kernel.img.
27829 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
27830 (grub_mkimage_SOURCES): Removed.
27831 (grub_mkimage_CFLAGS): Likewise.
27832 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27833 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
27834 (pkglib_PROGRAMS): Add kernel.img.
27835 (bin_UTILITIES): Remove grub-mkimage.
27836 (grub_mkimage_SOURCES): Removed.
27837 (grub_mkimage_CFLAGS): Likewise.
27838 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27839 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
27840 (grub_mkimage_SOURCES): Removed.
27841 (grub_mkimage_CFLAGS): Likewise.
27842 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
27843 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
27844 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
27845 (grub_pe32_optional_header): ... this.
27846 (grub_pe64_optional_header): ... and this. All users updated.
27847 (GRUB_PE32_PE32_MAGIC): Split into ..
27848 (GRUB_PE32_PE32_MAGIC): .. this.
27849 (GRUB_PE32_PE64_MAGIC): .. and this.
27850 (GRUB_PE32_SIGNATURE_SIZE): New definition.
27851 * include/grub/elf.h (PT_GNU_STACK): New definition.
27852 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
27853 * include/grub/i386/efi/kernel.h: Likewise.
27854 * include/grub/i386/kernel.h: Likewise.
27855 * include/grub/i386/pc/kernel.h: Likewise.
27856 * include/grub/i386/qemu/boot.h: Likewise.
27857 * include/grub/mips/kernel.h: Likewise.
27858 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27859 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27860 * include/grub/powerpc/kernel.h: Likewise.
27861 * include/grub/sparc64/ieee1275/boot.h: Likewise.
27862 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27863 * include/grub/sparc64/kernel.h: Likewise.
27864 * include/grub/x86_64/efi/kernel.h: Likewise.
27865 * include/grub/x86_64/kernel.h: Likewise.
27866 * include/grub/offsets.h: New file.
27867 * include/grub/kernel.h (grub_module_info): Split into ...
27868 (grub_module_info32): ... this.
27869 (grub_module_info64): ... and this.
27870 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
27871 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
27872 (grub_boot_blocklist): Moved from here ...
27873 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
27874 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
27875 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
27876 * include/grub/types.h (grub_target_to_host16): Removed.
27877 (grub_target_to_host32): Likewise.
27878 (grub_target_to_host64): Likewise.
27879 (grub_host_to_target16): Likewise.
27880 (grub_host_to_target32): Likewise.
27881 (grub_host_to_target64): Likewise.
27882 (grub_host_to_target_addr): Likewise.
27883
27884 Support grub-mkrescue for efi, coreboot and qemu.
27885
27886 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
27887 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
27888 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
27889 * util/grub-mkrawimage.c: Moved from here ...
27890 * util/grub-mkimage.c: ... here. All users updated.
27891 (ALIGN_ADDR): Use image_target.
27892 (TARGET_NO_FIELD): New const.
27893 (image_target_desc): New type.
27894 (image_targets): New array.
27895 (grub_target_to_host64): Use image_target.
27896 (grub_target_to_host32): Likewise.
27897 (grub_target_to_host16): Likewise.
27898 (grub_host_to_target64): Likewise.
27899 (grub_host_to_target32): Likewise.
27900 (grub_host_to_target16): Likewise.
27901 (grub_host_to_target_addr): Likewise.
27902 (generate_image): Handle multiimage.
27903 (main): Require -O parameter. All users updated.
27904 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
27905 util/efi/grub-mkimage.c
27906 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
27907 New option --rom-directory.
27908 Use xorriso.
27909 * util/i386/efi/grub-mkimage.c: Removed.
27910 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
27911 (grub_target_to_host32): Likewise.
27912 (grub_target_to_host64): Likewise.
27913 (grub_host_to_target16): Likewise.
27914 (grub_host_to_target32): Likewise.
27915 (grub_host_to_target64): Likewise.
27916 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
27917 (grub_target_to_host32): Likewise.
27918 (grub_target_to_host64): Likewise.
27919 (grub_host_to_target16): Likewise.
27920 (grub_host_to_target32): Likewise.
27921 (grub_host_to_target64): Likewise.
27922
f4fc97d0
BC
279232010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
27924
27925 Source tree is reorganized for emu build.
27926
27927 * include/grub/util/console.h: Move from here...
27928 * include/grub/emu/console.h: ...to here.
27929 * include/grub/util/getroot.h: Move from here...
27930 * include/grub/emu/getroot.h: ...to here.
27931 * include/grub/util/hostdisk.h: Move from here...
27932 * include/grub/emu/hostdisk.h: ...to here.
27933 * util/console.c: Move from here...
27934 * kern/emu/console.c: ...to here.
27935 * util/getroot.c: Move from here...
27936 * kern/emu/getroot.c: ...to here.
27937 * util/grub-emu.c: Move from here...
27938 * kern/emu/main.c: ...to here.
27939 * util/hostdisk.c: Move from here...
27940 * kern/emu/hostdisk.c: ...to here.
27941 * util/hostfs.c: Move from here...
27942 * kern/emu/hostfs.c: ...to here.
27943 * util/mm.c: Move from here...
27944 * kern/emu/mm.c: ...to here.
27945 * util/pci.c: Move from here...
27946 * bus/emu/pci.c: ...to here.
27947 * util/sdl.c: Move from here...
27948 * video/emu/sdl.c: ...to here.
27949 * util/time.c: Move from here...
27950 * kern/emu/time.c: ...to here.
27951 * util/usb.c: Move from here...
27952 * bus/usb/emu/usb.c: ...to here.
27953
27954 * include/grub/emu/misc.h: New header for grub-emu functions.
27955 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
27956
27957 * conf/any-emu.rmk: Rule updates for above renames.
27958 * conf/common.rmk: Likewise.
27959 * conf/i386-pc.rmk: Likewise.
27960 * conf/i386-qemu.rmk: Likewise.
27961 * conf/mips.rmk: Likewise.
27962 * conf/sparc64-ieee1275.rmk: Likewise.
27963 * conf/x86-efi.rmk: Likewise.
27964
27965 * disk/lvm.h: #include updates for above renames.
27966 * util/grub-mkrelpath.c: Likewise.
27967 * util/grub-probe.c: Likewise.
27968 * util/i386/pc/grub-setup.c: Likewise.
27969 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27970 * kern/emu/console.c: Likewise.
27971 * kern/emu/getroot.c: Likewise.
27972 * kern/emu/hostdisk.c: Likewise.
27973 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
27974
27975 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
27976 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
27977 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
27978 * util/misc.c: Remove grub-emu functions.
27979
cced9145
VS
279802010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 Fix gfxmenu crash.
27983 Reported by: Thorsten Grützmacher.
27984
27985 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
27986 timeout hook.
27987 (circprog_set_property): Register and unregister timeout hook.
27988 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
27989 (label_destroy): Free template. and unregister hook.
27990 (label_set_state): New function.
27991 (label_set_property): Handle templates and hooks.
27992 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
27993 timeout hook.
27994 (progress_bar_set_property): Register and unregister timeout hook.
27995 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
27996 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
27997 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
27998 (update_timeout_visit): Removed.
27999 (update_timeouts): New function.
28000 (redraw_timeouts): Likewise.
28001 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28002 (grub_gfxmenu_clear_timeout): Likewise.
28003 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28004 (grub_gfxmenu_timeout_notify): Likewise.
28005 (grub_gfxmenu_timeout_notifications): New external variable.
28006 (grub_gfxmenu_timeout_register): New function.
28007 (grub_gfxmenu_timeout_unregister): Likewise.
28008
c6e5caab
VS
280092010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28010
28011 Transform (broken) vga terminal into (working) vga video driver.
28012
28013 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28014 video/i386/pc/vga.c.
28015 * include/grub/video.h (grub_video_driver_id):
28016 Add GRUB_VIDEO_DRIVER_VGA.
28017 * term/i386/pc/vga.c: Renamed to ...
28018 * video/i386/pc/vga.c: ...this
28019 (DEBUG_VGA): Removed.
28020 (CHAR_WIDTH): Likewise.
28021 (CHAR_HEIGHT): Likewise.
28022 (TEXT_WIDTH): Likewise.
28023 (TEXT_HEIGHT): Likewise.
28024 (DEFAULT_FG_COLOR): Likewise.
28025 (DEFAULT_BG_COLOR): Likewise.
28026 (colored_char): Likewise.
28027 (xpos): Likewise.
28028 (ypos): Likewise.
28029 (cursor_state): Likewise.
28030 (fg_color): Likewise.
28031 (bg_color): Likewise.
28032 (text_buf): Likewise.
28033 (page): Likewise.
28034 (font): Likewise.
28035 (framebuffer): New variable.
28036 (set_read_map): Disabled.
28037 (setup): New variable.
28038 (is_target): Likewise.
28039 (grub_vga_mod_init): Likewise.
28040 (grub_vga_mod_fini): Likewise.
28041 (check_vga_mem): Likewise.
28042 (write_char): Likewise.
28043 (write_cursor): Likewise.
28044 (scroll_up): Likewise.
28045 (grub_vga_putchar): Likewise.
28046 (grub_vga_getcharwidth): Likewise.
28047 (grub_vga_getwh): Likewise.
28048 (grub_vga_getxy): Likewise.
28049 (grub_vga_gotoxy): Likewise.
28050 (grub_vga_cls): Likewise.
28051 (grub_vga_setcolorstate): Likewise.
28052 (grub_vga_setcursor): Likewise.
28053 (grub_video_vga_init): New function.
28054 (grub_video_vga_setup): Likewise.
28055 (grub_video_vga_fini): Likewise.
28056 (update_target): Likewise.
28057 (grub_video_vga_blit_bitmap): Likewise.
28058 (grub_video_vga_blit_render_target): Likewise.
28059 (grub_video_vga_set_active_render_target): Likewise.
28060 (grub_video_vga_get_active_render_target): Likewise.
28061 (grub_video_vga_swap_buffers): Likewise.
28062 (grub_video_vga_set_palette): Likewise.
28063 (grub_video_vga_get_info_and_fini): Likewise.
28064 (grub_vga_term): Removed.
28065 (grub_video_vga_adapter): New variable.
28066 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28067 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28068
2bf61a98
VS
280692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 * video/readers/jpeg.c: Indented.
28072
09ddcd11
VS
280732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 Various jpeg cleanups.
28076
28077 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28078 (grub_jpeg_decode_quan_table): Use sizeof.
28079 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28080
e5507505
PH
280812010-05-05 Peter Hurley <No e-mail available> (tiny change)
28082
28083 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28084 tables. Ignore non-last ac bit.
28085 (grub_jpeg_decode_quan_table): Likewise.
28086
7e720a9b
VS
280872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28088
28089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28090 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28091 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28092 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28093 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28094 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28095
a7fc080b
VS
280962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28099 error.
28100
2bf6012d
VS
281012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28104
265d68cd
VS
281052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28106
28107 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28108 condition.
28109
281102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
28111
28112 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28113 part.
28114
265d68cd 281152010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
28116
28117 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28118 pointers.
28119
265d68cd 281202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
28121
28122 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28123
d1b61374
CF
281242010-05-01 Christian Franke <franke@computer.org>
28125
28126 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28127 Remove broken Cygwin path conversion.
28128 * util/misc.c: [__CYGWIN__] Add include and define.
28129 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28130 for Cygwin 1.7.
28131 (make_system_path_relative_to_its_root): Simplify loop, replace early
28132 return by break.
28133 [__CYGWIN__] Add conversion to win32 path.
28134 Include "/" case in trailing slash removal.
28135
3558c6e9
VS
281362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28139 Reported by: Seth Goldberg
28140
f5f3ff93
VS
281412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 * commands/help.c (grub_cmd_help): Fix a typo.
28144 Reported by: Seth Goldberg
28145
d8b5cd40
VS
281462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28147
28148 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28149 name and add N_.
28150 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28151 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28152 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28153 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28154 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28155 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28156 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28157 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28158 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28159 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28160 * normal/context.c (GRUB_MOD_INIT): Likewise.
28161 * normal/main.c (GRUB_MOD_INIT): Likewise.
28162 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28163 * term/serial.c (GRUB_MOD_INIT): Likewise.
28164 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28165
88c14915
VS
281662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28167
28168 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28169 extra == 0.
28170
165134bc
VS
281712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28172
28173 * commands/iorw.c: New file.
28174 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28175 (iorw_mod_SOURCES): New variable.
28176 (iorw_mod_CFLAGS): Likewise.
28177 (iorw_mod_LDFLAGS): Likewise.
28178
c5ac9b32
VS
281792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28180
28181 Hotkey support
28182
28183 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28184 * normal/main.c (hotkey_aliases): New variable.
28185 (grub_normal_add_menu_entry): Parse "--hotkey".
28186 * normal/menu_text.c (run_menu): Handle hotkeys.
28187
ce60689c
VS
281882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28189
28190 * kern/i386/coreboot/init.c (grub_machine_init): Call
28191 grub_machine_mmap_init on qemu.
28192
0359d006
VS
281932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 * boot/i386/qemu/boot.S: Add a missing .code16.
28196
7819a456
VS
281972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28198
28199 Use LBIO on coreboot.
28200
28201 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28202 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28203 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28204 New declaration.
28205 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28206 grub_machine_mmap_init on coreboot.
28207 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28208 GRUB_LINUXBIOS_MEMBER_LINK.
28209 (grub_machine_mmap_iterate): Fix declaration.
28210 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28211
7210dca9
VS
282122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 Split coreboot and multiboot ports.
28215
28216 * conf/i386-multiboot.rmk: New file.
28217 * configure.ac: Add multiboot port.
28218 * include/grub/i386/multiboot/boot.h: New file.
28219 * include/grub/i386/multiboot/console.h: Likewise.
28220 * include/grub/i386/multiboot/init.h: Likewise.
28221 * include/grub/i386/multiboot/kernel.h: Likewise.
28222 * include/grub/i386/multiboot/loader.h: Likewise.
28223 * include/grub/i386/multiboot/memory.h: Likewise.
28224 * include/grub/i386/multiboot/serial.h: Likewise.
28225 * include/grub/i386/multiboot/time.h: Likewise.
28226 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28227 * loader/multiboot.c: Likewise.
28228 * loader/multiboot_mbi2.c: Likewise.
28229 * util/grub-mkrescue.in: Generate multiboot rescue.
28230
6f8aaf68
VS
282312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28232
3080f7a7
VS
28233 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28234
282352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28238
28239 * commands/terminal.c (abstract_terminal): New struct.
28240 (handle_command): New function. Based on grub_cmd_terminal_input.
28241 (grub_cmd_terminal_input): Use handle_command.
28242 (grub_cmd_terminal_output): Use handle_command.
28243
a8ebb841
BC
282442010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28245
28246 Fix comment handling.
28247
28248 * tests/grub_script_comments.in: New testcase.
28249 * conf/tests.rmk: Rules for new testcase.
28250 * script/yylex.l: Updated flex rules.
28251
bb06ba08
ST
282522010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28253
28254 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
28255 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28256 if argc is 1.
bb06ba08 28257
cc9d2425
VS
282582010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28259
28260 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28261 autogen issues.
28262
460d8402
CF
282632010-04-26 Christian Franke <franke@computer.org>
28264
28265 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28266 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28267 (grub_get_prefix): Remove function.
28268 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28269 make_system_path_relative_to_its_root ().
28270 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28271
553c01f9
CF
282722010-04-24 Christian Franke <franke@computer.org>
28273
28274 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28275 (kernel_img_LDFLAGS): Remove -static-libgcc.
28276
2aec1692
CF
282772010-04-24 Christian Franke <franke@computer.org>
28278
28279 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28280 and CHECK_END_SYMBOL if grub-emu is built.
28281 Unset TARGET_OBJ2ELF if grub-emu is built
28282 without module support.
28283
f67dc308
JS
282842010-04-24 Jiro SEKIBA <jir@unicus.jp>
28285
28286 Nilfs2 support.
28287
28288 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28289 (grub_fstest_SOURCES): Likewise.
28290 (pkglib_MODULES): Add nilfs2.mod.
28291 (nilfs2_mod_SOURCES): New variable.
28292 (nilfs2_mod_CFLAGS): Likewise.
28293 (nilfs2_mod_LDFLAGS): Likewise.
28294 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28295 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28296 * fs/nilfs2.c: New file.
28297
4ba8d354
VS
282982010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28301 is not supported.
28302
0d2c20c6
GS
283032010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28304
28305 Add grub-mkconfig support for NetBSD.
28306
28307 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28308 * util/grub-mkconfig.in: export new NetBSD specific variables.
28309 * po/POTFILES-shell: added 10_netbsd.in.
28310 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28311
bc4a2d83
BC
283122010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28313
28314 Fix emu build with grub-emu-pci and grub-emu-modules.
28315
28316 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28317 functions.
28318 * include/grub/libpciaccess.h: New file.
28319 * conf/any-emu.rmk: Update kernel headers for emu build.
28320
f48c87aa
VS
283212010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28324
18959385
VS
283252010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28328
0037de3f
VS
283292010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28330
28331 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28332 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28333 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28334 util/ieee1275/ofpath.c.
28335 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28336 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28337 * include/grub/sparc64/ieee1275/boot.h
28338 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28339 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28340 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28341 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28342 const char *.
28343 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28344 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28345 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28346 install.
28347
38e55e90
GS
283482010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28349
28350 * util/grub-mkconfig.in: Corrected two == equality tests.
28351 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28352 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28353 expect a number appended to it.
28354 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28355 expects a number appended to it.
28356
a9e6ff28
VS
283572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28358
28359 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28360
0b830b8f
VS
283612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 * util/hostdisk.c (make_device_name): Change to new partition naming.
28364
0973daeb
VS
283652010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28368
460d8402 283692010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
28370
28371 * Makefile.in: Add missing localedir setting.
28372
0b456309
CW
283732010-04-14 Colin Watson <cjwatson@ubuntu.com>
28374
28375 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28376 mistake in r2156. Noticed by Anthony Fok.
28377
28378 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28379 @localedir@.
28380 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28381
08f46d62
BC
283822010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28383
28384 Fix a spurious, uninitialized variable warning.
28385
28386 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28387 Initialize variable, shdr.
28388 (grub_freebsd_load_elfmodule): Likewise.
28389 (grub_freebsd_load_elf_meta): Likewise.
28390
8c4a72d4
BC
283912010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28392
28393 Fix for escaped dollar in double quoted strings.
28394
28395 * script/yylex.l: Updated flex rules.
28396 * conf/tests.rmk: Rule for new testcase.
28397 * tests/grub_script_dollar.in: New testcase.
28398
ce44826e
CPE
283992010-04-13 Carles Pina i Estany <carles@pina.cat>
284002010-04-13 Colin Watson <cjwatson@ubuntu.com>
28401
28402 Enclose all translated strings in grub.cfg in single quotes, and
28403 escape them appropriately (Ubuntu bug #552921).
28404
28405 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28406 * util/grub.d/10_hurd.in: Use it.
28407 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28408 * util/grub.d/10_linux.in (linux_entry): Likewise.
28409
4b0cd8f8
VS
284102010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28411
28412 Fix cygwin compilation.
28413
28414 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28415 * include/grub/misc.h (__register_frame_info)
28416 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28417 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28418 * kern/misc.c (__register_frame_info)
28419 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28420 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28421
01fcf061
VS
284222010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28423
28424 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28425
5d04b11e
VS
284262010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 Unify libgcc processing.
28429
28430 * Makefile.in (kernel_img_LDFLAGS): New variable.
28431 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28432 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28433 overwriting.
28434 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28435 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28436 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28437 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28438 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28439 overwriting. Remove -lgcc and -static-libgcc
28440 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28441 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28442 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28443 (kernel_img_LDFLAGS): Append instead of overwriting.
28444 Remove -lgcc and -static-libgcc
28445 * conf/sparc64-ieee1275.rmk: Likewise.
28446 * include/grub/powerpc/libgcc.h: Move to ...
28447 * include/grub/libgcc.h: .. this.
28448 * include/grub/libgcc.h: Don't export most of the function on x86.
28449 (__bswapsi2): New export.
28450 (__bswapdi2): Likewise.
28451 * include/grub/mips/libgcc.h: Removed.
28452 * include/grub/sparc64/libgcc.h: Likewise.
28453
b7f3ac29
VS
284542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
28457 disk_info_msg (conflicts with gettexting into languages with cases).
28458
2c7031b1
GS
284592010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
28460
28461 Add grub-probe support for NetBSD.
28462
28463 * util/getroot.c (find_root_device): Convert block device to
28464 character device on NetBSD.
28465 * util/probe.c (probe): Require character device on NetBSD.
28466 * util/hostdisk.c: NetBSD specific headers.
28467 (configure_device_driver): new function to tune device driver
28468 parameters (currently only for NetBSD floppy driver).
28469 (grub_util_biosdisk_open): NetBSD specific code (get disk size
28470 via disklabel ioctl).
28471 (open_device): call configure_device_driver on NetBSD.
28472 (convert_system_partition_to_system_disk): NetBSD specific code.
28473 (device_is_wholedisk): Likewise.
28474 (grub_util_biosdisk_get_grub_dev): Likewise.
28475 (make_device_name): Fixed a typo in bsd_part_str.
28476 * configure.ac: check for opendisk() and getrawpartition() on
28477 NetBSD and set LIBUTIL.
28478 * Makefile.in: add LIBUTIL to LIBS.
28479
f516290c
BC
284802010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28481
28482 Documentation fix.
28483
28484 * util/grub-script-check.c: Better help message.
28485
d8dcc0df
BC
284862010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
28487
28488 Fix FreeBSD build.
28489
28490 * configure.ac: Flex version check.
28491 * conf/common.rmk: Add -Wno-error to sh.mod.
28492 * script/yylex.l: Remove all #pragma.
28493
6734334a
VS
284942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28495
28496 * include/grub/util/misc.h (canonicalise_file_name): Add missing
28497 prototype.
28498 Reported by: Seth Goldberg.
28499
daea6abd
VS
285002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28501
28502 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
28503 Rename "module" to "module2".
28504 Reported by: Seth Goldberg.
28505
f2fd9d2b
VS
285062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28507
28508 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
28509 EXPORT_FUNC.
28510 Reported by: Seth Goldberg.
28511
be124579
VS
285122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28513
28514 * lib/posix_wrap/locale.h: Add missing file.
28515 Reported by: Seth Goldberg.
28516
ef5da797
VS
285172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
28518
28519 grub-emu module load support.
28520
28521 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
28522 NO_DYNAMIC_MODULES switched to this.
28523 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
28524 (CFLAGS): Likewise.
28525 * conf/any-emu.rmk: Generate symlist.
28526 (kernel_img_HEADERS): Add util/datetime.h.
28527 (kernel_img_HEADERS) [sdl]: Add sdl.h.
28528 (kernel_img_HEADERS) [libusb]: Add libusb.h.
28529 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
28530 kern/$(target_cpu)/cache.S.
28531 * configure.ac (grub-emu-modules): New option.
28532 * genmk.rb: Handle multiple source lists.
28533 * include/grub/sdl.h: New file.
28534 * include/grub/libusb.h: Likewise.
28535 * util/grub-emu.c (main): Hanle (host) root.
28536 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
28537 GRUB_ERR_UNKNOWN_DEVICE.
28538 * util/misc.c: Move mm functions to ...
28539 * util/mm.c: ... here. All users updated.
28540
47822096
VS
285412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28542
28543 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
28544 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
28545 missing files.
28546 (maintainer-clean): Remove libgcrypt-grub.
28547
5d7e7445
VS
285482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
28551
25f4e252
EC
285522010-04-09 EFI Coder <eficoder@hotmail.com>
28553
28554 * normal/menu_text.c (print_message): Clean up the message and show
28555 the Fn information when on EFI
28556 * term/efi/console.c (grub_console_checkkey): Add F4 support.
28557
027de555
VS
285582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28559
28560 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
28561 All users updated.
28562 * normal/crypto.c (read_crypto_list): Likewise.
28563 * normal/dyncmd.c (read_command_list): Likewise.
28564 * normal/term.c (read_terminal_list): Likewise.
28565 * normal/main.c (read_lists): Use explicit prefix.
28566 (read_lists_hook): Use read_lists.
28567 (grub_normal_execute): Likewise.
28568
47779711
VS
285692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28570
28571 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
28572 Reported by: Thomas Schmitt.
28573 Add -no-emul-boot to grub-mkisofs parameters.
28574
1118c32e
VS
285752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28576
28577 * font/font.c: Indented.
28578
7d652447
BC
285792010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28580
28581 Elif support to GRUB script (by Deepak Vankadaru).
28582
28583 * tests/grub_script_if.in: New testcase.
28584 * conf/tests.rmk: Rule for new testcase.
28585 * script/parser.y: Grammar rules for elif.
28586
34bb22df
BC
285872010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
28588
28589 While and until loops support to GRUB script.
28590
28591 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
28592 (grub_script_create_cmdwhile): New function prototype.
28593 (grub_script_execute_cmdwhile): New function prototype.
28594 * script/execute.c (grub_script_execute_cmdwhile): New function.
28595 * script/parser.y (command): New commands.
28596 (whilecmd): New grammar rule.
28597 (untilcmd): New grammar rule.
28598 * script/script.c (grub_script_create_cmdwhile): New function.
28599 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
28600 function.
28601
28602 * tests/grub_script_while1.in: New testcase.
28603 * conf/tests.rmk: Rule for new testcase.
28604
e215d8e0
VS
286052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
28608 as *.jpg.
28609
d7c43ba1
MV
286102010-04-09 Mario Vazquez <mariovazq@gmail.com>
28611
28612 GRUB_BACKGROUND support.
28613
28614 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
28615 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
28616
d64795c0
VS
286172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28618
28619 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 28620 Idea by: Mario Vazquez
d64795c0
VS
28621
28622 * util/grub.d/00_header.in: Load pf2 and image modules.
28623
f267f83a
VS
286242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28625
28626 grub-mkconfig multiple terminal support.
28627
28628 * util/grub-mkconfig.in: Handle multiple terminals correctly.
28629 * util/grub.d/00_header.in: Likewise.
28630
b7841ceb
VS
286312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
28632
28633 * Makefile.in: Specify files explicitly instead of using $< and $@ since
28634 we use cd $(srcdir).
28635
df60998c
CW
286362010-04-08 Colin Watson <cjwatson@ubuntu.com>
28637
28638 * util/grub.d/10_linux.in: Only use the first word of
28639 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
28640 spaces in GRUB_DISTRIBUTOR.
28641 * util/grub.d/10_kfreebsd.in: Likewise.
28642 * util/grub.d/10_hurd.in: Likewise.
28643
fa09c82e
BC
286442010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
28645
14e18ae3 28646 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
28647
28648 * tests/util/grub-shell.in: Remove -serial stdio option.
28649
daf892b3
BC
286502010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
28651
28652 POSIX header file wrappers.
28653
28654 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
28655 equivalents.
28656 * lib/posix_wrap/ctype.h: Likewise.
28657 * lib/posix_wrap/errno.h: Likewise.
28658 * lib/posix_wrap/langinfo.h: Likewise.
28659 * lib/posix_wrap/limits.h: Likewise.
28660 * lib/posix_wrap/localcharset.h: Likewise.
28661 * lib/posix_wrap/stdint.h: Likewise.
28662 * lib/posix_wrap/stdio.h: Likewise.
28663 * lib/posix_wrap/stdlib.h: Likewise.
28664 * lib/posix_wrap/string.h: Likewise.
28665 * lib/posix_wrap/sys/types.h: Likewise.
28666 * lib/posix_wrap/unistd.h: Likewise.
28667 * lib/posix_wrap/wchar.h: Likewise.
28668 * lib/posix_wrap/wctype.h: Likewise.
28669 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
28670 (grub_script.yy.h): Likewise.
28671 * script/yylex.l: Remove POSIX emulation #defines.
28672 * Makefile.in (POSIX_CFLAGS): New variable.
28673 (GNULIB_UTIL_CFLAGS): Likewise.
28674
28675 Regexp support.
28676
28677 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
28678 (regexp_mod_SOURCES): New variable.
28679 (regexp_mod_CFLAGS): Likewise.
28680 (regexp_mod_LDFLAGS): Likewise.
28681 * commands/regexp.c: New file.
28682 * gnulib/regcomp.c: New file. Imported from gnulib.
28683 * gnulib/regex.c: Likewise.
28684 * gnulib/regex_internal.c: Likewise.
28685 * gnulib/regex_internal.h: Likewise.
28686 * gnulib/regexec.c: Likewise.
28687 * gnulib/regex.h: Likewise.
28688
974ac4f7
VS
286892010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28690
28691 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
28692 unsupported video mode types.
28693
2622c3ff
VS
286942010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28695
28696 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
28697
064cb524
VS
286982010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28699
28700 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
28701 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
28702
a8c3b552
VS
287032010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28704
28705 Remove unused grub_vga_get_font.
28706
28707 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
28708 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
28709
187bbe3d
GS
287102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28711
28712 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
28713 * include/grub/misc.h: Likewise.
28714
b9396631
GS
287152010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28716
28717 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
28718 for which failure is fatal.
28719
50479feb
GS
287202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28721
28722 * util/grub-install.in: Use mkdir -p to create grub directory.
28723 * util/i386/efi/grub-install.in: Likewise.
28724 * util/ieee1275/grub-install.in: Likewise.
28725
b1654fdf
GS
287262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28727
28728 * Makefile.in (LEX): new variable.
28729
bd5a6415
GS
287302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
28731
28732 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
28733 `=' and added double quotes on operands of this equality test.
28734
3db3a82b
VS
287352010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28736
28737 * Makefile.in (uninstall): Remove a leftover debug echo.
28738 Reported by: Grégoire Sutre
28739
38023412
VS
287402010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 MIPS multiboot2 support.
28743
28744 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
28745 (multiboot2_mod_SOURCES): New variable.
28746 (multiboot2_mod_CFLAGS): Likewise.
28747 (multiboot2_mod_LDFLAGS): Likewise.
28748 (multiboot2_mod_ASFLAGS): Likewise.
28749 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
28750 definition.
28751 (MULTIBOOT_ENTRY_REGISTER): Likewise.
28752 (MULTIBOOT_MBI_REGISTER): Likewise.
28753 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
28754 (MULTIBOOT_ELF32_MACHINE): Likewise.
28755 (MULTIBOOT_ELF64_MACHINE): Likewise.
28756 * include/grub/mips/multiboot.h: New file.
28757 * include/grub/video.h (grub_video_driver_id): New type
28758 GRUB_VIDEO_DRIVER_SM712.
28759 (grub_video_get_info_and_fini): Export.
28760 (grub_video_get_palette): Likewise.
28761 (grub_video_get_driver_id): Likewise.
28762 * include/multiboot2.h: Resynced with spec.
28763 * loader/i386/multiboot.c: Moved from here ...
28764 * loader/multiboot.c: ... here. All users updated.
28765 (grub_multiboot_boot): Use platform-specific macros.
28766 * loader/i386/multiboot_elfxx.c: Moved from here ...
28767 * loader/multiboot_elfxx.c: ... here. All users updated.
28768 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
28769 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
28770 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
28771
47674667
VS
287722010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 Import gnulib argp module.
28775
28776 * gnulib/argp-ba.c: New file.
28777 * gnulib/argp-eexst.c: Likewise.
28778 * gnulib/argp-fmtstream.c: Likewise.
28779 * gnulib/argp-fmtstream.h: Likewise.
28780 * gnulib/argp-fs-xinl.c: Likewise.
28781 * gnulib/argp-help.c: Likewise.
28782 * gnulib/argp-namefrob.h: Likewise.
28783 * gnulib/argp-parse.c: Likewise.
28784 * gnulib/argp-pin.c: Likewise.
28785 * gnulib/argp-pv.c: Likewise.
28786 * gnulib/argp-pvh.c: Likewise.
28787 * gnulib/argp-version-etc.c: Likewise.
28788 * gnulib/argp-version-etc.h: Likewise.
28789 * gnulib/argp-xinl.c: Likewise.
28790 * gnulib/argp.h: Likewise.
28791
495442ed
VS
287922010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28793
28794 * kern/device.c (grub_device_iterate): Clear errors after failed
28795 opening device.
28796
f9fd65df
VS
287972010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
28798
28799 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
28800 returned by firmware.
28801
af09641e
VS
288022010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
28805 compilation on coreboot and qemu
28806
016883a5
VS
288072010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28808
28809 * include/multiboot2.h: Resync with spec.
28810
f97e1f7d
VS
288112010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
28812
28813 Multiboot2 tag support
28814
28815 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
28816 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
28817 Remove loader/multiboot_loader.c.
28818 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
28819 (grub_multiboot2_real_boot): Likewise.
28820 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
28821 (grub_get_multiboot_mmap_count): New proto.
28822 (grub_fill_multiboot_mmap): Likewise.
28823 (grub_multiboot_set_video_mode): Likewise.
28824 (grub_multiboot_set_console): Likewise.
28825 (grub_multiboot_load): Likewise.
28826 (grub_multiboot_load_elf): Likewise.
28827 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
28828 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28829 * include/multiboot.h: Resynced with specification.
28830 * include/multiboot2.h: Resynced with specification.
28831 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
28832 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
28833 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
28834 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
28835 users updated.
28836 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
28837 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
28838 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
28839 Removed.
28840 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
28841 Moved from here...
28842 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
28843 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
28844 Moved from here...
28845 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
28846 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
28847 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
28848 All users updated.
28849 * loader/i386/multiboot_mbi2.c: New file.
28850
3506b90b
VS
288512010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28852
28853 Resync with gnulib.
28854
28855 * Makefile.in (GNULIB_CFLAGS): New variable.
28856 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
28857 (grub_script_check_CFLAGS): New variable.
28858 * gnulib/alloca.h: Resync with gnulib.
28859 * gnulib/error.c: Likewise.
28860 * gnulib/error.h: Likewise.
28861 * gnulib/fnmatch.c: Likewise.
28862 * gnulib/fnmatch_loop.c: Likewise.
28863 * gnulib/getdelim.c: Likewise.
28864 * gnulib/getline.c: Likewise.
28865 * gnulib/getopt.c: Likewise.
28866 * gnulib/getopt1.c: Likewise.
28867 * gnulib/getopt_int.h: Likewise.
28868 * gnulib/gettext.h: Likewise.
28869 * gnulib/progname.c: Likewise.
28870 * gnulib/progname.h: Likewise.
28871
394a3120
GS
288722010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
28873
28874 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
28875 which is the case with --disabled-nls.
28876
28877 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28878 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
28879 * util/misc.c: Likewise.
28880 * util/mkisofs/mkisofs.c: Likewise.
28881 * util/mkisofs/mkisofs.h: Likewise.
28882
969d1c78
VS
288832010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
28884
28885 Simplify Apple CC support.
28886
28887 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
28888 Add 0 byte at the end not to have a symbol with empty target.
28889 * mmap/i386/pc/mmap_helper.S: Likewise.
28890 * genmk.rb: Ignore errors 2030 and 2050.
28891 * kern/i386/pc/startup.S: Use LOCAL when possible.
28892
8d2977bb
BC
288932010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
28894
28895 Testcase and the fix for final semicolon on cmdline.
28896
28897 * tests/grub_script_final_semicolon.in: New testcase.
28898 * conf/tests.rmk: Rules for the new testcase.
28899 * script/parser.y: Grammar fix.
28900
a7bd6915
BC
289012010-03-26 BVK Chaitanya <bvk@localhost>
28902
28903 Blank lines testcase for GRUB script.
28904
28905 * tests/grub_script_blanklines.in: New testcase.
28906 * conf/tests.rmk: Rules for the new testcase.
28907
e4ff6628
VS
289082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28909
28910 Don't use __FILE__.
28911
28912 * genmk.rb: Add -DGRUB_FILE to all C targets.
28913 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
28914 * include/grub/list.h: Likewise.
28915 * include/grub/misc.h: Likewise.
28916 * include/grub/mm.h: Likewise.
28917 * include/grub/test.h: Likewise.
28918 * kern/mm.c: Likewise.
28919 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28920
6a5cf6b6
VS
289212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28922
28923 Sunpc partitions support.
28924
28925 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
28926 (grub_fstest_SOURCES): Likewise.
28927 (pkglib_MODULES): Add part_sunpc.mod.
28928 (part_sunpc_mod_SOURCES): New variable.
28929 (part_sunpc_mod_CFLAGS): Likewise.
28930 (part_sunpc_mod_LDFLAGS): Likewise.
28931 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
28932 * partmap/sunpc.c: New file.
28933
746d9045
BC
289342010-03-26 BVK Chaitanya <bvk@localhost>
28935
28936 For loop support to GRUB script.
28937
28938 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
28939 (grub_script_create_cmdfor): New function prototype.
28940 (grub_script_execute_cmdfor): New function prototype.
28941 * script/execute.c (grub_script_execute_cmdfor): New function.
28942 * script/parser.y (command): New for command.
28943 (forcmd): New grammar rule.
28944 * script/script.c (grub_script_create_cmdfor): New function.
28945 * util/grub-script-check.c (grub_script_execute_cmdfor): New
28946 function.
28947 * tests/grub_script_for1.in: New testcase.
28948 * conf/tests.rmk: Rules for new testcase.
28949
18486b18
VS
289502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
28951
28952 Nested partitions
28953
28954 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
28955 'partition' is NULL, grub_partition_get_start already does that.
28956 * commands/loadenv.c (check_blocklists): Likewise.
28957 (write_blocklists): Likewise.
28958 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
28959 (grub_fstest_SOURCES): Likewise.
28960 (pkglib_MODULES): Add part_bsd.mod.
28961 (part_bsd_mod_SOURCES): New variable.
28962 (part_bsd_mod_CFLAGS): Likewise.
28963 (part_bsd_mod_LDFLAGS): Likewise.
28964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
28965 (grub_emu_SOURCES): Likewise.
28966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28967 * include/grub/bsdlabel.h: New file.
28968 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
28969 'get_name'.
28970 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
28971 (grub_partition_map_list): New variable.
28972 (grub_partition_map_register): Inline.
28973 (grub_partition_map_unregister): Likewise.
28974 (FOR_PARTITION_MAPS): New macro.
28975 (grub_partition_map_iterate): Removed.
28976 (grub_partition_get_start): Handle nested partitions.
28977 * include/grub/msdos_partition.h: Remove bsd-related entries.
28978 (grub_pc_partition): Remove.
28979 * kern/disk.c (grub_disk_close): Free partition data.
28980 (grub_disk_adjust_range): Handle nested partitions.
28981 * kern/partition.c (grub_partition_map_probe): New function.
28982 (grub_partition_probe): Parse name to number, handle subpartitions.
28983 (get_partmap): New function.
28984 (grub_partition_iterate): Handle subpartitions.
28985 (grub_partition_get_name): Likewise.
28986 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
28987 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
28988 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
28989 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
28990 Set 'number'.
28991 (acorn_partition_map_probe): Remove.
28992 (acorn_partition_map_get_name): Likewise.
28993 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
28994 Set 'number'.
28995 Set 'index' to 0 since there can be only one partition entry per sector.
28996 (amiga_partition_map_probe): Remove.
28997 (amiga_partition_map_get_name): Likewise.
28998 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
28999 Set 'number'.
29000 Set 'offset' and 'index' to real positions of partitions.
29001 (apple_partition_map_probe): Remove.
29002 (apple_partition_map_get_name): Likewise.
29003 * partmap/bsdlabel.c: New file.
29004 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29005 Set 'number'.
29006 Allocate 'data' so it can be correctly freed.
29007 Set 'index' to offset inside sector.
29008 (gpt_partition_map_probe): Remove.
29009 (gpt_partition_map_get_name): Likewise.
29010 * partmap/msdos.c (grub_partition_parse): Remove.
29011 (pc_partition_map_iterate): Don't force raw access.
29012 Set 'number'.
29013 Make 'ext_offset' a local variable.
29014 (pc_partition_map_probe): Remove.
29015 (pc_partition_map_get_name): Remove.
29016 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29017 Set 'number'.
29018 (sun_partition_map_probe): Remove.
29019 (sun_partition_map_get_name): Likewise.
29020 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29021 (grub_pcpart_type): Likewise.
29022 * util/hostdisk.c (open_device): Handle new numbering scheme.
29023 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29024 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29025 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29026 * util/grub-install.in: Insert all subpartition modules.
29027 * util/ieee1275/grub-install.in: Likewise.
29028
a3940f88
AG
290292010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29030
29031 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29032 grammar.
29033
21b99926 290342010-03-24 Colin Watson <cjwatson@ubuntu.com>
29035
29036 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29037
bed1d352
CW
290382010-03-21 Colin Watson <cjwatson@ubuntu.com>
29039
29040 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29041 match where 'make install' puts them.
29042 * util/i386/efi/grub-install.in: Likewise.
29043
c9f58427
CW
290442010-03-19 Colin Watson <cjwatson@ubuntu.com>
29045
29046 * .bzrignore: Add gentrigtables, grub-script-check,
29047 grub_script_check_init.c, grub_script_check_init.h, and
29048 trigtables.c.
29049
f84afb27
VS
290502010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29051
29052 * kern/parser.c: Indented.
29053
ed0e3d30
VS
290542010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29057
0ea81d98
VS
290582010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29061 alpha_mask_size == 0 case.
29062
0cdc2a09
BC
290632010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29064
29065 GRUB shell lexer and parser improvements.
29066
29067 * conf/any-emu.rmk: Build rule updates.
29068 * conf/common.rmk: Likewise.
29069 * conf/i386-coreboot.rmk: Likewise.
29070 * conf/i386-efi.rmk: Likewise.
29071 * conf/i386-ieee1275.rmk: Likewise.
29072 * conf/i386-pc.rmk: Likewise.
29073 * conf/powerpc-ieee1275.rmk: Likewise.
29074 * conf/x86_64-efi.rmk: Likewise.
29075
29076 * configure.ac: Configure check for flex.
29077
29078 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29079 types.
29080 (grub_lexer_param): Struct member updates.
29081 (grub_parser_param): Likewise.
29082 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29083 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29084 (grub_script_lexer_init): Prototype update.
29085 (grub_script_lexer_record_start): Likewise.
29086 (grub_script_lexer_record_stop): Likewise.
29087 (grub_script_lexer_yywrap): New function prototype.
29088 (grub_script_lexer_fini): Likewise.
29089 (grub_script_execute_argument_to_string): Removed by...
29090 (grub_script_execute_argument_to_argv): ...better version.
29091
29092 * script/execute.c (ROUND_UPTO): New macro.
29093 (grub_script_execute_cmdline): Out of memory fixes.
29094 (grub_script_execute_menuentry): Likewise.
29095 (grub_script_execute_argument_to_string): Removed. Update all
29096 users by...
29097 (grub_script_execute_argument_to_argv): ...better version.
29098 * script/function.c (grub_script_function_create): Use
29099 grub_script_execute_argument_to_argv instead of
29100 grub_script_execute_argument_to_string.
29101
29102 * script/lexer.c (check_varstate): Removed.
29103 (check_textstate): Removed.
29104 (grub_script_lexer_record_start): Likewise.
29105 (grub_script_lexer_record_stop): Likewise.
29106 (recordchar): Replaced with...
29107 (grub_script_lexer_record): ...new function.
29108 (nextchar): Removed.
29109 (grub_script_lexer_init): Rewritten.
29110 (grub_script_yylex): Rewritten.
29111 (append_newline): New function.
29112 (grub_script_lexer_yywrap): New function.
29113 (grub_script_lexer_fini): New function.
29114 (grub_script_yyerror): Sets error flag.
29115
29116 * script/yylex.l: New file.
29117 (grub_lexer_yyfree): Wrapper for flex yyffre.
29118 (grub_lexer_yyalloc): Likewise.
29119 (grub_lexer_yyrealloc): Likewise.
29120 * script/parser.y: Refactored.
29121
29122 * script/script.c (grub_script_arg_add): Out of memory fixes.
29123 (grub_script_add_arglist): Likewise.
29124 (grub_script_create_cmdline): Likewise.
29125 (grub_script_create_cmdmenu): Likewise.
29126 (grub_script_add_cmd): Likewise.
29127 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29128 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29129 unnecessary code.
29130
29131 * tests/grub_script_echo1.in: New testcase.
29132 * tests/grub_script_vars1.in: New testcase.
29133 * tests/grub_script_echo_keywords.in: New testcase.
29134
1d63a066
VS
291352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29136
29137 Remove some redundancy in build system.
29138
29139 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29140 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29141 (TARGET_LDFLAGS): Add -nostdlib.
29142 (TARGET_IMG_LDFLAGS): Likewise.
29143 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29144 anything since mmap isn't available.
29145 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29146 Add util/time.c.
29147 (pkglib_MODULES): Remove reboot.mod.
29148 (reboot_mod_SOURCES): Removed.
29149 (reboot_mod_CFLAGS): Likewise.
29150 (reboot_mod_LDFLAGS): Likewise.
29151 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29152 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29153 (DEFSYMFILES): Add kernel_syms.lst.
29154 (kernel_img_HEADERS): Add common headers.
29155 (symlist.c): New target.
29156 (kernel_syms.lst): Likewise.
29157 (pkglib_MODULES): Add memdisk.mod.
29158 (memdisk_mod_SOURCES): New variable.
29159 (memdisk_mod_CFLAGS): Likewise.
29160 (memdisk_mod_LDFLAGS): Likewise.
29161 (pkglib_MODULES): Add reboot.mod.
29162 (reboot_mod_SOURCES): New variable.
29163 (reboot_mod_CFLAGS): Likewise.
29164 (reboot_mod_LDFLAGS): Likewise.
29165 (pkglib_MODULES): Add date.mod.
29166 (date_mod_SOURCES): New variable.
29167 (date_mod_CFLAGS): Likewise.
29168 (date_mod_LDFLAGS): Likewise.
29169 (pkglib_MODULES): Add datehook.mod.
29170 (datehook_mod_SOURCES): New variable.
29171 (datehook_mod_CFLAGS): Likewise.
29172 (datehook_mod_LDFLAGS): Likewise.
29173 (pkglib_MODULES): Add lsmmap.mod.
29174 (lsmmap_mod_SOURCES): New variable.
29175 (lsmmap_mod_CFLAGS): Likewise.
29176 (lsmmap_mod_LDFLAGS): Likewise.
29177 (pkglib_MODULES): Add boot.mod.
29178 (boot_mod_SOURCES): New variable.
29179 (boot_mod_CFLAGS): Likewise.
29180 (boot_mod_LDFLAGS): Likewise.
29181 * conf/i386-coreboot.rmk: Removed redundant parts.
29182 * conf/i386-ieee1275.rmk: Likewise.
29183 * conf/i386-pc.rmk: Likewise.
29184 * conf/mips-yeeloong.rmk: Likewise.
29185 * conf/mips.rmk: Likewise.
29186 * conf/powerpc-ieee1275.rmk: Likewise.
29187 * conf/sparc64-ieee1275.rmk: Likewise.
29188 * conf/x86_64-efi.rmk: Likewise.
29189 * conf/i386-coreboot.rmk: Moved qemu parts ..
29190 * conf/i386-qemu.rmk: ... here
29191 * conf/i386-efi.rmk: Moved common parts to...
29192 * conf/x86-efi.rmk: ... here.
29193 * conf/i386.rmk: Added modules common to all x86 variants.
29194 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29195 * disk/memdisk.c: Remove grub/machine/kernel.h.
29196 * gensymlist.sh.in: Include symbol.h.
29197 * hook/datehook.c: Correct module name.
29198 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29199 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29200 * include/grub/i386/efi/serial.h: New file.
29201 * include/grub/x86_64/efi/serial.h: Likewise.
29202 * util/time.c: Likewise.
29203 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29204
463ac55f
CK
292052010-03-14 Colin King <colin.king@ubuntu.com>
292062010-03-14 Colin Watson <cjwatson@ubuntu.com>
29207
29208 Shrink the pre-partition-table part of boot.img by eight bytes.
29209
29210 * boot/i386/pc/boot.S (ERR): New macro.
29211 (chs_mode): Use ERR.
29212 (geometry_error): Likewise.
29213 (hd_probe_error): Remove. This is only used once, so we wrwite
29214 it inline instead.
29215 (read_error): Instead of printing read_error_string, just set up
29216 %si and fall through to ...
29217 (error_message): ... this new function, also used by ERR.
29218
08e46ede
CW
292192010-03-14 Colin Watson <cjwatson@ubuntu.com>
29220
29221 Speed up consecutive hostdisk operations on the same device.
29222
29223 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29224 (grub_util_biosdisk_open): Initialise disk->data.
29225 (struct linux_partition_cache): New structure.
29226 (linux_find_partition): Cache partition start positions; these are
29227 expensive to compute on every read and write.
29228 (open_device): Cache open file descriptor in disk->data, so that we
29229 don't have to reopen it and flush the buffer cache for consecutive
29230 operations on the same device.
29231 (grub_util_biosdisk_close): New function.
29232 (grub_util_biosdisk_dev): Set `close' member.
29233
29234 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29235 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29236 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29237 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29238 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29239
4a6d2d06
VS
292402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29241
29242 Compile parts of grub-emu as modules.
29243
29244 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29245 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29246 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29247 (all-local): Add $(GRUB_EMU).
29248 (install-local): Install $(GRUB_EMU).
29249 (uninstall): Uninstall $(GRUB_EMU).
29250 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29251 * kern/dl.c: Likewise.
29252 * commands/sleep.c: Not include machine/time.h.
29253 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29254 (COMMON_CFLAGS): Likewise.
29255 (sbin_UTILITIES): Remove grub-emu.
29256 (grub_emu_SOURCES): Removed.
29257 (kernel_img_RELOCATABLE): New variable.
29258 (pkglib_PROGRAMS): Add kernel.img.
29259 (kernel_img_SOURCES): New variable
29260 (kernel_img_CFLAGS): Likewise.
29261 (kernel_img_LDFLAGS): Likewise.
29262 (TARGET_NO_STRIP): Likewise.
29263 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29264 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29265 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29266 (grub-emu): New target.
29267 (GRUB_EMU): New variable.
29268 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29269 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29270 * loader/xnu.c: Likewise.
29271 * include/grub/pci.h: Likewise.
29272 * genemuinit.sh: New file.
29273 * genemuinitheader.sh: Likewise.
29274 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29275 Support TARGET_NO_DYNAMIC_MODULES.
29276 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29277 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29278 * disk/loopback.c: Likewise.
29279 * font/font_cmd.c: Likewise.
29280 * partmap/acorn.c: Likewise.
29281 * partmap/amiga.c: Likewise.
29282 * partmap/apple.c: Likewise.
29283 * partmap/gpt.c: Likewise.
29284 * partmap/msdos.c: Likewise.
29285 * partmap/sun.c: Likewise.
29286 * parttool/msdospart.c: Likewise.
29287 * term/gfxterm.c: Likewise.
29288 * video/bitmap.c: Likewise.
29289 * video/readers/jpeg.c: Likewise.
29290 * video/readers/png.c: Likewise.
29291 * video/readers/tga.c: Likewise.
29292 * video/video.c: Likewise.
29293 * util/grub-emu.c (read_command_list): Removed.
29294 (main): Don't call util_init_nls.
29295 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29296 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29297
91fdd2ed
VS
292982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29301 date.mod, datehook.mod.
29302 (datetime_mod_SOURCES): New variable.
29303 (datetime_mod_CFLAGS): Likewise.
29304 (datetime_mod_LDFLAGS): Likewise.
29305 (date_mod_SOURCES): Likewise.
29306 (date_mod_CFLAGS): Likewise.
29307 (date_mod_LDFLAGS): Likewise.
29308 (datehook_mod_SOURCES): Likewise.
29309 (datehook_mod_CFLAGS): Likewise.
29310 (datehook_mod_LDFLAGS): Likewise.
29311 * conf/sparc64-ieee1275.rmk: Likewise.
29312 * lib/ieee1275/datetime.c: New file.
29313
873ccae6
VS
293142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29315
29316 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29317 (ieee1275_fb_mod_SOURCES): New variable.
29318 (ieee1275_fb_mod_CFLAGS): Likewise.
29319 (ieee1275_fb_mod_LDFLAGS): Likewise.
29320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29321 New proto.
29322 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29323 (HEAP_MAX_ADDR): Likewise.
29324 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29325 type.
29326 Correct stop condition.
29327 (grub_ieee1275_devices_iterate): New function.
29328 * video/ieee1275.c: New file.
29329
601c97c0
VS
293302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29331
29332 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29333
29334 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29335 as scratch.
29336 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29337 SCRATCH_PAD_DISKBOOT as scratch.
29338 (bootit): Pass Openfirmware pointer in %o4.
29339 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29340 of 0x200000.
29341 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29342 with util/grub-mkrawimage.c.
29343 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29344 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29345 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29346 (grub_aout_load) [GRUB_UTIL]: Likewise.
29347 * include/grub/kernel.h (grub_modules_get_end): New proto.
29348 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29349 (SCRATCH_PAD_BOOT): New definition.
29350 (SCRATCH_PAD_DISKBOOT): Likewise.
29351 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29352 * include/grub/sparc64/ieee1275/ieee1275.h
29353 (grub_ieee1275_original_stack): New variable
29354 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29355 New definition
29356 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29357 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29358 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29359 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29360 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29361 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29362 (grub_platform_image_format_t): New type.
29363 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29364 * kern/main.c (grub_modules_get_end)
29365 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29366 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29367 (codestart): Switch stacks.
29368 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29369 variable.
29370 (grub_heap_init): Use grub_modules_get_end.
29371 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29372 stack.
29373 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29374 (main): Likewise.
29375 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29376
d68b491e
TG
293772010-03-14 Thorsten Glaser <tg@mirbsd.org>
29378
29379 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29380
4e02ed50
MK
293812010-03-08 Matt Kraai <kraai@ftbfs.org>
29382
29383 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29384 bug #559005).
29385
1f15fc1e
VS
293862010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 * genmoddep.awk: Output all missing symbols and not only first.
29389
fce5d8ff
VS
293902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29391
29392 * NEWS: Put the date of 1.98 release.
29393
d1e8a02f
VS
293942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29395
29396 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29397 ft2build.h.
29398
696fd607
VS
293992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29400
29401 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29402 completition in the middle of string.
29403
33e2e6f3
VS
294042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29405
29406 * util/grub-mkrescue.in: Use mktemp with explicit template.
29407
b1f6d291
VS
294082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29411
2ac227c7
VS
294122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29413
29414 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29415 right pointer.
29416
8f9a632b
VS
294172010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29418
29419 Fix FreeBSD compilation.
29420
29421 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29422 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29423
60b03859
VS
294242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29427
48a5a769
VS
294282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29429
29430 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29431
3ab4bd77
VS
294322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29433
29434 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29435
d116e0d8
RM
294362010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 Support relative image path in theme file.
29439
29440 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29441 (image_set_property): Handle theme_dir and relative path.
29442
c7ef54aa
VS
294432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29444
29445 * configure.ac: Alias amd64 to x86_64.
29446
fcee14ed
VS
294472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29448
29449 * NEWS: mention multiboot on EFI.
29450
d0780363
VS
294512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29452
29453 * kern/main.c (grub_load_modules): Handle errors from init functions of
29454 embeded modules.
29455
41168ea4
VS
294562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 * normal/autofs.c (autoload_fs_module): Handle errors.
29459
b54d93ac
VS
294602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29461
29462 Disable linux.mod on qemu-mips since it's not functional and leads
29463 to compilation failure.
29464
29465 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
29466 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
29467 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
29468 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
29469 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
29470 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
29471 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
29472 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
29473 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
29474 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
29475 Reported by: BVK Chaitanya
29476
fc8345da
JU
294772010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
29478
29479 * INSTALL: Add gettext as a dependency and add qemu to a new section
29480 "Prerequisites for make-check".
29481
4760f979
CF
294822010-03-04 Christian Franke <franke@computer.org>
29483
29484 * util/grub-pe2elf.c: Add missing include "progname.h".
29485
f209b5b2
VS
294862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29487
29488 * normal/crypto.c (read_crypto_list): Fix a typo.
29489 Reported by: Seth Goldberg.
29490
b4b7be98
VS
294912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29492
29493 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 29494 Reported by: Seth Goldberg.
b4b7be98 29495
c0ee0385
VS
294962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29497
29498 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
29499 ascii.bitmaps.
29500
a8efbf64
VS
295012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29502
29503 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 29504 Reported by: Seth Goldberg.
a8efbf64 29505
08dcd913
VS
295062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29507
29508 * util/i386/efi/grub-install.in: Copy gettext files.
29509
c4d0b332
VS
295102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29511
29512 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
29513
c6f2fe52
VS
295142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29515
29516 Wait for user entry basing on presence of output rather than on errors.
29517
29518 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
29519 (grub_install_newline_hook): Likewise.
29520 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
29521 * normal/menu.c (show_menu): Check line_counter to determine presence
29522 of output.
29523 * normal/term.c (grub_normal_line_counter): New variable.
29524 (grub_normal_get_line_counter): New function.
29525 (grub_install_newline_hook): Likewise.
29526
5382b1e4
VS
295272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29528
29529 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
29530
5519963b
VS
295312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
29532
29533 * configure.ac: Update version to 1.98.
29534
72b28631
VS
295352010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29536
29537 * util/grub.d/10_linux.in (linux_entry): Don't default to
29538 gfxpayload=keep if Linux doesn't support video handover.
29539
c140a180
VS
295402010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
29541
29542 Don't compile video modules on yeeloong since video subsystem is part
29543 of kernel.
29544
29545 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
29546 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
29547 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
29548 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
29549 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
29550 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
29551 * include/grub/bitmap_scale.h: Likewise.
29552 * include/grub/bufio.h: Likewise.
29553 * include/grub/font.h: Likewise.
29554 * include/grub/gfxterm.h: Likewise.
29555 * include/grub/video.h: Likewise.
29556 * include/grub/vbe.h: Don't include video_fb.h.
29557 * video/i386/pc/vbe.c: Include video_fb.h.
29558 * commands/i386/pc/vbetest.c: Include video.h.
29559
a0ca21c2
CW
295602010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
29561
29562 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
29563 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
29564 default entry if GRUB_SAVEDEFAULT=true. This allows using
29565 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
29566 saving a new default on every boot.
29567
4a8a763c
VS
295682010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29569
29570 * normal/crypto.c (read_crypto_list): Fix a memory leak.
29571 * normal/term.c (read_terminal_list): Likewise.
29572 * normal/main.c (grub_normal_init_page): Likewise.
29573 (grub_normal_read_line_real): Likewise.
29574
607ffde2
VS
295752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
29576
29577 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
29578 memory leak.
29579 Reported by: Seth Goldberg.
29580
2b8fa975
CW
295812010-02-24 Joey Korkames <joey+lists@kidfixit.com>
29582
29583 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
29584 duplicate declaration of `start'.
29585
618307dd
VS
295862010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29587
29588 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
29589 filename.
29590 Reported by: Georgy Buranov
29591
7dd05b96 295922010-02-20 Carles Pina i Estany <carles@pina.cat>
29593
29594 * util/grub-mkrawimage.c (usage): Change string formatting to
29595 improve gettext.
29596
d1484a42
MRA
295972010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
29598
29599 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
29600 backspace keys.
29601
42b1d186
VS
296022010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
29605 Reported by: Michael Suchanek.
29606
296072010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
29608
29609 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
29610 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
29611
d9f31a41
VS
296122010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
29613
29614 Remove any reference to non-free fonts.
29615
29616 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
29617 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
29618 uses non-free components.
29619 * font/font.c (grub_font_get_name): Remove example name.
29620 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
29621 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
29622 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
29623 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
29624
2793c71e
GB
296252010-02-16 Georgy Buranov <gburanov@gmail.com>
29626
29627 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
29628
402e3779
VS
296292010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29630
29631 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
29632 Double divisor.
29633 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
29634 features.
29635 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
29636
0dd1e0dd
VS
296372010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
29638
29639 * gensymlist.sh.in: Use TARGET_CC instead of CC.
29640
6fa7cfce
ST
296412010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29642
29643 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
29644 * docs/grub.texi (Command-line and menu entry commands): Document play
29645 command.
29646
37c8483b
ST
296472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29648
29649 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
29650 parse arguments as inline tempo and notes. Move code for playing notes
29651 to...
29652 (play): ... new function.
29653
14da0fb7
ST
296542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
29655
29656 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
29657 grub_uint16_t instead of short.
29658 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
29659 disk from little endian to cpu endianness.
29660
04459e70
ST
296612010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
29662
29663 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
29664 GRUB_TICKS_PER_SECOND instead of 120.
29665
a0876943
VS
296662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29667
29668 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
29669 escape sequence after \e.
29670
e29f95dc
VS
296712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29672
29673 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
29674 non-ASCII characters.
29675
d27859b2
VS
296762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29677
29678 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
29679 set root in single quotes to prevent \, from being unescaped.
29680
bc028f2f
VS
296812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 Prevent unknown commands from stopping menuentry execution.
29684
29685 * script/execute.c (grub_script_execute_cmdline): Print error after
29686 unknown command.
29687
095f5f82
VS
296882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29689
29690 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
29691 Reported by: Pavel Pisa.
29692
8c717950
VS
296932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29694
29695 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
29696
904935c3
VS
296972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29698
29699 Merge grub_ieee1275_map_physical into grub_map and rename to
29700 grub_ieee1275_map
29701
29702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
29703 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
29704 Remove.
29705 * kern/ieee1275/openfw.c (grub_map): Rename to ...
29706 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
29707 necessary.
29708 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
29709
5b59a4e3
VS
297102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29711
29712 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
29713 opening and not after.
29714
69e137e8
VS
297152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29716
29717 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
29718 constants.
29719
2c0fcc36
VS
297202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29721
29722 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
29723 (alloc_phys): Use ALIGN_UP instead of align_addr.
29724
8c6052ce
VS
297252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29726
29727 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
29728
17cec782
VS
297292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29730
29731 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
29732
e0128bbd
VS
297332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29734
29735 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
29736 verbose dprintf.
29737
ca62070b
VS
297382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29739
29740 Fix over-4GiB seek on sparc64.
29741
29742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
29743 Replace pos_i and pos_lo with pos. All users updated.
29744 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29745 New constant.
29746 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
29747 Likewise.
29748 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
29749 and pos_lo.
29750
bdca2607
VS
297512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29752
29753 * util/grub-mkrawimage.c (main): Call set_program_name.
29754
da278c4d
VS
297552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 Properly align 64-bit targets.
29758
29759 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
29760 (generate_image): Use ALIGN_ADDR.
29761
b274d734
VS
297622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29763
29764 Properly create cross-endian images.
29765
29766 * include/grub/types.h (grub_host_to_target_addr): New macro
29767 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
29768
82da2062
VS
297692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
29770
29771 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
29772
7cae4377
VS
297732010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29774
29775 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
29776
29777 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
29778 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
29779 (grub_linux_boot): Divide by 64K when on VESA.
29780
65a533e7
VS
297812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29782
29783 Support GRUB_GFXPAYLOAD_LINUX.
29784
29785 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
29786 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
29787
dd01d397
VS
297882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
29789
29790 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
29791 to show messages instead of discarding them.
29792 Process errors after executing command and not before. Keep old method
29793 too as precaution.
29794
660960d6
VS
297952010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
29796
29797 * configure.ac: Check for ft2build.h.
29798
62509f04
VS
297992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29800
29801 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
29802
473df63d
VS
298032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29804
29805 * genkernsyms.sh.in: Use TARGET_CC.
29806
c98d2a13
CW
298072010-02-07 Colin Watson <cjwatson@ubuntu.com>
29808
29809 * NEWS: Update.
29810
6e14234c
VS
298112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29812
29813 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
29814 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
29815 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 29816
b255e9cf
YB
298172010-02-07 Yves Blusseau <blusseau@zetam.org>
29818
6e14234c 29819 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 29820
98e6959d
VS
298212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29822
29823 Fix warnings in grub-emu when compiling with maximum warning options.
29824
29825 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
29826 (grub_arch_modules_addr): Return 0 and not NULL.
29827 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 29828 (xstrdup): Use newstr instead of dup.
f88d801b
VS
29829 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
29830 of disk to dsk to avoid shadowing.
74e4934e
VS
29831 (find_free_slot): Fix prototype.
29832 * util/getroot.c (grub_util_is_dmraid): Make static.
29833 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
29834 Add missing prototype.
29835 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 29836
74e31b5c
VS
298372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29838
29839 * loader/i386/linux.c (grub_linux_setup_video): Handle error
29840 appropriately.
29841
6b2ad14b
VS
298422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29843
29844 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
29845 code out.
29846
8f891adc
VS
298472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29848
29849 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
29850 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
29851 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
29852 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
29853 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
29854 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
29855
74b45184
VS
298562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 * include/grub/err.h (grub_err_printf): Don't export.
29859
a4bced77
VS
298602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29861
29862 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
29863
007d0695
VS
298642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
29865
29866 * include/grub/i18n.h (grub_gettext_dummy): Removed.
29867 * kern/misc.c (grub_gettext_dummy): Make static.
29868
b6c0d9c2
VS
298692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29870
29871 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
29872 by non-valid ones.
29873 * kern/term.c (grub_putchar): Likewise.
29874
f51a90d0
VS
298752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29876
29877 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
29878 buggy hook call and memory leak.
29879
6846cec5
VS
298802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29881
29882 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
29883
468d69fe
VS
298842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29885
29886 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
29887
51906b8c
VS
298882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29889
29890 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
29891 modevar.
29892 Return grub_errno on allocation error.
29893
09706ce5
VS
298942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29895
29896 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
29897
911df80c
YB
298982010-02-06 Yves Blusseau <blusseau@zetam.org>
29899
29900 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
29901 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
29902
3746a6bc
VS
299032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29904
29905 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
29906 non-pxe disk.
29907 (grub_pxefs_open): Likewise.
29908
09706ce5
VS
299092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
29910
29911 * util/grub.d/10_hurd.in: Add --class information to menuentries.
29912 * util/grub.d/10_kfreebsd.in: Likewise.
29913 * util/grub.d/10_linux.in: Likewise.
29914
7cc192d9
VS
299152010-02-06 Colin D Bennett <colin@gibibit.com>
29916
29917 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
29918 (gfxmenu_mod_SOURCES): New variable.
29919 (gfxmenu_mod_CFLAGS): Likewise.
29920 (gfxmenu_mod_LDFLAGS): Likewise.
29921 * include/grub/term.h (grub_term_set_current_output): Declare
29922 argument as const.
29923 * docs/gfxmenu-theme-example.txt: New file.
29924 * gfxmenu/gfxmenu.c: Likewise.
29925 * gfxmenu/gui_box.c: Likewise.
29926 * gfxmenu/gui_canvas.c: Likewise.
29927 * gfxmenu/gui_circular_progress.c: Likewise.
29928 * gfxmenu/gui_image.c: Likewise.
29929 * gfxmenu/gui_label.c: Likewise.
29930 * gfxmenu/gui_list.c: Likewise.
29931 * gfxmenu/gui_progress_bar.c: Likewise.
29932 * gfxmenu/gui_string_util.c: Likewise.
29933 * gfxmenu/gui_util.c: Likewise.
29934 * gfxmenu/icon_manager.c: Likewise.
29935 * gfxmenu/model.c: Likewise.
29936 * gfxmenu/named_colors.c: Likewise.
29937 * gfxmenu/theme_loader.c: Likewise.
29938 * gfxmenu/view.c: Likewise.
29939 * gfxmenu/widget-box.c: Likewise.
29940 * include/grub/gfxmenu_model.h: Likewise.
29941 * include/grub/gfxmenu_view.h: Likewise.
29942 * include/grub/gfxwidgets.h: Likewise.
29943 * include/grub/gui.h: Likewise.
29944 * include/grub/gui_string_util.h: Likewise.
29945 * include/grub/icon_manager.h: Likewise.
29946
299472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29948
29949 Agglomerate scrolling in gfxterm.
29950
29951 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
29952 (grub_virtual_screen_setup): Initialise 'total_screen'.
29953 (write_char): Split to ...
29954 (paint_char): ... this ...
29955 (write_char): ... and this.
29956 (paint_char): Handle delayed scrolling.
29957 (draw_cursor): Likewise.
29958 (scroll_up): Split to ...
29959 (real_scroll): ... this ...
29960 (scroll_up): ... and this.
29961 (real_scroll): Handle multi-line scroll and draw below-the-bottom
29962 characters.
29963 (grub_gfxterm_refresh): Call real_scroll.
29964
299652010-02-06 Colin D Bennett <colin@gibibit.com>
29966
29967 * include/grub/misc.h (grub_iscntrl): New inline function.
29968 (grub_isalnum): Likewise.
29969 (grub_strtol): Likewise.
29970
299712010-02-06 Colin D Bennett <colin@gibibit.com>
29972
29973 * normal/menu_text.c (get_entry_number): Move from here ...
29974 * normal/menu.c (get_entry_number): ... moved here.
29975 * include/grub/menu.h (grub_menu_get_default_entry_index):
29976 New prototype.
29977 * normal/menu.c (grub_menu_get_default_entry_index): New function.
29978 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
29979 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
29980 (grub_menu_viewer_should_return): Likewise.
29981 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
29982 * normal/menu_text.c (run_menu): Enable menu switching.
29983 * normal/menu_viewer.c (should_return): New variable.
29984 (menu_viewer_changed): Likewise.
29985 (grub_menu_viewer_show_menu): Handle menu viewer changes.
29986 (grub_menu_viewer_should_return): New function.
29987 (menuviewer_write_hook): Likewise.
29988 (grub_menu_viewer_init): Likewise.
29989
299902010-02-06 Colin D Bennet <colin@gibibit.com>
299912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
29992
29993 Support for gfxterm in a window.
29994
29995 * include/grub/gfxterm.h: New file.
29996 * include/grub/video.h (struct grub_video_rect): New declaration.
29997 (grub_video_rect_t): Likewise.
29998 * term/gfxterm.c (struct grub_gfxterm_window): New type.
29999 (refcount): New variable.
30000 (render_target): Likewise.
30001 (window): Likewise.
30002 (repaint_callback): Likewise.
30003 (grub_virtual_screen_setup): Use 'render_target'.
30004 (init_window): New function.
30005 (grub_gfxterm_init_window): Likewise.
30006 (grub_gfxterm_init): Check reference counter.
30007 Use init_window.
30008 (destroy_window): New function.
30009 (grub_gfxterm_destroy_window): Likewise.
30010 (grub_gfxterm_fini): Check reference counter.
30011 Use destroy_window.
30012 (redraw_screen_rect): Restore viewport.
30013 Use 'render_target' and 'window'.
30014 Call 'repaint_callback'.
30015 (write_char): Use 'render_target'.
30016 (draw_cursor): Likewise.
30017 (scroll_up): Restore viewport.
30018 Use 'render_target' and 'window'.
30019 Call 'repaint_callback'.
30020 (grub_gfxterm_cls): Likewise.
30021 (grub_gfxterm_refresh): Use 'window'.
30022 (grub_gfxterm_set_repaint_callback): New function.
30023 (grub_gfxterm_background_image_cmd): Use 'window'.
30024 (grub_gfxterm_get_term): New function.
30025 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30026
300272010-02-06 Colin D Bennett <colin@gibibit.com>
30028
30029 Bitmap scaling support.
30030
30031 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30032 (bitmap_scale_mod_SOURCES): New variable.
30033 (bitmap_scale_mod_CFLAGS): Likewise.
30034 (bitmap_scale_mod_LDFLAGS): Likewise.
30035 * include/grub/bitmap_scale.h: New file.
30036 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30037 (background_image_cmd_options): New variable.
30038 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30039 (cmd): Rename and change type to ...
30040 (background_image_cmd_handle): ... this. All users updated.
30041 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30042 * video/bitmap_scale.c: New file.
30043
300442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30045
30046 SDL support.
30047
30048 * Makefile.in (LIBSDL): New variable.
30049 (enable_grub_emu_sdl): Likewise.
30050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30051 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30052 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30053 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30054 * util/sdl.c: New file.
30055
300562010-02-06 Colin D Bennett <colin@gibibit.com>
300572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 Double buffering support.
30060
30061 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30062 * include/grub/video.h: Update comment.
30063 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30064 New type.
30065 (grub_video_fb_doublebuf_blit_init): New prototype.
30066 * term/gfxterm.c (scroll_up): Support double buffering.
30067 (grub_gfxterm_refresh): Likewise.
30068 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30069 (grub_video_fb_doublebuf_blit_init): Likewise.
30070 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30071 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30072 'displayed_page', 'render_page' and 'update_screen'.
30073 (grub_video_vbe_fini): Free offscreen buffer.
30074 (doublebuf_pageflipping_commit): New function.
30075 (doublebuf_pageflipping_update_screen): Likewise.
30076 (doublebuf_pageflipping_init): Likewise.
30077 (double_buffering_init): Likewise.
30078 (grub_video_vbe_setup): Enable doublebuffering.
30079 (grub_video_vbe_swap_buffers): Implement.
30080 (grub_video_vbe_set_active_render_target): Handle double buffering.
30081 (grub_video_vbe_get_active_render_target): Likewise.
30082 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30083 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30084 (grub_video_vbe_enable_double_buffering): Likewise.
30085 (grub_video_vbe_swap_buffers): Use update_screen.
30086 (grub_video_set_mode): Use double buffering.
30087
300882010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30089
30090 * maintainance/gentrigtables.py: Remove.
30091 * lib/trig.c: Likewise.
30092
30093 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30094
30095 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30096 `trigtables.c'.
30097 (trigtables.c): New rule.
30098 (gentrigtables): Likewise.
30099 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30100
301012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30102
30103 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30104 integer constants.
30105
301062010-02-06 Colin D Bennet <colin@gibibit.com>
30107
30108 Trigonometry support.
30109
30110 * include/grub/trig.h: New file.
30111 * lib/trig.c: Likewise.
30112 * maintainance/gentrigtables.py: Likewise.
30113 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30114 (trig_mod_SOURCES): New variable.
30115 (trig_mod_CFLAGS): Likewise.
30116 (trig_mod_LDFLAGS): Likewise.
30117
5562834e
VS
301182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30119
30120 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30121 disk devices.
30122
4f8528fc
VS
301232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30124
30125 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30126 error.
30127
2b4068e9
VS
301282010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30129
30130 * util/hostdisk.c (open_device): Don't use partition device when reading
30131 before the partition.
30132 (grub_util_biosdisk_read): Don't read from partition and before the
30133 partition in single operation.
30134 (grub_util_biosdisk_write): Don't write to partition and before the
30135 partition in single operation.
30136
399f6e4d
TL
301372010-02-03 Torsten Landschoff <torsten@debian.org>
30138
30139 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30140 last sectors.
30141
996649b0
VS
301422010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30143
30144 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30145 CDROM reads.
30146 (grub_biosdisk_write): Refuse to write to CDROM.
30147
3b205d4d
VS
301482010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30149
30150 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30151
61e89d9d
VS
301522010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30153
30154 * font/font.c (find_glyph): Check that bmp_idx is available before
30155 using it.
30156 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30157 with (font == NULL).
30158
bf7fcba2
CS
301592010-01-28 Christian Schmitt <chris@ilovelinux.de>
30160
30161 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30162
f45d2663
BC
301632010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30164
30165 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30166 * util/grub-script-check.c (getline): Fix empty lines case.
30167
ec1444e6
RM
301682010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30169
30170 * Makefile.in (check): Exit with fail status when one of the tests
30171 fails.
30172 * tests/example_functional_test.c (example_test): Fix reversed assert.
30173 * tests/example_unit_test.c (example_test): Likewise.
30174
2e1cb9bb
CW
301752010-01-28 Colin Watson <cjwatson@ubuntu.com>
30176
30177 * util/grub.d/10_linux.in: This script does not use any of the
30178 contents of gettext.sh, only the external command `gettext', so stop
30179 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30180 the same prefix as GRUB.)
30181 * util/grub.d/10_kfreebsd.in: Likewise.
30182
63533ab0
VS
301832010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30184
30185 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30186 of the line.
30187
989e1f93
VS
301882010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30189
30190 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30191 last sectors.
30192
e709ebe2
VS
301932010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30194
30195 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30196 having a 4KiB and not 32KiB buffer size.
30197
27dea7ed
RM
301982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30199
30200 * util/hostfs.c: Include `<errno.h>'.
30201 (grub_hostfs_read): Handle errors from fseeko() and fread().
30202
67667b9c
RM
302032010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30204
30205 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30206 loop when using read hooks on files whose size isn't sector-aligned.
30207
c294d9d8
RM
302082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 Remove unused parameter.
30211
30212 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30213 (grub_iso9660_open): Remove initialization of `data->length'.
30214
af75a9f1
RM
302152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30218 memleak conditions.
30219
254e2ce5 302202010-01-27 Carles Pina i Estany <carles@pina.cat>
30221
30222 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30223 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30224
b510928c 302252010-01-26 Carles Pina i Estany <carles@pina.cat>
30226
30227 * util/bin2h.c (usage): Fix warning (space after backslash).
30228
aa2f9dd2 302292010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30230
30231 * font/font.c: Include `grub/fontformat.h.
30232 Remove font file format constants.
30233 (grub_font_load): Use the new macros.
30234 * include/grub/fontformat.h: New file.
30235 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30236 (write_font_pf2): Use the new macros.
30237
94e7e712
RM
302382010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30239
30240 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30241 does.
30242
3973a59a
RM
302432010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30244
30245 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30246
30247 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30248 (_start): Macroify `0x7F'.
30249
30250 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30251 (make_install_device): Use "(pxe)" as fallback prefix when booting
30252 via PXE.
30253
42e0cba3
GS
302542010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * configure.ac: Reset LIBS after check for libgcc symbols.
30257
847effd8
CW
302582010-01-25 Colin Watson <cjwatson@ubuntu.com>
30259
30260 * util/hostdisk.c (open_device): Add trailing newline to debug
30261 message.
30262
ea4a7e35
GS
302632010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30264
30265 * configure.ac: Check for `limits.h'.
30266 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30267
67951a53
RM
302682010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30269
30270 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30271 capitalize error strings.
30272
c273d4ce
ST
302732010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30274
30275 * util/grub.d/10_hurd.in: Add a recovery mode.
30276
69be5b74
VS
302772010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30278
30279 * configure.ac: Check for libgcc symbols with -nostdlib.
30280
fc9e5810
BC
302812010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30282
30283 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30284
4b358c0a
VS
302852010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30286
30287 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30288 stack since heap may be unavailable at that point.
30289 (grub_ofconsole_gotoxy): Likewise.
30290
454fcd1c
VS
302912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 * configure.ac: Check for _restgpr_14_x.
30294 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30295 and _savegpr_* prototypes.
30296
566863ca
RM
302972010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30298
30299 Use generic grub_reboot() for i386-efi.
30300
30301 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30302 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30303 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30304
bf86e59a
VS
303052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30306
30307 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30308 presence of "prefix" variable as it breaks when normal.mod is
30309 embedded.
30310
d645e0f8
VS
303112010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30314 stack since heap is unavailable at that point.
30315
f9ab2e25
VS
303162010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30317
30318 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30319 (grub_freebsd_bootinfo): Rewritten.
30320 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30321
01fc7054
VS
303222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30323
30324 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30325
caab4fd6
RM
303262010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30327
30328 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30329 domain now.
30330
67eb1427
FZ
303312010-01-20 Felix Zielcke <fzielcke@z-51.de>
30332
30333 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30334 around for handling "/" to the correct fix. Fix a memory leak. Use
30335 xstrdup instead of strdup.
30336
a9ed4ff3
VS
303372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30340
303412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
30342
30343 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30344
30345 * font/font.c (struct grub_font): New member 'bmp_idx'.
30346 (font_init): Initialise 'bmp_idx'.
30347 (load_font_index): Fill 'bmp_idx'.
30348 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30349
48209f4f
VS
303502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30353 unnecessary calls.
30354
9f0a4bb7
VS
303552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30356
30357 Move context handling out of the kernel.
30358
30359 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30360 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30361 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30362 * conf/i386-efi.rmk: Likewise.
30363 * conf/i386-ieee1275.rmk: Likewise.
30364 * conf/i386-pc.rmk: Likewise.
30365 * conf/powerpc-ieee1275.rmk: Likewise.
30366 * conf/sparc64-ieee1275.rmk: Likewise.
30367 * conf/x86_64-efi.rmk: Likewise.
30368 * include/grub/env.h: Include grub/menu.h.
30369 (grub_env_var_type): Removed.
30370 (grub_env_var): Replaced field 'type' with 'global'.
30371 (grub_env_find): New prototype.
30372 (grub_env_context_open): Remove EXPORT_FUNC.
30373 (grub_env_context_close): Likewise.
30374 (grub_env_export): Likewise.
30375 (grub_env_set_data_slot): Removed.
30376 (grub_env_get_data_slot): Likewise.
30377 (grub_env_unset_data_slot): Likewise.
30378 (grub_env_unset_menu): New prototype.
30379 (grub_env_set_menu): Likewise.
30380 (grub_env_get_menu): Likewise.
30381 * include/grub/env_private.h: New file.
30382 * include/grub/normal.h (grub_context_init): New prototype.
30383 (grub_context_fini): Likewise.
30384 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30385 * normal/context.c (grub_cmd_export): ... to here.
30386 * kern/env.c: Include env_private.h.
30387 (HASHSZ): Moved to include/grub/env_private.h.
30388 (grub_env_context): Likewise.
30389 (grub_env_sorted_var): Likewise.
30390 (current_context): Renamed from this ...
30391 (grub_current_context): ...to this. 'static' removed. All users updated.
30392 (grub_env_find): Removed 'static'.
30393 (grub_env_context_open): Moved to normal/context.c.
30394 (grub_env_context_close): Likewise.
30395 (grub_env_export): Likewise.
30396 (mangle_data_slot_name): Removed.
30397 (grub_env_set_data_slot): Likewise.
30398 (grub_env_get_data_slot): Likewise.
30399 (grub_env_unset_data_slot): Likewise.
30400 * kern/main.c (grub_set_root_dev): Don't export root.
30401 It will be done later.
30402 (grub_main): Don't export prefix.
30403 It will be done later.
30404 * normal/context.c: New file.
30405 * normal/main.c (free_menu): Use grub_env_unset_menu.
30406 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30407 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30408 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30409 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30410
8dd35b8c
VS
304112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30412
30413 setpci support.
30414
30415 * commands/setpci.c: New file.
30416 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30417 (setpci_mod_SOURCES): New variable.
30418 (setpci_mod_CFLAGS): Likewise.
30419 (setpci_mod_LDFLAGS): Likewise.
30420
449193d5
VS
304212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30422
30423 Byte-addressable PCI configuration space.
30424
30425 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30426 dword address.
30427 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30428 GRUB_PCI_REG_CACHELINE.
30429 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30430 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30431 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30432 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30433 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30434 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30435 grub_pci_make_address.
30436 (lock_rom_area): Likewise.
30437 * commands/lspci.c (grub_lspci_iter): Use macroses
30438 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30439 of grub_pci_make_address.
30440 * disk/ata.c (grub_ata_pciinit): Likewise.
30441 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30442 (GRUB_PCI_REG_VENDOR): Likewise.
30443 (GRUB_PCI_REG_DEVICE): Likewise.
30444 (GRUB_PCI_REG_COMMAND): Likewise.
30445 (GRUB_PCI_REG_STATUS): Likewise.
30446 (GRUB_PCI_REG_REVISION): Likewise.
30447 (GRUB_PCI_REG_CLASS): Likewise.
30448 (GRUB_PCI_REG_CACHELINE): Likewise.
30449 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30450 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30451 (GRUB_PCI_REG_BIST): Likewise.
30452 (GRUB_PCI_REG_ADDRESSES): Likewise.
30453 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30454 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30455 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30456 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30457 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30458 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
30459 (GRUB_PCI_REG_CIS_POINTER): Likewise.
30460 (GRUB_PCI_REG_SUBVENDOR): Likewise.
30461 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
30462 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
30463 (GRUB_PCI_REG_CAP_POINTER): Likewise.
30464 (GRUB_PCI_REG_IRQ_LINE): Likewise.
30465 (GRUB_PCI_REG_IRQ_PIN): Likewise.
30466 (GRUB_PCI_REG_MIN_GNT): Likewise.
30467 (GRUB_PCI_REG_MAX_LAT): Likewise.
30468 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
30469 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
30470 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 30471 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
30472 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
30473 space.
30474
96d73208
RM
304752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30476
30477 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
30478 can be reliably determined to be supported.
30479
d4484482
RM
304802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
30483 that VESA is supported.
30484 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
30485 supported.
30486
00308ecf
VS
304872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30488
30489 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
30490
f66924a4
RM
304912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30492
30493 * util/misc.c (make_system_path_relative_to_its_root): Work around
30494 special-casing of "/", as previous incarnation of this routine did.
30495
cbca0ada
VS
304962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30497
30498 Fix any-emu compilation.
30499
30500 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
30501 * grub_bin2h_SOURCES: New variable.
30502
34a66d99
RM
305032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30504
30505 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
30506
94fabf58
RM
305072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
30508
30509 * util/grub.d/00_header.in: Fix handling of locale_dir.
30510
02cf98ca
VS
305112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30512
30513 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
30514 as possible unifont location (Gentoo).
30515 Reported by: Alexander Brüning
30516
327dbcd7
VS
305172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30518
30519 Don't try to generate lists for kernel.img.
30520
30521 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
30522 (pkglib_MODULES): Remove kernel.img.
30523 (kernel_img_EXPORTS): Removed.
30524 (kernel_img_RELOCATABLE): New variable.
30525 * conf/x86_64-efi.rmk: Likewise.
30526 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
30527
ca467290
VS
305282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30529
30530 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
30531 grub_xasprintf or grub_snprintf.
30532 (grub_vsprintf): Likewise.
30533 (grub_snprintf): New proto.
30534 (grub_vsnprintf): Likewise.
30535 (grub_xasprintf): Likewise.
30536 (grub_xvasprintf): Likewise.
30537 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
30538 (grub_sprintf): Removed.
30539 (grub_vsnprintf): New function.
30540 (grub_snprintf): Likewise.
30541 (grub_xvasprintf): Likewise.
30542 (grub_xasprintf): Likewise.
30543 (grub_vsprintf): Renamed to ...
30544 (grub_vsnprintf_real): ...this. New argument max_len.
30545
aca655fd
BC
305462010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
30547
30548 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
30549 fix grub-script-check warning.
30550
7ee92c32
VS
305512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30552
30553 * include/grub/font.h (grub_font_load): Fix prototype.
30554
f80927ca
VS
305552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30556
30557 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
30558
119c50ea
VS
305592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30560
30561 * include/grub/x86_64/at_keyboard.h: New file.
30562
47d5f3c1
VS
305632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30564
30565 * loader/mips/linux.c: Include missing grub/i18n.h.
30566
55ff5266
RM
305672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30568
30569 * normal/menu.c (notify_execution_failure): Clarify error message.
30570
c893cc87
RM
305712009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30572
30573 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
30574 return value (and revert all return statements). Update users.
30575
917dd370
CW
305762010-01-20 Dan Merillat <debian@dan.merillat.org>
30577
30578 * kern/device.c (grub_device_iterate): Allocate new part_ent
30579 structure based on sizeof (*p) rather than sizeof (p->next), to
30580 account for structure padding.
30581
30582 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
30583 disk is NULL, which might happen for LVM physical volumes with no
30584 LVM signature.
30585
d4a4ee57
RM
305862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30587
30588 * loader/mips/linux.c (grub_cmd_initrd)
30589 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
30590
305912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
30594 (grub_video_video_init, grub_video_bitmap_init)
30595 (grub_font_manager_init, grub_term_gfxterm_init)
30596 (grub_at_keyboard_init): New extern declarations.
30597 (grub_machine_init): Initialize gfxterm and at_keyboard.
30598
30599 * kern/main.c (grub_main): Revert grub_printf delay kludge.
30600
30601 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
30602 `gfxterm.mod' into core image.
30603
30604 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30605 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30606 (kernel_img_FORMAT): Copy to ...
30607
30608 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30609 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30610 (kernel_img_FORMAT): ... here, and ...
30611
30612 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
30613 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30614 (kernel_img_FORMAT): ... here.
30615
30616 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
30617 and input (at_keyboard) terminals in kernel.
30618 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
30619
30620 (pkglib_MODULES): Remove `pci.mod'.
30621 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
30622 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
30623 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30624 (at_keyboard_mod_LDFLAGS): Remove variables.
30625
306262010-01-11 Felix Zielcke <fzielcke@z-51.de>
30627
30628 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
30629
306302009-12-10 Robert Millan <rmh.grub@aybabtu.com>
30631
30632 * include/grub/mips/libgcc.h: Only export symbols for functions
30633 that libgcc provides.
30634
306352009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
30636
30637 MIPS support.
30638
30639 * bus/bonito.c: New file.
30640 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
30641 GRUB_PCI_NUM_DEVICES.
30642 * term/i386/pc/serial.c: Move to ...
30643 * term/serial.c: ... here. All users updated.
30644 * util/i386/pc/grub-mkimage.c: Move to ...
30645 * util/grub-mkrawimage.c: ... here. All users updated.
30646 * term/i386/pc/at_keyboard.c: Move to ...
30647 * term/at_keyboard.c: ... here. All users updated.
30648 * conf/mips-qemu-mips.rmk: New file.
30649 * conf/mips-yeeloong.rmk: Likewise.
30650 * conf/mips.rmk: Likewise.
30651 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
30652 mipsel-qemu-mips.
30653 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
30654 to port addresses.
30655 (grub_ata_pciinit): Support CS5536.
30656 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
30657 * font/font_cmd.c (loadfont_command): Open file before passing it to
30658 grub_font_load.
30659 (pseudo_file_read): New function.
30660 (pseudo_file_close): Likewise.
30661 (pseudo_fs): New structure.
30662 (load_font_module): New function.
30663 (GRUB_MOD_INIT(font_manager)): Load embedded font.
30664 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
30665 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
30666 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
30667 * include/grub/i386/at_keyboard.h: Split into ...
30668 * include/grub/at_keyboard.h: ... this ...
30669 * include/grub/i386/at_keyboard.h: ... and this.
30670 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
30671 New prototype.
30672 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
30673 updated.
30674 (grub_elf64_size): Likewise.
30675 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
30676 filename.
30677 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
30678 * include/grub/i386/coreboot/serial.h: Rewritten.
30679 * include/grub/i386/ieee1275/serial.h: Include
30680 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
30681 * include/grub/i386/pc/serial.h: Moved from here ...
30682 * include/grub/serial.h: ... to here. All users updated.
30683 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
30684 (GRUB_PCI_NUM_BUS): Likewise.
30685 (GRUB_PCI_NUM_DEVICES): Likewise.
30686 (grub_pci_device_map_range): Add missing volatile keyword.
30687 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
30688 * include/grub/mips/at_keyboard.h: New file.
30689 * include/grub/mips/cache.h: Likewise.
30690 * include/grub/mips/io.h: Likewise.
30691 * include/grub/mips/kernel.h: Likewise.
30692 * include/grub/mips/libgcc.h: Likewise.
30693 * include/grub/mips/pci.h: Likewise.
30694 * include/grub/mips/qemu-mips/boot.h: Likewise.
30695 * include/grub/mips/qemu-mips/kernel.h: Likewise.
30696 * include/grub/mips/qemu-mips/loader.h: Likewise.
30697 * include/grub/mips/qemu-mips/memory.h: Likewise.
30698 * include/grub/mips/qemu-mips/serial.h: Likewise.
30699 * include/grub/mips/qemu-mips/time.h: Likewise.
30700 * include/grub/mips/relocator.h: Likewise.
30701 * include/grub/mips/time.h: Likewise.
30702 * include/grub/mips/types.h: Likewise.
30703 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
30704 * include/grub/mips/yeeloong/boot.h: Likewise.
30705 * include/grub/mips/yeeloong/kernel.h: Likewise.
30706 * include/grub/mips/yeeloong/loader.h: Likewise.
30707 * include/grub/mips/yeeloong/memory.h: Likewise.
30708 * include/grub/mips/yeeloong/pci.h: Likewise.
30709 * include/grub/mips/yeeloong/serial.h: Likewise.
30710 * include/grub/mips/yeeloong/time.h: Likewise.
30711 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
30712 * kern/elf.c (grub_elf32_size): New parameter. All users
30713 updated.
30714 (grub_elf64_size): Likewise.
30715 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
30716 Load modules before saying "Welcome to GRUB!".
30717 Call grub_refresh after saying "Welcome to GRUB!".
30718 * kern/mips/cache.S: New file.
30719 * kern/mips/cache_flush.S: Likewise.
30720 * kern/mips/dl.c: Likewise.
30721 * kern/mips/init.c: Likewise.
30722 * kern/mips/qemu-mips/init.c: Likewise.
30723 * kern/mips/startup.S: Likewise.
30724 * kern/mips/yeeloong/init.c: Likewise.
30725 * kern/term.c (grub_putcode): Handle NULL terminal.
30726 (grub_getcharwidth): Likewise.
30727 (grub_getkey): Likewise.
30728 (grub_checkkey): Likewise.
30729 (grub_getkeystatus): Likewise.
30730 (grub_getxy): Likewise.
30731 (grub_getwh): Likewise.
30732 (grub_gotoxy): Likewise.
30733 (grub_cls): Likewise.
30734 (grub_setcolorstate): Likewise.
30735 (grub_setcolor): Likewise.
30736 (grub_getcolor): Likewise.
30737 (grub_refresh): Likewise.
30738 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
30739 (write_jump): Add hatch nop.
30740 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
30741 * lib/mips/setjmp.S: New file.
30742 * loader/mips/linux.c: Likewise.
30743 * term/i386/pc/at_keyboard.c: Move from here ...
30744 * term/at_keyboard.c: ... to here.
30745 * term/i386/pc/serial.c: Moved from here ...
30746 * term/serial.c: ... to here. All users updated.
30747 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
30748 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
30749 (serial_translate_key_sequence): Avoid deadlock.
30750 (grub_serial_getkey): Handle backspace.
30751 (grub_serial_putchar): Fix newline handling.
30752 * util/i386/pc/grub-mkimage.c: Move from here ...
30753 * util/grub-mkrawimage.c: ... to here. All users updated.
30754 (generate_image): New parameters 'font_path' and 'format'.
30755 Support embedding font.
30756 Use grub_host_to_target* instead of grub_cpu_to_le*.
30757 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
30758 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
30759 (options): New option "--font".
30760 (usage): Likewise.
30761 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
30762 (main): Handle "--font".
30763 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
30764 (grub_virtual_screen_setup): Set bg_color_display.
30765 (redraw_screen_rect): Use bg_color_display instead of incorrect
30766 bg_color.
30767 (grub_gfxterm_cls): Likewise.
30768 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
30769 Support embedding config file.
30770 (add_segments): Likewise.
30771 (options): New option "--config".
30772 (main): Handle "--config".
30773 * video/sm712.c: New file.
30774
25c2b5b3
RM
307752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30776
30777 Fix parallel builds.
30778
30779 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
30780 font.c depend on ascii.h).
30781
307822010-01-12 Carles Pina i Estany <carles@pina.cat>
30783
30784 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
30785
307862010-01-11 Carles Pina i Estany <carles@pina.cat>
30787
30788 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
30789 By default: disabled.
30790 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
30791 parameter.
30792
307932010-01-10 Carles Pina i Estany <carles@pina.cat>
30794
30795 * font/font.c: Update copyright years.
30796 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
30797
307982010-01-10 Carles Pina i Estany <carles@pina.cat>
30799
30800 * font/font.c: Include `ascii.h'.
30801 (ASCII_BITMAP_SIZE): New macro.
30802 (ascii_font_glyph): Define.
30803 (ascii_glyph_lookup): New function.
30804 (grub_font_get_string_width): Change comment. If glyph not found, use
30805 ascii_glyph_lookup.
30806 (grub_font_get_glyph_with_fallback): If glyph not available returns
30807 ascii_glyph_lookup.
30808 * util/grub-mkfont.c (file_formats): New enum.
30809 (options): Add `ascii-bitmaps' new option.
30810 (usage): Add `asii-bitmaps' new option.
30811 (write_font_ascii_bitmap): New function.
30812 (write_font): Rename to ...
30813 (write_font_p2): ... this. Remove print_glyphs call.
30814 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
30815 used. Call print_glyphs.
30816 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
30817
308182010-01-14 Robert Millan <rmh.grub@aybabtu.com>
30819
30820 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
30821 (grub_bin2h_SOURCES): New variable.
30822 * util/bin2h.c: New file.
30823
915fc1b8
VS
308242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30825
30826 * include/multiboot.h: Resynced with spec.
30827 * include/multiboot2.h: Likewise.
30828 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
30829 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
30830
9444b678
RM
308312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30832
30833 * include/grub/term.h (grub_term_register_input,
30834 grub_term_register_output): Check return of terminal init()
30835 routines, and abort if errors are raised.
30836
30837 * commands/terminal.c: Update copyright year.
30838
cba98e8d
RM
308392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 * commands/terminal.c (grub_cmd_terminal_input)
30842 (grub_cmd_terminal_output): Check return of terminal init()
30843 routines, and abort if errors are raised.
30844
6f7db5d6
VS
308452010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30846
30847 * include/grub/i386/bsd.h: Fix include pathes.
30848
262bff8d
VS
308492010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 Add missing *BSD copyright headers.
30852
30853 * include/grub/aout.h: Add BSD licence.
30854 * include/grub/i386/bsd.h: Parts under different licences moved to ...
30855 * include/grub/i386/freebsd_linker.h: ... here,
30856 * include/grub/i386/freebsd_reboot.h: ... here,
30857 * include/grub/i386/netbsd_bootinfo.h: ... here,
30858 * include/grub/i386/netbsd_reboot.h: ... here,
30859 * include/grub/i386/openbsd_bootarg.h: ... here,
30860 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
30861 licence to each file.
30862
b2cab848
RM
308632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30864
30865 * acinclude.m4: Remove `nop' assembly instruction; it's not
30866 implemented by all architectures.
30867
2cb6be4b
RM
308682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30869
30870 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
30871 ELILO. This is no longer necessary.
30872
a2eaee15
BC
308732010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
30874
30875 Added new tool, grub-scrit-check to verify grub.cfg syntax.
30876
30877 * util/grub-script-check.c: grub-script-check tool.
30878 * conf/common.rmk: Make rules for grub-script-check.
30879
88d17012
RM
308802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30881
30882 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
30883 spotting it back in 2008. Shame on me for forgetting he did.
30884
30885 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
30886
8040619d
RM
308872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
30888
30889 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
30890 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
30891 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
30892 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
30893 (GRUB_VIDEO_TYPE_EFI): Rename to ...
30894 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
30895
a0c2a0f6
RM
308962010-01-17 Robert Millan <rmh.grub@aybabtu.com>
30897
30898 * include/grub/test.h: Add license header.
30899 * tests/example_functional_test.c: Likewise.
30900 * tests/example_unit_test.c: Likewise.
30901 * tests/lib/functional_test.c: Likewise.
30902 * tests/lib/test.c: Likewise.
30903 * tests/lib/unit_test.c: Likewise.
30904
b0b13907
VS
309052010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
30906
30907 Use flag-based instead of hook-based video mode selection and "auto"
30908 keyword.
30909
30910 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
30911 (grub_video_set_mode): Changed prototype. All users updated.
30912 (grub_video_check_mode_flag): New inline function.
30913 * video/video.c (parse_modespec): New function.
30914 (grub_video_set_mode): Parse flags and keywords.
30915
ea379330 309162010-01-17 Carles Pina i Estany <carles@pina.cat>
30917
30918 * util/misc.c (grub_util_info): Fix the order of the parameters in a
30919 fprintf call.
30920
e15c215e
FZ
309212010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
30922
30923 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
30924
409ae1c9 309252010-01-16 Carles Pina i Estany <carles@pina.cat>
30926
30927 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
30928 string.
30929 * util/grub-emu.c (usage): Likewise.
30930 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
30931 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30932 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30933 * util/i386/pc/grub-setup.c (usage): Likewise.
30934
70a14d3d 309352010-01-16 Carles Pina i Estany <carles@pina.cat>
30936
30937 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
30938 the message.
30939 (grub_util_info): Likewise.
30940 (grub_util_error): Likewise.
30941 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
30942 and/or new lines in `grub_util_warna', `grub_util_info',
30943 `grub_util_error' calls.
30944 * util/getroot.c: Likewise.
30945 * util/grub-editenv.c: Likewise.
30946 * util/grub-emu.c: Likewise.
30947 * util/grub-fstest.c: Likewise.
30948 * util/grub-mkdevicemap.c: Likewise.
30949 * util/grub-mkfont.c: Likewise.
30950 * util/grub-mkpasswd-pbkdf2.c: Likewise.
30951 * util/grub-mkrelpath.c: Likewise.
30952 * util/grub-pe2elf.c: Likewise.
30953 * util/grub-probe.c: Likewise.
30954 * util/hostdisk.c: Likewise.
30955 * util/i386/efi/grub-mkimage.c: Likewise.
30956 * util/i386/pc/grub-mkimage.c: Likewise.
30957 * util/i386/pc/grub-setup.c: Likewise.
30958 * util/ieee1275/ofpath.c: Likewise.
30959 * util/mkisofs/eltorito.c: Likewise.
30960 * util/mkisofs/rock.c: Likewise.
30961 * util/mkisofs/write.c: Likewise.
30962 * util/raid.c: Likewise.
30963 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30964 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30965
a0b766fc
VS
309662010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
30967
30968 Enable multiboot on non-pc.
30969
30970 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
30971 multiboot.mod and multiboot2.mod to ...
30972 * conf/i386.rmk (pkglib_MODULES): ... here.
30973 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
30974 Moved to ...
30975 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
30976 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
30977 Moved to ...
30978 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
30979 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
30980 Moved to ...
30981 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
30982 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
30983 Moved to ...
30984 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
30985 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
30986 relocator.mod.
30987 (ata_mod_SOURCES): Removed.
30988 (ata_mod_CFLAGS): Likewise.
30989 (ata_mod_LDFLAGS): Likewise.
30990 (relocator_mod_SOURCES): Removed.
30991 (relocator_mod_CFLAGS): Likewise.
30992 (relocator_mod_ASFLAGS): Likewise.
30993 (relocator_mod_LDFLAGS): Likewise.
30994 Include i386.mk.
30995 * include/grub/x86_64/multiboot.h: New file.
30996 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
30997 Terminate EFI.
30998
884ade56
VS
309992010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31000
31001 Video multiboot support.
31002
31003 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31004 New prototype.
31005 * include/multiboot.h: Resynced with multiboot specification.
31006 * include/multiboot2.h: Likewise.
31007 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31008 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31009 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31010 (HAS_VGA_TEXT): Likewise.
31011 (accepts_video): New variable.
31012 (grub_multiboot_set_accepts_video): New function.
31013 (grub_multiboot_get_mbi_size): Account for video structures.
31014 (set_video_mode): New function.
31015 (retrieve_video_parameters): Likewise.
31016 (grub_multiboot_make_mbi): Fill video fields.
31017
0d90e8a6
VS
310182010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31019
31020 Video driver ids.
31021
31022 * include/grub/video.h (grub_video_driver_id): New type.
31023 (grub_video_adapter): New member 'id'. All users updated.
31024 (grub_video_get_driver_id): New proto.
31025 * video/video.c (grub_video_get_driver_id): New function.
31026
5c71db1b 310272010-01-14 Carles Pina i Estany <carles@pina.cat>
31028
31029 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31030 `var=val'.
31031
cca15b52 310322010-01-14 Carles Pina i Estany <carles@pina.cat>
31033
31034 * normal/cmdline.c (print_completion): Gettextizze.
31035
c586fbb2 310362001-01-14 Carles Pina i Estany <carles@pina.cat>
31037
31038 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31039
ba2f6848 310402010-01-14 Carles Pina i Estany <carles@pina.cat>
31041
31042 * gettext/gettext.c (grub_gettext_translate): Push and pop
31043 grub_errno.
31044 (grub_gettext_delete_list): Change comment style.
31045 * kern/err.c (grub_error): Gettextizze.
31046 (grub_fatal): Gettextizze.
31047
0a46429a
RM
310482010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31051 (grub_linux16_real_boot): ... this.
31052 * kern/i386/loader.S: Likewise.
31053 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31054 (grub_linux16_boot): New function. Switches to text mode and calls
31055 grub_linux16_real_boot().
31056
31057 * loader/i386/bsd.c: Include `<grub/video.h>'.
31058 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31059 text mode before calling grub_unix_real_boot().
31060
31061 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31062 (grub_multiboot_boot): Switch to text mode before calling
31063 grub_relocator32_boot().
31064
31065 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31066 (grub_chainloader_boot): Switch to text mode before calling
31067 grub_chainloader_real_boot().
31068
d6f93a66
RM
310692010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
310702010-01-05 Colin Watson <cjwatson@ubuntu.com>
31071
31072 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31073 non-empty value.
31074
310752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
310762010-01-05 Colin Watson <cjwatson@ubuntu.com>
31077
31078 * util/grub.d/00_header.in: Define a "savedefault" function for use
31079 in menu entries.
31080 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31081
310822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
310832010-01-05 Colin Watson <cjwatson@ubuntu.com>
31084
31085 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31086 saved_entry if boot_once is unset.
31087 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31088 previous saved entry (i.e. grub-reboot).
31089
310902009-12-08 Colin Watson <cjwatson@ubuntu.com>
31091
31092 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31093
310942009-12-08 Colin Watson <cjwatson@ubuntu.com>
31095
31096 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31097 `var=val'.
31098 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31099
311002009-12-08 Colin Watson <cjwatson@ubuntu.com>
31101
31102 * util/grub-reboot.in: Fix --version output.
31103 * util/grub-set-default.in: Likewise.
31104
311052009-12-08 Colin Watson <cjwatson@ubuntu.com>
31106
31107 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31108 blocks.
31109
311102009-12-08 Colin Watson <cjwatson@ubuntu.com>
31111
31112 * util/grub.d/00_header.in: Quote the value assigned to `default',
31113 in case it contains spaces.
31114
311152009-12-08 Colin Watson <cjwatson@ubuntu.com>
31116
31117 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31118 `save_default_entry' call from the macosx case to the linux case.
31119
311202009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
311212009-10-25 Colin Watson <cjwatson@ubuntu.com>
31122
31123 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31124 in `chosen' environment variable.
31125 * normal/menu_text.c (get_entry_number): Check if the variable
31126 matches the title of a menu entry.
31127 (run_menu): Pass menu to get_entry_number.
31128
31129 * util/grub-reboot.in: New file.
31130 * util/grub-set-default.in: New file.
31131 * conf/common.rmk (grub-reboot): New utility.
31132 (grub-set-default): New utility.
31133
31134 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31135 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31136 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31137 move it to `saved_entry' for the next boot. Load environment on
31138 initialisation.
31139 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31140 * util/grub.d/10_hurd.in: Likewise.
31141 * util/grub.d/10_linux.in (linux_entry): Likewise.
31142 * util/grub.d/10_windows.in: Likewise.
31143 * util/grub.d/30_os-prober.in: Likewise.
31144
31145 * util/grub-install.in: Create environment block.
31146 * util/i386/efi/grub-install.in: Likewise.
31147 * util/ieee1275/grub-install.in: Likewise.
31148 * util/sparc64/ieee1275/grub-install.in: Likewise.
31149
0934d184
BC
311502010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31151
31152 Unit testing framework for GRUB.
31153
31154 * Makefile.in: Test framework build rules for 'make check'.
31155 * conf/tests.rmk: Build rules for individual tests and framework.
31156
31157 * include/grub/test.h: Header file for whitebox tests.
31158 * tests/lib/functional_test.c: Framework support for whitebox
31159 functional tests.
31160 * tests/lib/test.c: Common whitebox testing code for unit and
31161 functional tests.
31162 * tests/lib/unit_test.c: Framework support for whitebox unit
31163 tests.
31164
31165 * tests/util/grub-shell-tester.in: Support utility for grub-script
31166 tests.
31167 * tests/util/grub-shell.in: Utility to execute grub-script
31168 commands in a Qemu instance.
31169
31170 * tests/example_functional_test.c: Example whitebox functional
31171 test.
31172 * tests/example_grub_script_test.in: Example grub-script test.
31173 * tests/example_scripted_test.in: Example scripted test.
31174 * tests/example_unit_test.c: Example whitebox unit test.
31175
9c4ffeeb
VS
311762010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31177
31178 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31179 Add loader/i386/multiboot_mbi.c.
31180 (multiboot2_mod_SOURCES): Likewise.
31181 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31182 (multiboot2_mod_SOURCES): Likewise.
31183 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31184 (grub_multiboot_make_mbi): Likewise.
31185 (grub_multiboot_free_mbi): Likewise.
31186 (grub_multiboot_init_mbi): Likewise.
31187 (grub_multiboot_add_module): Likewise.
31188 (grub_multiboot_set_bootdev): Likewise.
31189 * loader/i386/multiboot.c (mbi): Removed.
31190 (mbi_dest): Likewise.
31191 (alloc_mbi): New variable.
31192 (grub_multiboot_payload_size): Removed. All users updated.
31193 (grub_multiboot_pure_size): New variable.
31194 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31195 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31196 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31197 (grub_fill_multiboot_mmap): Likewise.
31198 (grub_multiboot_get_bootdev): Likewise.
31199 (grub_multiboot): Use multiboot_mbi functions.
31200 * loader/i386/multiboot_mbi.c: New file.
31201
17383dfe
VS
312022010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31203
31204 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31205 it would result in module crash.
31206
c1f28820
VS
312072010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31208
31209 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31210 (grub_ofconsole_getwh): Split to ...
31211 (grub_ofconsole_getwh): ... this.
31212 (grub_ofconsole_dimensions): ...and this.
31213 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31214
58655a16
RM
312152010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31216
31217 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31218
10891398
VS
312192010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31220
31221 * loader/i386/pc/multiboot2.c: Removed stalled file.
31222
0b8a223c
VS
312232010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31224
31225 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31226 Reported by: Grégoire Sutre
31227
92ab12b0
RM
312282010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31229
31230 * util/misc.c (canonicalize_file_name): New function.
31231 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31232 instead of realpath().
31233
a788afb6
CW
312342010-01-11 Colin Watson <cjwatson@ubuntu.com>
31235
31236 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31237 and make it clearer that it's optional. Based on confusion
31238 witnessed on IRC.
31239
ffa8e3d2
VS
312402010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31241
31242 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31243 in premature implicit newline.
31244
e9060a9d
VS
312452010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31246
31247 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31248 which resulted in garbled command line at the end of screen.
31249
f0d0c0b7
RM
312502010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31251
31252 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31253 initialization with similar approach as with other Linux loaders.
31254
0e60bae7
RM
312552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31256
31257 Fix i386-ieee1275 build.
31258
31259 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31260 and grub_term_height() for video_{width,height} initialization.
31261
312622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
31263
31264 Fix grub-emu build.
31265
31266 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31267
cdb3f378
RM
312682010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
312692010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31270
31271 Support for multiple terminals.
31272
31273 * Makefile.in (pkglib_DATA): terminal.lst.
31274 (terminal.lst): New target.
31275 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31276 (GRUB_MOD_INIT(handler)): Likewise.
31277 (GRUB_MOD_FINI(handler)): Likewise.
31278 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31279 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31280 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31281 (grub_cmd_sleep): Use grub_term_save_pos.
31282 * commands/terminal.c: New file.
31283 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31284 commands/terminal.c and lib/charset.c.
31285 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31286 (pkglib_MODULES): Add terminal.mod.
31287 (terminal_mod_SOURCES): New variable.
31288 (terminal_mod_CFLAGS): Likewise.
31289 (terminal_mod_LDFLAGS): Likewise.
31290 * genhandlerlist.sh: Don't handle terminals.
31291 * genmk.rb: Generate terminal-*.lst.
31292 * genterminallist.sh: New file.
31293 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31294 (grub_is_valid_utf8): Likewise.
31295 (grub_utf8_to_ucs4_alloc): Likewise.
31296 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31297 (grub_menu_register_viewer): Changed argument.
31298 (grub_menu_try_text): New proto.
31299 (grub_gfxmenu_try_hook): New declaration.
31300 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31301 (grub_menu_init_page): Additional argument term.
31302 (grub_normal_init_page): Likewise.
31303 (grub_cmdline_get): Arguments simplified.
31304 (grub_utf8_to_ucs4_alloc): Removed.
31305 (grub_print_ucs4): Additional argument term.
31306 (grub_getstringwidth): Likewise.
31307 (grub_print_message_indented): Likewise.
31308 (grub_menu_text_register_instances): New proto.
31309 (grub_show_menu): Likewise.
31310 (read_terminal_list): Likewise.
31311 (grub_set_more): Likewise.
31312 * include/grub/parser.h: Include handler.h.
31313 * include/grub/reader.h: Rewritten.
31314 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31315 (GRUB_TERM_WIDTH): Changed to function.
31316 (GRUB_TERM_HEIGHT): Likewise.
31317 (GRUB_TERM_BORDER_WIDTH): Likewise.
31318 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31319 (GRUB_TERM_NUM_ENTRIES): Likewise.
31320 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31321 (GRUB_TERM_CURSOR_X): Likewise.
31322 (grub_term_input_class): Likewise.
31323 (grub_term_output_class): Likewise.
31324 (grub_term_outputs_disabled): New declaration.
31325 (grub_term_inputs_disabled): Likewise.
31326 (grub_term_outputs): Likewise.
31327 (grub_term_inputs): Likewise.
31328 (grub_term_register_input): Rewritten.
31329 (grub_term_register_output): Likewise.
31330 (grub_term_unregister_input): Likewise.
31331 (grub_term_unregister_output): Likewise.
31332 (FOR_ACTIVE_TERM_INPUTS): New macro.
31333 (FOR_DISABLED_TERM_INPUTS): Likewise.
31334 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31335 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31336 * include/grub/terminfo.h: Add oterm argument to all protypes.
31337 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31338 Use grub_rescue_run.
31339 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31340 All users updated.
31341 * kern/reader.c: Removed. All users updated.
31342 * kern/rescue_reader.c (grub_rescue_init): Removed.
31343 (grub_rescue_reader): Likewise.
31344 (grub_register_rescue_reader): Likewise.
31345 (grub_rescue_run): New function based on kern/reader.c.
31346 * kern/term.c: Adapted for multiterm.
31347 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31348 (grub_is_valid_utf8): Likewise.
31349 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31350 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31351 right terminal.
31352 * loader/i386/linux.c (grub_linux_boot): Likewise.
31353 * normal/auth.c (grub_username_get): New function.
31354 (grub_auth_check_authentication): Use grub_username_get.
31355 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31356 * normal/color.c: Adapt for multiterm.
31357 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31358 (grub_normal_init_page): Additional argument term.
31359 (read_lists): Call read_terminal_lists.
31360 (grub_enter_normal_mode): Call grub_cmdline_run.
31361 Handle grub_normal_exit_level.
31362 (grub_cmd_normal): Make reentrant.
31363 (grub_cmd_normal_exit): New function.
31364 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31365 * normal/menu.c: Adapt for multiterm.
31366 * normal/menu_entry.c: Likewise.
31367 * normal/menu_text.c: Likewise.
31368 * normal/menu_viewer.c: Removed. All users updated.
31369 * normal/term.c: New file.
31370 * util/console.c: Change order of includes to workaround a bug in
31371 ncurses headers.
31372 * term/terminfo.c: New argument oterm on all exported functions.
31373 All users updated.
31374 * util/grub-editenv.c (grub_term_input_class): Removed.
31375 (grub_term_output_class): Likewise.
31376
1a064917
RM
313772010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31378
31379 Make loader output a bit more user-friendly.
31380
31381 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31382 is being loaded. Likewise for the Hurd.
31383
31384 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31385 that kernel of FreeBSD ${version} is being loaded.
31386
31387 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31388 grub_dprintf().
31389 (grub_cmd_initrd): Likewise.
31390 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31391 that Linux ${version} is being loaded. Likewise for initrd.
31392
5ce0a83a 313932010-01-09 Carles Pina i Estany <carles@pina.cat>
31394
31395 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31396
809bbfeb 313972010-01-08 Carles Pina i Estany <carles@pina.cat>
31398
31399 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31400 (GRUB_MOD_INIT): Gettextizze.
31401 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31402 (GRUB_MOD_INIT): Gettextizze.
31403 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31404 (grub_cmd_linux): Capitalise Linux.
31405 (GRUB_MOD_INIT): Gettextizze.
31406 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31407 (grub_cmd_linux): Capitalise Linux.
31408 (GRUB_MOD_INIT): Gettextizze.
31409 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31410 (grub_cmd_linux): Capitalise Linux.
31411 (GRUB_MOD_INIT): Gettextizze.
31412 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31413 (GRUB_MOD_INIT): Gettextizze.
31414 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31415 (grub_cmd_linux): Capitalise Linux.
31416 (GRUB_MOD_INIT): Gettextizze.
31417 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31418 (grub_cpu_xnu_init): Gettextizze.
31419 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31420 (GRUB_MOD_INIT): Gettextizze.
31421 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31422 (GRUB_MOD_INIT): Gettextizze.
31423 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31424 (grub_linux_load64): Capitalise Linux.
31425 (GRUB_MOD_INIT): Gettextizze.
31426 * loader/xnu.c: Include `<grub/i18n.h>'.
31427 (GRUB_MOD_INIT): Gettextizze.
31428 * po/POTFILES: Add `loader/efi/appleloader.c',
31429 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31430 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31431 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31432 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31433 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31434 and `loader/xnu.c'.
31435
b394b2ca
RM
314362010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31437
31438 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31439
314402010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
31441
31442 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31443 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31444 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31445
bc8b32b3
RM
314462010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31447
31448 Reset Multiboot 2 support. New loader implements the draft in
31449 /branches/multiboot2 and shares as much code as possible with the
31450 production Multiboot 1 implementation.
31451
31452 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
31453 * loader/multiboot2.c: Likewise.
31454 * loader/i386/multiboot_helper.S: Likewise.
31455 * include/multiboot2.h: Replace with latest version from the draft
31456 in /branches/multiboot2.
31457
31458 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
31459 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
31460 and `loader/multiboot2.c'.
31461 (pkglib_MODULES): Add `multiboot2.mod'.
31462 (multiboot2_mod_SOURCES): New variable.
31463 (multiboot2_mod_LDFLAGS): Likewise.
31464 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
31465
31466 * conf/i386-pc.rmk: Likewise.
31467
31468 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
31469 (multiboot_mod_SOURCES): Remove variable.
31470 (multiboot_mod_LDFLAGS): Likewise.
31471 (multiboot_mod_CFLAGS): Likewise.
31472
31473 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
31474 `<multiboot2.h>' instead of `<multiboot.h>'.
31475 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
31476 (MULTIBOOT_HEADER_MAGIC): New macros.
31477
31478 * loader/multiboot_loader.c (module_version_status): Remove variable.
31479 (find_multi_boot2_header): Remove function.
31480 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
31481 logic. Always check for the Multiboot version we're compiling for.
31482 (grub_cmd_module_loader): Likewise.
31483 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
31484 command instead of `multiboot'.
31485
5d2c52b8
RM
314862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31487
31488 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
31489 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
31490 all users.
31491
53108d92
RM
314922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
314932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31494
31495 Fix breakage introduced with previous commit.
31496
31497 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
31498 commands.
31499 * normal/handler.c (read_handler_list): Revert part of previous commit
31500 affecting this file.
31501 * normal/main.c (read_lists): Move read_handler_list() call back to ...
31502 (grub_normal_execute): ... here.
31503
e2e936b2
RM
315042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31505
31506 Merge prefix-redefinition-fix branch.
31507
31508 * normal/autofs.c (read_fs_list): Make function capable of being
31509 run multiple times, gracefuly replacing the previous data
31510 structures.
31511 * normal/dyncmd.c (read_command_list): Likewise.
31512 * normal/handler.c (read_handler_list): Likewise.
31513 * normal/main.c (read_lists): New function. Calls all the
31514 list reading functions.
31515 (grub_normal_execute): Use read_lists() instead of calling all
31516 list reading functions explicitly. Register read_lists() as a
31517 variable hook attached to ${prefix}.
31518
607a3701
VS
315192010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31520
31521 Merge crypto branch.
31522
31523 * Makefile.in (pkglib_DATA): Add crypto.lst.
31524 (crypto.lst): New target.
31525 * commands/hashsum.c: New file.
31526 * commands/password.c (check_password): Use grub_crypto_memcmp.
31527 * commands/password_pbkdf2.c: New file.
31528 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
31529 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
31530 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
31531 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
31532 -I$(srcdir)/lib/libgcrypt_wrap.
31533 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
31534 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
31535 password_pbkdf2.mod.
31536 (crypto_mod_SOURCES): New variable.
31537 (crypto_mod_CFLAGS): Likewise.
31538 (crypto_mod_LDFLAGS): Likewise.
31539 (hashsum_mod_SOURCES): New variable.
31540 (hashsum_mod_CFLAGS): Likewise.
31541 (hashsum_mod_LDFLAGS): Likewise.
31542 (pbkdf2_mod_SOURCES): New variable.
31543 (pbkdf2_mod_CFLAGS): Likewise.
31544 (pbkdf2_mod_LDFLAGS): Likewise.
31545 (password_pbkdf2_mod_SOURCES): New variable.
31546 (password_pbkdf2_mod_CFLAGS): Likewise.
31547 (password_pbkdf2_mod_LDFLAGS): Likewise.
31548 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
31549 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
31550 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
31551 Include conf/gcry.rmk.
31552 * include/grub/auth.h: Rewritten.
31553 * include/grub/crypto.h: New file.
31554 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
31555 * include/grub/normal.h (read_crypto_list): New prototype.
31556 * lib/crypto.c: New file.
31557 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
31558 * lib/pbkdf2.c: Likewise.
31559 * normal/auth.c (grub_auth_strcmp): Removed.
31560 (grub_iswordseparator): Likewise.
31561 (grub_auth_strword): Likewise.
31562 (is_authenticated): Use grub_strword.
31563 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
31564 and grub_strword. Pass entered password to authentication callback.
31565 * normal/crypto.c: New file.
31566 * normal/main.c: Call read_crypto_list.
31567 * util/grub-mkpasswd-pbkdf2.c: New file.
31568 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
31569
42841caa
VS
315702010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
31571
31572 Fix descent and ascent calculation.
31573
31574 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
31575 (options): New option "asce".
31576 (usage): Likewise.
31577 (add_char): Ignore invalid glyphs for descent calculation.
31578 Calculate ascent from actual content.
31579 (print_glyphs): Use 'asce'.
31580 (write_font): Likewise. Allow ascent override.
31581 (main): Handle "asce" option.
31582
e7730de7 315832010-01-06 Carles Pina i Estany <carles@pina.cat>
31584
31585 * kern/err.c: Include `<grub/i18n.h>'.
31586 (grub_print_error): Add full stop. Gettextizze.
31587 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
31588 (grub_bsd_load_elf): Capitalise ELF.
31589 (grub_cmd_freebsd_loadenv): Add `s' in error string.
31590 (grub_cmd_freebsd_module): Likewise.
31591 (grub_cmd_freebsd_module_elf): Likewise.
31592 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
31593
40e3a41f 315942010-01-06 Carles Pina i Estany <carles@pina.cat>
31595
31596 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
31597 * commands/search_file.c (HELP_MESSAGE): New macro.
31598 * commands/search_label.c (HELP_MESSAGE): Likewise.
31599 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
31600 * po/POTFILES: Add `commands/search_file.c',
31601 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
31602 `commands/search.c'.
31603
83507e68
RM
316042010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31605
31606 * config.rpath: Update from Gnulib.
31607
465c787b
YB
316082010-01-05 Yves Blusseau <blusseau@zetam.org>
31609
31610 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
31611
6581dd3a
YB
316122010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
31613
31614 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
31615
3bff18c5
CW
316162010-01-05 Colin Watson <cjwatson@ubuntu.com>
31617
31618 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
31619 arguments to fread so that we get a return value in bytes, rather
31620 than something that will normally be rounded down to 0.
31621 Adjust error handling to avoid producing garbage when size_t is not
31622 the same size as long long.
31623
a1368118
CW
316242010-01-05 Colin Watson <cjwatson@ubuntu.com>
31625
31626 * util/mkisofs/write.c (padblock_write): Check return value of
31627 fread.
31628
7c302978
RM
316292010-01-05 Robert Millan <rmh.grub@aybabtu.com>
31630
31631 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
31632 floppy images now.
31633
31634 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
31635
e33ace06
RM
316362010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31637
31638 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
31639 instead of manual alignment.
31640 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
31641 verbose). Avoid attempts to read past end of the device
31642 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
31643 but GRUB_DISK_CACHE_SIZE may exceed that).
31644
4b856776
RM
316452010-01-04 Robert Millan <rmh.grub@aybabtu.com>
31646
31647 * commands/crc.c (grub_cmd_crc): Abort on read errors.
31648 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
31649 it to upper layer.
31650
52c2d97f
VS
316512010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31652
31653 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
31654 New constant.
31655 (grub_efi_piwg_device_path): New structure
31656 (grub_efi_piwg_device_path_t): New type.
31657 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
31658 (devpath_1): Transform to a structure. All users updated.
31659 (devpath_2): Likewise.
31660 (devpath_3): Likewise.
31661 (devpath_4): Likewise.
31662 (devpath_5): Likewise.
31663
98ff6a54
VS
316642010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 * loader/efi/appleloader.c: Restored. Update all users.
31667
3a73dcb6
RM
316682010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31669
31670 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
31671
31672 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
31673 (struct boot_blocklist): Move from here ...
31674 * include/grub/i386/pc/boot.h [ASM_FILE]
31675 (struct grub_boot_blocklist): ... to here. Update all users.
31676 (setup): Only initialize `start' member of `first_block'
31677 structure. Add assert() calls to verify the other members.
31678
31679 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
31680 (generate_image): Fix broken blocklist length initialization.
31681 Add assert() call to verify blocklist `segment' field.
31682
ab0eeb0c
RM
316832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31684
31685 * loader/efi/appleloader.c: Remove. Update all users.
31686
58bc8bd5
RM
316872010-01-03 Robert Millan <rmh.grub@aybabtu.com>
31688
31689 * boot/i386/pc/boot.S: Update copyright year.
31690 * boot/i386/pc/cdboot.S: Likewise.
31691 * boot/i386/pc/diskboot.S: Likewise.
31692 * boot/i386/pc/lnxboot.S: Likewise.
31693 * boot/i386/pc/pxeboot.S: Likewise.
31694 * bus/pci.c: Likewise.
31695 * commands/cmp.c: Likewise.
31696 * commands/help.c: Likewise.
31697 * commands/hexdump.c: Likewise.
31698 * commands/i386/pc/halt.c: Likewise.
31699 * commands/i386/pc/play.c: Likewise.
31700 * commands/i386/pc/vbeinfo.c: Likewise.
31701 * commands/ls.c: Likewise.
31702 * commands/test.c: Likewise.
31703 * disk/dmraid_nvidia.c: Likewise.
31704 * disk/i386/pc/biosdisk.c: Likewise.
31705 * disk/ieee1275/nand.c: Likewise.
31706 * disk/ieee1275/ofdisk.c: Likewise.
31707 * disk/lvm.c: Likewise.
31708 * disk/raid.c: Likewise.
31709 * disk/raid6_recover.c: Likewise.
31710 * disk/scsi.c: Likewise.
31711 * fs/affs.c: Likewise.
31712 * fs/cpio.c: Likewise.
31713 * fs/ext2.c: Likewise.
31714 * fs/hfs.c: Likewise.
31715 * fs/iso9660.c: Likewise.
31716 * fs/ntfs.c: Likewise.
31717 * fs/sfs.c: Likewise.
31718 * fs/udf.c: Likewise.
31719 * fs/ufs.c: Likewise.
31720 * fs/xfs.c: Likewise.
31721 * gencmdlist.sh: Likewise.
31722 * genmk.rb: Likewise.
31723 * include/grub/disk.h: Likewise.
31724 * include/grub/efi/api.h: Likewise.
31725 * include/grub/efi/efi.h: Likewise.
31726 * include/grub/efi/pe32.h: Likewise.
31727 * include/grub/elf.h: Likewise.
31728 * include/grub/fs.h: Likewise.
31729 * include/grub/i386/at_keyboard.h: Likewise.
31730 * include/grub/i386/pc/memory.h: Likewise.
31731 * include/grub/i386/pc/vbe.h: Likewise.
31732 * include/grub/i386/pci.h: Likewise.
31733 * include/grub/i386/tsc.h: Likewise.
31734 * include/grub/ieee1275/ieee1275.h: Likewise.
31735 * include/grub/ntfs.h: Likewise.
31736 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31737 * include/grub/sparc64/libgcc.h: Likewise.
31738 * include/grub/symbol.h: Likewise.
31739 * include/grub/types.h: Likewise.
31740 * include/multiboot2.h: Likewise.
31741 * io/gzio.c: Likewise.
31742 * kern/device.c: Likewise.
31743 * kern/disk.c: Likewise.
31744 * kern/efi/efi.c: Likewise.
31745 * kern/efi/mm.c: Likewise.
31746 * kern/elf.c: Likewise.
31747 * kern/file.c: Likewise.
31748 * kern/i386/dl.c: Likewise.
31749 * kern/i386/pc/init.c: Likewise.
31750 * kern/i386/pc/startup.S: Likewise.
31751 * kern/ieee1275/ieee1275.c: Likewise.
31752 * kern/ieee1275/init.c: Likewise.
31753 * kern/main.c: Likewise.
31754 * kern/mm.c: Likewise.
31755 * kern/powerpc/dl.c: Likewise.
31756 * kern/sparc64/dl.c: Likewise.
31757 * kern/x86_64/dl.c: Likewise.
31758 * lib/hexdump.c: Likewise.
31759 * loader/efi/appleloader.c: Likewise.
31760 * loader/i386/ieee1275/linux.c: Likewise.
31761 * loader/i386/pc/chainloader.c: Likewise.
31762 * loader/i386/pc/linux.c: Likewise.
31763 * loader/i386/pc/multiboot2.c: Likewise.
31764 * loader/ieee1275/multiboot2.c: Likewise.
31765 * loader/multiboot2.c: Likewise.
31766 * loader/multiboot_loader.c: Likewise.
31767 * loader/powerpc/ieee1275/linux.c: Likewise.
31768 * normal/completion.c: Likewise.
31769 * normal/menu_entry.c: Likewise.
31770 * partmap/apple.c: Likewise.
31771 * util/grub.d/10_hurd.in: Likewise.
31772 * util/hostfs.c: Likewise.
31773 * video/readers/png.c: Likewise.
31774
e2d70b5c
CW
317752010-01-03 Colin Watson <cjwatson@ubuntu.com>
31776
31777 * include/grub/misc.h (GNUC_PREREQ): New macro.
31778 (ATTRIBUTE_ERROR): New macro.
31779 * include/grub/list.h (grub_bad_type_cast_real): Use
31780 ATTRIBUTE_ERROR.
31781
a173283f 317822010-01-03 Carles Pina i Estany <carles@pina.cat>
31783
31784 * normal/menu_text.c (print_message): Change messages.
31785
7fa7ff74 317862010-01-03 Carles Pina i Estany <carles@pina.cat>
31787
31788 * normal/menu_entry.c (store_completion): Gettextizze.
31789
136d24f6 317902010-01-03 Carles Pina i Estany <carles@pina.cat>
31791
31792 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
31793
f936862e 317942010-01-03 Carles Pina i Estany <carles@pina.cat>
31795
31796 * po/POTFILES: Sort correctly.
31797
29c44ad1 317982010-01-03 Carles Pina i Estany <carles@pina.cat>
31799
31800 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
31801 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
31802 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
31803 full stop.
31804 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
31805 summary. Gettextizze the strings.
31806 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
31807 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
31808 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
31809 full stop.
31810 (GRUB_MOD_INIT): Remove command name from summary.
31811 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
31812 summary.
31813 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
31814 * term/i386/pc/serial.c (options): Add full stops.
31815 (GRUB_MOD_INIT): Remove command name from the summary.
31816
77a79592 318172010-01-03 Carles Pina i Estany <carles@pina.cat>
31818
31819 * commands/acpi.c: Gettextizze help strings and/or options. Include
31820 `grub/i18n.h' if needed.
31821 * commands/blocklist.c: Likewise.
31822 * commands/boot.c: Likewise.
31823 * commands/cat.c: Likewise.
31824 * commands/cmp.c: Likewise.
31825 * commands/configfile.c: Likewise.
31826 * commands/crc.c: Likewise.
31827 * commands/date.c: Likewise.
31828 * commands/echo.c: Likewise.
31829 * commands/efi/fixvideo.c: Likewise.
31830 * commands/efi/loadbios.c: Likewise.
31831 * commands/gptsync.c: Likewise.
31832 * commands/halt.c: Likewise.
31833 * commands/handler.c: Likewise.
31834 * commands/hdparm.c: Likewise.
31835 * commands/hexdump.c: Likewise.
31836 * commands/i386/cpuid.c: Likewise.
31837 * commands/i386/pc/drivemap.c: Likewise.
31838 * commands/i386/pc/halt.c: Likewise.
31839 * commands/i386/pc/pxecmd.c: Likewise.
31840 * commands/i386/pc/vbeinfo.c: Likewise.
31841 * commands/i386/pc/vbetest.c: Likewise.
31842 * commands/ieee1275/suspend.c: Likewise.
31843 * commands/keystatus.c: Likewise.
31844 * commands/loadenv.c: Likewise.
31845 * commands/ls.c: Likewise.
31846 * commands/lsmmap.c: Likewise.
31847 * commands/lspci.c: Likewise.
31848 * commands/memrw.c: Likewise.
31849 * commands/minicmd.c: Likewise.
31850 * commands/parttool.c: Likewise.
31851 * commands/password.c: Likewise.
31852 * commands/probe.c: Likewise.
31853 * commands/read.c: Likewise.
31854 * commands/reboot.c: Likewise.
31855 * commands/search.c: Likewise.
31856 * commands/sleep.c: Likewise.
31857 * commands/test.c: Likewise.
31858 * commands/true.c: Likewise.
31859 * commands/usbtest.c: Likewise.
31860 * commands/videotest.c: Likewise.
31861 * commands/xnu_uuid.c: Likewise.
31862 * disk/loopback.c: Likewise.
31863 * hello/hello.c: Likewise.
31864 * loader/i386/bsd.c: Likewise.
31865 * term/i386/pc/serial.c: Likewise.
31866 * po/POTFILES: Add new files.
31867
da8d5c53
CW
318682010-01-02 Colin Watson <cjwatson@ubuntu.com>
31869
31870 * term/i386/pc/at_keyboard.c
31871 (keyboard_controller_wait_untill_ready): Rename to ...
31872 (keyboard_controller_wait_until_ready): ... this. Update all users.
31873
33937904 318742010-01-01 Carles Pina i Estany <carles@pina.cat>
31875
31876 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
31877 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
31878 string using string width.
31879 * normal/menu_text.c (grub_print_message_indented): Use
31880 grub_print_spaces and not print_spaces.
31881 (print_timeout): Likewise.
31882 (print_spaces): Move to...
31883 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
31884
3fd3b8d8
RM
318852010-01-01 Robert Millan <rmh.grub@aybabtu.com>
31886
31887 Import from Gnulib.
31888
31889 * gnulib/getdelim.c: New file.
31890 * gnulib/getline.c: Likewise.
31891
33433555
VS
318922009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
31893
31894 * include/grub/list.h (grub_assert_fail): Removed.
31895 (grub_bad_type_cast_real): New function.
31896 (grub_bad_type_cast): New macro.
31897 (GRUB_AS_LIST): Use grub_bad_type_cast.
31898 (GRUB_AS_LIST_P): Likewise.
e44721e8 31899 (GRUB_AS_NAMED_LIST): Likewise.
33433555 31900 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 31901 (GRUB_AS_PRIO_LIST): Likewise.
33433555 31902 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 31903 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 31904
f5a51306
VS
319052009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
31906
31907 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
31908 Fix syntax error.
31909
90d1e879
RM
319102009-12-29 Robert Millan <rmh.grub@aybabtu.com>
31911
31912 * configure.ac: Check for TARGET_CFLAGS initialization before we
31913 initialize it ourselves (sigh).
31914 Move a few modifications to TARGET_CFLAGS to be unconditional
31915 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
31916 eh_frame)
31917
31918 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
31919 * term/i386/pc/at_keyboard.c
31920 (keyboard_controller_wait_untill_ready): Likewise.
31921 (keyboard_controller_led): Rename `led_status' paramter to avoid
31922 name conflict.
31923
465b5a81 319242009-12-28 Carles Pina i Estany <carles@pina.cat>
31925
31926 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
31927 quotes.
31928
c181849b
VS
319292009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31930
31931 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
31932
9c8739a4
VS
319332009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31934
31935 * normal/menu_text.c (grub_print_message_indented): Prevent
31936 past-the-end-of-array dereference.
31937
3e74249c
VS
319382009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
31939
31940 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
31941 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
31942
64fd18ed 319432009-12-27 Carles Pina i Estany <carles@pina.cat>
31944
31945 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
31946 * normal/main.c (grub_normal_read_line): Remove a space from the
31947 default prompt.
31948
714af9b9 319492009-12-27 Carles Pina i Estany <carles@pina.cat>
31950
31951 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
31952 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31953 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31954 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31955 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31956 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31957 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31958
82f3e412 319592009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 31960
31961 * video/readers/jpeg.c (cmd): Declare.
31962 (grub_cmd_jpegtest): Use `grub_command_t' type.
31963 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31964 Assign to `cmd'.
31965 (GRUB_MOD_FINI): Use `cmd' to unregister.
31966 * video/readers/png.c (cmd): Declare.
31967 (grub_cmd_pngtest): Use `grub_command_t' type.
31968 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31969 Assign to `cmd'.
31970 (GRUB_MOD_FINI): Use `cmd' to unregister.
31971 * video/readers/tga.c (cmd): Declare.
31972 (grub_cmd_tgatest): Use `grub_command_t' type.
31973 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
31974 Assign to `cmd'.
31975 (GRUB_MOD_FINI): Use `cmd' to unregister.
31976
82f3e412 319772009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 31978
31979 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
31980 stops.
31981 * kern/corecmd.c (grub_register_core_commands): Likewise.
31982 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
31983 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
31984 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
31985 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31986 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
31987 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
31988 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
31989 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
31990 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31991 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
31992 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
31993 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
31994 * normal/handler.c (insert_handler): Likewise.
31995 * normal/main.c (GRUB_MOD_INIT): Likewise.
31996 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
31997
fdcdbb66 319982009-12-26 Carles Pina i Estany <carles@pina.cat>
31999
32000 * commands/help.c (grub_cmd_help): Print the command name before the
32001 summary.
32002 (GRUB_MOD_INIT): Remove command name from the summary.
32003 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 32004 string as summary.
fdcdbb66 32005 * lib/arg.c (find_long): Print the command name before the summary.
32006 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32007 summary.
32008 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32009 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32010 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32011 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32012 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32013 * commands/date.c (GRUB_MOD_INIT): Likewise.
32014 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32015 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32016 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32017 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32018 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32019 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32020 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32021 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32022 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32023 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32024 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32025 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32026 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32027 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32028 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32029 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32030 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32031 * commands/password.c (GRUB_MOD_INIT): Likewise.
32032 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32033 * commands/read.c (GRUB_MOD_INIT): Likewise.
32034 * commands/search.c (GRUB_MOD_INIT): Likewise.
32035 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32036 * commands/test.c (GRUB_MOD_INIT): Likewise.
32037 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32038 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32039 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32040 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32041 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32042 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32043 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32044 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32045 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32046 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32047 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32048 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32049 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32050 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32051
9c288be2
VS
320522009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32053
32054 Use search command for preliminar UUID search.
32055
32056 * commands/search.c: Split into ...
32057 * commands/search_wrap.c: ...this
32058 * commands/search.c: ...and this.
32059 * commands/search_file.c: New file.
32060 * commands/search_label.c: New file.
32061 * commands/search_uuid.c: New file.
32062 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32063 Add commands/search_wrap.c, commands/search_file.c,
32064 commands/search_label.c and commands/search_uuid.c.
32065 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32066 (search_mod_SOURCES): Set to commands/search_wrap.c.
32067 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32068 search_label.mod.
32069 (search_fs_file_mod_SOURCES): New variable.
32070 (search_fs_file_mod_CFLAGS): Likewise.
32071 (search_fs_file_mod_LDFLAGS): Likewise.
32072 (search_label_mod_SOURCES): Likewise.
32073 (search_label_mod_CFLAGS): Likewise.
32074 (search_label_mod_LDFLAGS): Likewise.
32075 (search_fs_uuid_mod_SOURCES): New variable.
32076 (search_fs_uuid_mod_CFLAGS): Likewise.
32077 (search_fs_uuid_mod_LDFLAGS): Likewise.
32078 (fs_file_mod_SOURCES): Removed.
32079 (fs_file_mod_CFLAGS): Likewise.
32080 (fs_file_mod_LDFLAGS): Likewise.
32081 (fs_uuid_mod_SOURCES): Removed.
32082 (fs_uuid_mod_CFLAGS): Likewise.
32083 (fs_uuid_mod_LDFLAGS): Likewise.
32084 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32085 Set to util/grub-install.in.
32086 * disk/fs_file.c: Removed.
32087 * disk/fs_uuid.c: Likewise.
32088 * include/grub/search.h: New file.
32089 * util/grub-install.in: Handle sparc64.
32090 Create and use load.cfg.
32091 * util/sparc64/ieee1275/grub-install.in: Removed.
32092
db943399
VS
320932009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32094
32095 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32096 Ignore return status if CF is cleared.
32097 (grub_biosdisk_get_diskinfo_standard): Likewise.
32098
3fdae612
RM
320992009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32100
32101 * term/i386/pc/at_keyboard.c
32102 (keyboard_controller_wait_untill_ready): New function.
32103 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32104 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32105 for keyboard polling, rather than duplicate the same loop. This
32106 saves a few bytes in code size.
32107
7ebaa2b4
VS
321082009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32109
32110 Support for (pxe[:server[:gateway]]) syntax and
32111 use environment variable for PXE.
32112
32113 * commands/i386/pc/pxecmd.c (options): Removed.
32114 (print_ip): Removed.
32115 (grub_cmd_pxe): Removed
32116 (grub_cmd_pxe_unload): New function.
32117 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32118 (grub_pxe_your_ip): Made static.
32119 (grub_pxe_default_server_ip): Likewise.
32120 (grub_pxe_default_gateway_ip): Likewise.
32121 (grub_pxe_blksize): Likewise.
32122 (parse_ip): New function.
32123 (grub_pxe_open): Support server and gateway specification.
32124 (grub_pxe_close): Free disk->data.
32125 (grub_pxefs_open): Use disk->data.
32126 (grub_pxefs_read): Likewise.
32127 (grub_env_write_readonly): New function.
32128 (set_mac_env): Likewise.
32129 (set_env_limn_ro): Likewise.
32130 (parse_dhcp_vendor): Likewise.
32131 (grub_pxe_detect): Set the environment variables.
32132 (set_ip_env): New function.
32133 (write_ip_env): Likewise.
32134 (grub_env_write_pxe_default_server): Likewise.
32135 (grub_env_write_pxe_default_gateway): Likewise.
32136 (grub_env_write_pxe_blocksize): Likewise.
32137 (GRUB_MOD_INIT(pxe)): Set environment variables.
32138 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32139 (grub_pxe_mac_addr_t): ... this. All users updated.
32140 (grub_pxe_your_ip): Removed.
32141 (grub_pxe_server_ip): Likewise.
32142 (grub_pxe_gateway_ip): Likewise.
32143 (grub_pxe_blksize): Likewise.
32144
ec5f98ab 321452009-12-25 Carles Pina i Estany <carles@pina.cat>
32146
32147 * commands/help.c: Include `<grub/i18n.h>'.
32148 (grub_cmd_help): Gettextizze.
32149 (GRUB_MOD_INIT): Likewise.
32150 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32151 (GRUB_MOD_INIT): Gettextizze.
32152 * commands/search.c: Include `<grub/i18n.h>'.
32153 (options): Gettextizze.
32154 (GRUB_MOD_INIT): Gettextizze.
32155 * lib/arg.c: Include `<grub/i18n.h>'.
32156 (help_options): Gettextizze.
32157 (find_long): Likewise.
32158 (grub_arg_show_help): Likewise.
32159 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32160 (read_command_list): Gettextizze.
32161 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 32162 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 32163
22815526
RM
321642009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32165
32166 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32167 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32168 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32169 (led_status): New variable.
32170 (keyboard_controller_led): New function.
32171 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32172 update led status for caps lock, num lock and scroll lock.
32173
0ad46fd7
FZ
321742009-12-25 Felix Zielcke <fzielcke@z-51.de>
32175
32176 * util/hostdisk.c (open_device): Fix a comment.
32177
d0e158c2
RM
321782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32179
32180 * util/grub-install.in (host_os): New variable.
32181 * util/i386/efi/grub-install.in (host_os): Likewise.
32182
401c0ad6
RM
321832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32184
32185 * util/mkisofs/write.c (padblock_write): Abort when given an
32186 excedingly large embed image, instead of silently truncating it.
32187
d14d3370
RM
321882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32189
32190 * include/multiboot.h: Indentation fixes.
32191
eeed10b4
RM
321922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32193
32194 * include/multiboot.h (struct multiboot_aout_symbol_table)
32195 (struct multiboot_elf_section_header_table): New structure
32196 declarations (stolen from GRUB Legacy).
32197 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32198 table information.
32199
32200 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32201 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32202 type aliases.
32203
681c70ab
RM
322042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * include/multiboot.h: Make comments src2texi-friendly.
32207
e4d47d8d
RM
322082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32209
32210 For consistency with [multiboot]/docs/boot.S.
32211
32212 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32213 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32214 (MULTIBOOT_MAGIC2): Rename from this ...
32215 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32216
a0b70bda
RM
322172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 * include/multiboot.h: Remove `<grub/types.h>'.
32220 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32221 types. Update all users.
32222
61ba42be 322232009-12-25 Carles Pina i Estany <carles@pina.cat>
32224
32225 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32226 `couldn't' and `can not' by `cannot'.
32227 * commands/i386/pc/drivemap.c: Likewise.
32228 * disk/ata.c: Likewise.
32229 * disk/ieee1275/nand.c: Likewise.
32230 * fs/affs.c: Likewise.
32231 * fs/fat.c: Likewise.
32232 * fs/hfs.c: Likewise.
32233 * fs/hfsplus.c: Likewise.
32234 * fs/iso9660.c: Likewise.
32235 * fs/jfs.c: Likewise.
32236 * fs/minix.c: Likewise.
32237 * fs/reiserfs.c: Likewise.
32238 * fs/sfs.c: Likewise.
32239 * fs/udf.c: Likewise.
32240 * fs/ufs.c: Likewise.
32241 * fs/xfs.c: Likewise.
32242 * loader/powerpc/ieee1275/linux.c: Likewise.
32243 * loader/sparc64/ieee1275/linux.c: Likewise.
32244 * util/grub-probe.c: Likewise.
32245 * util/misc.c: Likewise.
32246
7fd0baee 322472009-12-24 Carles Pina i Estany <carles@pina.cat>
32248
32249 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32250 grub_errno calls.
32251 * commands/acpi.c: Likewise.
32252 * commands/blocklist.c: Likewise.
32253 * commands/efi/loadbios.c: Likewise.
32254 * commands/i386/pc/drivemap.c: Likewise.
32255 * commands/loadenv.c: Likewise.
32256 * commands/memrw.c: Likewise.
32257 * commands/password.c: Likewise.
32258 * commands/videotest.c: Likewise.
32259 * disk/ata.c: Likewise.
32260 * disk/ata_pthru.c: Likewise.
32261 * disk/dmraid_nvidia.c: Likewise.
32262 * disk/ieee1275/nand.c: Likewise.
32263 * disk/ieee1275/ofdisk.c: Likewise.
32264 * disk/loopback.c: Likewise.
32265 * disk/lvm.c: Likewise.
32266 * disk/mdraid_linux.c: Likewise.
32267 * disk/raid.c: Likewise.
32268 * disk/raid6_recover.c: Likewise.
32269 * disk/scsi.c: Likewise.
32270 * efiemu/main.c: Likewise.
32271 * efiemu/mm.c: Likewise.
32272 * efiemu/pnvram.c: Likewise.
32273 * efiemu/symbols.c: Likewise.
32274 * font/font.c: Likewise.
32275 * fs/cpio.c: Likewise.
32276 * fs/hfsplus.c: Likewise.
32277 * fs/iso9660.c: Likewise.
32278 * fs/jfs.c: Likewise.
32279 * fs/minix.c: Likewise.
32280 * fs/ntfs.c: Likewise.
32281 * fs/ntfscomp.c: Likewise.
32282 * fs/reiserfs.c: Likewise.
32283 * fs/ufs.c: Likewise.
32284 * fs/xfs.c: Likewise.
32285 * gettext/gettext.c: Likewise.
32286 * include/grub/auth.h: Likewise.
32287 * kern/elf.c: Likewise.
32288 * kern/file.c: Likewise.
32289 * kern/ieee1275/init.c: Likewise.
32290 * kern/ieee1275/mmap.c: Likewise.
32291 * kern/ieee1275/openfw.c: Likewise.
32292 * kern/powerpc/dl.c: Likewise.
32293 * kern/sparc64/dl.c: Likewise.
32294 * lib/arg.c: Likewise.
32295 * loader/i386/bsd.c: Likewise.
32296 * loader/i386/bsdXX.c: Likewise.
32297 * loader/i386/efi/linux.c: Likewise.
32298 * loader/i386/efi/xnu.c: Likewise.
32299 * loader/i386/ieee1275/linux.c: Likewise.
32300 * loader/i386/linux.c: Likewise.
32301 * loader/i386/multiboot.c: Likewise.
32302 * loader/i386/pc/linux.c: Likewise.
32303 * loader/i386/pc/multiboot2.c: Likewise.
32304 * loader/i386/xnu.c: Likewise.
32305 * loader/ieee1275/multiboot2.c: Likewise.
32306 * loader/macho.c: Likewise.
32307 * loader/machoXX.c: Likewise.
32308 * loader/multiboot2.c: Likewise.
32309 * loader/multiboot_loader.c: Likewise.
32310 * loader/powerpc/ieee1275/linux.c: Likewise.
32311 * loader/sparc64/ieee1275/linux.c: Likewise.
32312 * loader/xnu.c: Likewise.
32313 * loader/xnu_resume.c: Likewise.
32314 * mmap/i386/pc/mmap.c: Likewise.
32315 * normal/menu_viewer.c: Likewise.
32316 * partmap/acorn.c: Likewise.
32317 * partmap/amiga.c: Likewise.
32318 * partmap/apple.c: Likewise.
32319 * script/lexer.c: Likewise.
32320 * term/gfxterm.c: Likewise.
32321 * term/i386/pc/serial.c: Likewise.
32322 * term/i386/pc/vga.c: Likewise.
32323 * term/ieee1275/ofconsole.c: Likewise.
32324 * term/terminfo.c: Likewise.
32325 * video/bitmap.c: Likewise.
32326 * video/efi_gop.c: Likewise.
32327 * video/efi_uga.c: Likewise.
32328 * video/fb/video_fb.c: Likewise.
32329 * video/i386/pc/vbe.c: Likewise.
32330 * video/readers/tga.c: Likewise.
32331 * video/video.c: Likewise.
32332
0ad46fd7 323332009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
32334
32335 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32336 * commands/lspci.c: Likewise.
32337 * commands/probe.c: Likewise.
32338 * commands/xnu_uuid.c: Likewise.
32339 * conf/i386-coreboot.rmk: Likewise.
32340 * conf/i386-efi.rmk: Likewise.
32341 * conf/i386-ieee1275.rmk: Likewise.
32342 * conf/i386-pc.rmk: Likewise.
32343 * conf/powerpc-ieee1275.rmk: Likewise.
32344 * conf/sparc64-ieee1275.rmk: Likewise.
32345 * conf/x86_64-efi.rmk: Likewise.
32346 * fs/i386/pc/pxe.c: Likewise.
32347 * gettext/gettext.c: Likewise.
32348 * include/grub/efi/graphics_output.h: Likewise.
32349 * include/grub/i386/pc/memory.h: Likewise.
32350 * kern/env.c: Likewise.
32351 * kern/i386/qemu/startup.S: Likewise.
32352 * lib/i386/pc/biosnum.c: Likewise.
32353 * lib/i386/relocator.c: Likewise.
32354 * lib/i386/relocator_asm.S: Likewise.
32355 * lib/relocator.c: Likewise.
32356 * loader/i386/bsd.c: Likewise.
32357 * loader/i386/multiboot.c: Likewise.
32358 * loader/i386/pc/chainloader.c: Likewise.
32359 * loader/i386/xnu.c: Likewise.
32360 * loader/xnu.c: Likewise.
32361 * normal/main.c: Likewise.
32362 * normal/menu_text.c: Likewise.
32363 * util/getroot.c: Likewise.
32364 * util/grub-mkconfig_lib.in: Likewise.
32365 * util/grub.d/00_header.in: Likewise.
32366 * util/i386/pc/grub-mkimage.c: Likewise.
32367 * util/mkisofs/eltorito.c: Likewise.
32368 * util/mkisofs/exclude.h: Likewise.
32369 * util/mkisofs/hash.c: Likewise.
32370 * util/mkisofs/iso9660.h: Likewise.
32371 * util/mkisofs/joliet.c: Likewise.
32372 * util/mkisofs/mkisofs.c: Likewise.
32373 * util/mkisofs/mkisofs.h: Likewise.
32374 * util/mkisofs/multi.c: Likewise.
32375 * util/mkisofs/name.c: Likewise.
32376 * util/mkisofs/rock.c: Likewise.
32377 * util/mkisofs/tree.c: Likewise.
32378 * util/mkisofs/write.c: Likewise.
32379 * video/efi_gop.c: Likewise.
32380
009ec743
VS
323812009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32382
32383 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32384 size counting.
32385
0ad46fd7 323862009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
32387
32388 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32389 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32390
d3d30ea0
VS
323912009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32392
32393 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32394 (GRUB_MOD_INIT(memrw)): Update help line.
32395
a34f5c70
VS
323962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32397
32398 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32399 Use grub_extcmd_t. All users updated.
32400 (options): New variable.
32401 (grub_cmd_read): Restructure for readability. Support "-v" option.
32402 (grub_cmd_write): Restructure for readability.
32403
0ad46fd7 324042009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
32405
32406 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32407
0ad46fd7 324082009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
32409
32410 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32411 with the actual contents of the correspondending make variable.
32412 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32413 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32414 specifying `*.lst' and `efiemu??.o'
32415
0ad46fd7 324162009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
32417
32418 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32419 after function name.
32420 Noticed by Rene Engelhard <rene@debian.org>.
32421
dc77a799
VS
324222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32423
32424 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32425 (options): New variable.
32426 (iospace): Likewise.
32427 (grub_lspci_iter): List IO spaces if "-i" was given.
32428 (grub_cmd_lspci): Parse options.
32429 (GRUB_MOD_INIT(lspci)): Use extcmd.
32430 (GRUB_MOD_FINI(lspci)): Likewise.
32431
0ad46fd7 324322009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
32433
32434 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32435 `function' keyword.
32436 Patch by Tony Mancill <tmancill@debian.org>.
32437
b5d5993b
VS
324382009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32439
32440 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32441 (grub_uhci_portstatus): Likewise.
32442 (grub_uhci_portstatus): Add necessary delay.
11d18281 32443 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 32444
941903f2 324452009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 32446
941903f2 32447 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32448 (GRUB_MOD_INIT): Likewise.
32449 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 32450 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32451 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 32452 * commands/efi/loadbios.c (enable_rom_area): Likewise.
32453 (enable_rom_area): Likewise.
32454 (GRUB_MOD_INIT): Likewise.
32455 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32456 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
32457 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32458 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
32459 * commands/hexdump.c (options): Likewise.
32460 * commands/i386/cpuid.c (options): Likewise.
32461 (GRUB_MOD_INIT): Likewise.
32462 * commands/i386/pc/drivemap.c (options): Likewise.
32463 (GRUB_MOD_INIT): Likewise.
32464 * commands/i386/pc/halt (options): Likewise.
32465 (GRUB_MOD_INIT): Likewise.
32466 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32467 * commands/i386/pc/pxecmd.c (options): Likewise.
32468 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
32469 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
32470 * commands/keystatus.c (options): Likewise.
32471 (GRUB_MOD_INIT): Likewise.
32472 * commands/loadenv.c (options): Likewise.
32473 * commands/ls.c (options): Likewise.
32474 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32475 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32476 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32477 * commands/parttool.c (helpmsg): Likewise.
32478 * commands/probe.c (options): Likewise.
32479 * commands/read.c (GRUB_MOD_INIT): Likewise.
32480 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
32481 * commands/search.c (options): Likewise.
32482 * commands/sleep.c (options): Likewise.
32483 * commands/test.c (GRUB_MOD_INIT): Likewise.
32484 * commands/true.c (GRUB_MOD_INIT): Likewise.
32485 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
32486 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
32487 * lib/arg.c (help_options): Likewise.
e9bbb4e7 32488 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
32489 `$(XGETTEXT)'.
98a50553 32490 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 32491
0ad46fd7 324922009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 32493
ef3c2c3a 32494 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
32495 instead of specifying them explicit.
32496
7922f68b
RM
324972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32498
32499 * NEWS: Add grub-probe support for GNU/Hurd.
32500
537ce47f
RM
325012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32502
32503 * NEWS: gettext was added after 1.97.
32504
9b214e3a
RM
325052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32506
32507 * util/mkisofs/msdos_partition.h: New file (based on
32508 include/grub/msdos_partition.h).
32509 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
32510 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
32511 (ld_options, main): Recognize --protective-msdos-label.
32512 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
32513 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
32514 (padblock_write): If `use_protective_msdos_label' is set, patch a
32515 protective DOS-style label in the output image.
32516
32517 * util/grub-mkrescue.in: Use --protective-msdos-label.
32518
e9309813
RM
325192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32520
32521 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
32522 boot.
32523
0ae56929
RM
325242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32525
32526 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
32527 variables.
32528 (ld_options, main): Recognize `--embedded-boot'.
32529 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
32530 declarations.
32531 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
32532 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
32533 (padblock_write): Likewise. Rewrite to support embedded boot image.
32534
32535 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
32536 for BIOS-based disk boot instead of only ElTorito.
32537
b15937b1
RM
325382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32539
32540 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
32541 build (not needed for bootstrap).
32542
52cc3ce0
RM
325432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32544
32545 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
32546 from i386-pc build (not needed for bootstrap).
32547 Rewrite a pair of strings.
32548
36f5ff04
RM
325492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
32550
32551 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
32552
973c6c85 325532009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
32554
32555 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
32556
05d21547
AB
325572009-12-21 Andreas Born <futur.andy@googlemail.com>
32558
32559 * kern/env.c (grub_env_context_open): Mark exported variable for
32560 reexport.
32561
0175d51f
AB
325622009-12-21 Andreas Born <futur.andy@googlemail.com>
32563
32564 * kern/env.c (grub_env_export): Create nonexistent variables before
32565 exporting.
32566
7f39d92f 325672009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 32568
7f39d92f 32569 * include/grub/auth.h: Include `<grub/i18n.h>'.
32570 (GRUB_GET_PASSWORD): Gettextizze string.
32571 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
32572 menu_text.c.
32573 (grub_utf8_to_ucs4_alloc): Fix indentation.
32574 (grub_print_ucs4): Likewise.
32575 (grub_getstringwidth): Likewise.
32576 (print_message_indented): New declaration.
32577 * normal/auth.c: Include `<grub/i18n.h>'.
32578 (grub_auth_check_authentication): Gettexttize string.
32579 * normal/cmdline.c: Include `<grub/i18n.h>'.
32580 (grub_cmdline_get): Gettextizze.
32581 * normal/color.c: Include `<grub/i18n.h>'.
32582 (grub_parse_color_name_pair): Gettexttize strings.
32583 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
32584 string (use `print_message_indented').
32585 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
32586 `include/grub/normal.h'.
32587 (print_message_indented): Renamed to ...
32588 (grub_print_message_indented): ... this. Remove `static' qualifer (now
32589 used in normal/main.c).
32590 (print_message): Use `grub_print_message_indented' instead of
32591 `print_message_indented'.
32592 (print_timeout): Likewise.
32593 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
32594 (grub_normal_print_device_info): Gettexttize strings.
32595 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
32596
3041d898
VS
325972009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32598
32599 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
32600 of arguments. Return number of tokens and not arguments. All users
32601 updated.
32602
de15bf8e
VS
326032009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
32604
32605 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
32606 non-MSDOS paritions.
32607
e0a6ca52
VS
326082009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
32609
32610 * include/grub/types.h (UNUSED): Removed since it conflicts with
32611 NetBSD headers. All users changed to direct __attribute__ ((unused)).
32612 Reported by Grégoire Sutre.
32613
b99518d1 326142009-12-19 Carles Pina i Estany <carles@pina.cat>
32615
32616 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
32617 (grub_print_ucs4_alloc): Likewise.
32618 (grub_getstringwidth): Likewise.
32619 * normal/main.c (grub_normal_init_page): Gettextize version string.
32620 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
32621 (getstringwidth): Renamed to ...
32622 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
32623 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
32624 (grub_print_ucs4): Remove `static' qualifer (now used in
32625 normal/main.c).
32626 * po/POTFILES: Add normal/main.c.
32627
bfd5e52b 326282009-12-19 Carles Pina i Estany <carles@pina.cat>
32629
32630 * normal/menu_text.c (STANDARD_MARGIN): New macro.
32631 (print_message_indented): Add `margin_left' and `margin_right'
32632 parameters.
32633 (print_message): Update `print_message_indented' calls. Adds '\n' to the
32634 strings.
32635 (print_timeout): Use `print_message_indented' to print the message.
32636 Deletes `second_stage' parameter.
32637 (run_menu): Update `print_timeout' calls.
32638
5a1ad2b9
VS
326392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32640
32641 Fix console palette on OpenFirmware.
32642
32643 * term/ieee1275/ofconsole.c (MAX): Removed.
32644 (colors): Redone based on VGA palette.
32645 (grub_ofconsole_setcolor): Discard brightness bit since only 8
32646 colors are supported.
32647 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
32648
b045f00a
VS
326492009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 Fix potential EfiEmu double prepare.
32652
32653 * efiemu/main.c (prepared): New variable
32654 (grub_efiemu_unload): Set prepare to '0'.
32655 (grub_efiemu_prepare): Return if already prepared. Set prepared.
32656
32657 set_virtual_address_map support.
32658
32659 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
32660 prototype.
32661 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
32662 prototype.
32663 (grub_efiemu_crc32): Likewise.
32664 (grub_efiemu_crc64): Likewise.
32665 (grub_efiemu_set_virtual_address_map): Likewise.
32666 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
32667 New definition.
32668 (grub_autoefi_set_virtual_address_map): Likewise.
32669 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
32670 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
32671 Restructure flow to accomodate it.
32672 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
32673 (grub_efiemu_crc): Recompute CRC32.
32674 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
32675 (efiemu_ptv_relocated): ... this. Made global. All users updated.
32676 * efiemu/symbols.c (relocated_handle): New variable.
32677 (grub_efiemu_free_syms): Free relocated_handle.
32678 (grub_efiemu_alloc_syms): Allocate relocated_handle.
32679 (grub_efiemu_write_sym_markers): New function.
32680 (grub_efiemu_set_virtual_address_map): Likewise.
32681
32682 Newer XNU parameters.
32683
32684 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
32685 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
32686 (grub_xnu_fill_devicetree): New prototype.
32687 (grub_xnu_heap_real_start): New variable.
32688 * loader/xnu.c (get_name_ptr): New function.
32689 (grub_xnu_load_driver): Fill namelen and name.
32690
32691 64-bit xnu support.
32692
32693 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
32694 and 'loader/macho64.c'.
32695 * conf/i386-pc.rmk: Likewise.
32696 * conf/x86_64-efi.rmk: Likewise.
32697 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
32698 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
32699 * include/grub/macho.h (grub_macho_segment64): New structure.
32700 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
32701 (grub_macho_size32): ... to this.
32702 (grub_macho32_get_entry_point): Renamed from ...
32703 (grub_macho_get_entry_point32): ... to this.
32704 (grub_macho_contains_macho64): New prototype.
32705 (grub_macho_size64): Likewise.
32706 (grub_macho_get_entry_point64): Likewise.
32707 (grub_macho32_load): Renamed from ...
32708 (grub_macho_load32): ... to this.
32709 (grub_macho32_filesize): Renamed from ...
32710 (grub_macho_filesize32): ... to this.
32711 (grub_macho32_readfile): Renamed from ...
32712 (grub_macho_readfile32): ... to this.
32713 (grub_macho_filesize64): New prototype.
32714 (grub_macho_readfile64): Likewise.
32715 (grub_macho_parse32): Likewise.
32716 (grub_macho_parse64): Likewise.
32717 * loader/macho.c: Split into ...
32718 * loader/machoXX.c: ... and this. Replace 32 with XX.
32719 * loader/macho32.c: New file.
32720 * loader/macho64.c: Likewise.
32721 * loader/xnu.c (grub_xnu_is_64bit): New variable.
32722 (grub_cmd_xnu_kernel): Make 32-bit only.
32723 (grub_cmd_xnu_kernel64): New function.
32724 (grub_xnu_load_driver): Support Mach-O 64.
32725 (grub_cmd_xnu_mkext): Likewise.
32726 * util/grub.d/30_os-prober.in (osx_entry): New function.
32727 Generate entries for 64-bit boot too.
32728
32729 Eliminate ad-hoc tree format in XNU and EfiEmu.
32730
32731 * efiemu/main.c (grub_efiemu_prepare): Update comment.
32732 * efiemu/pnvram.c: Rewritten to use environment variables.
32733 All users updated.
32734
32735 Inline utf16_to_utf8.
32736
32737 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
32738 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
32739 All users updated.
32740 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
32741
32742 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
32743 * commands/usbtest.c (grub_usb_get_string): ... move here.
32744 (usb_print_str): Fix error handling.
32745 * include/grub/usb.h (grub_usb_get_string): Remove.
32746
32747 UTF-8 to UTF-16 transformation.
32748
32749 * conf/common.rmk (pkglib_MODULES): Add charset.mod
32750 (charset_mod_SOURCES): New variable.
32751 (charset_mod_CFLAGS): Likewise.
32752 (charset_mod_LDFLAGS): Likewise.
32753 * include/grub/utf.h: New file.
32754 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
32755
32756 Support for device properties.
32757
32758 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
32759 (grub_xnu_devprop_device_header): Likewise.
32760 (grub_xnu_devprop_device_descriptor): Likewise.
32761 (grub_xnu_devprop_add_device): New prototype.
32762 (grub_xnu_devprop_remove_device): Likewise.
32763 (grub_xnu_devprop_remove_property): Likewise.
32764 (grub_xnu_devprop_add_property_utf8): Likewise.
32765 (grub_xnu_devprop_add_property_utf16): Likewise.
32766 (grub_cpu_xnu_init): Likewise.
32767 (grub_cpu_xnu_fini): Likewise.
32768 (grub_cpu_xnu_unload): Likewise.
32769 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
32770 (property_descriptor): Likewise.
32771 (devices): New variable.
32772 (grub_xnu_devprop_remove_property): New function.
32773 (grub_xnu_devprop_add_device): Likewise.
32774 (grub_xnu_devprop_remove_device): Likewise.
32775 (grub_xnu_devprop_add_property): Likewise.
32776 (grub_xnu_devprop_add_property_utf8): Likewise.
32777 (grub_xnu_devprop_add_property_utf16): Likewise.
32778 (hextoval): Likewise.
32779 (grub_cpu_xnu_fill_devprop): Likewise.
32780 (grub_cmd_devprop_load): Likewise.
32781 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
32782 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
32783 (cmd_devprop_load): New variable.
32784 (grub_cpu_xnu_init): New function.
32785 (grub_cpu_xnu_fini): Likewise.
32786 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
32787 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
32788 (grub_cmd_xnu_devtree): Likewise.
32789 (hextoval): New function.
32790 (unescape): Likewise.
32791 (grub_xnu_fill_devicetree): Likewise.
32792
32793 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
32794 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
32795
0945f181
VS
327962009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
32797
32798 Workaround for broken ATI VBE.
32799
32800 * video/i386/pc/vbe.c (last_set_mode): New variable.
32801 (grub_vbe_set_video_mode): Set 'last_set_mode'.
32802 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
32803 (grub_video_vbe_setup): Don't check for reserved flag.
32804
0ad46fd7 328052009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
32806
32807 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
32808 the `find' command.
32809
c179ebe4
VS
328102009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
32811
32812 UUID support for HFS.
32813
32814 * fs/hfs.c (grub_hfs_uuid): New function.
32815 (grub_hfs_fs): New value .uuid.
32816 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
32817
0ad46fd7 328182009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
32819
32820 Fix a segfault with parsing unknown long options.
32821
32822 * util/grub-mkrelpath.c (options): Zero terminate it.
32823
c4a3e41a
CPE
328242009-12-13 Carles Pina i Estany <carles@pina.cat>
32825
32826 * include/grub/misc.h (grub_puts): New declaration.
32827 (grub_puts_): Likewise.
a22008a6 32828 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
32829 (grub_puts_): Likewise.
32830
2e8a7602
RM
328312009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32832
32833 * util/grub-probe.c (probe): Improve error message.
32834
b50b77b9
RM
328352009-12-13 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * loader/i386/multiboot_elfxx.c
32838 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
32839 initialization.
32840
328412009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32842
32843 Relocator framework
32844
32845 * loader/i386/xnu_helper.S: Removed. All users updated.
32846 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
32847 (relocator_mod_SOURCES): New variable.
32848 (relocator_mod_CFLAGS): Likewise.
32849 (relocator_mod_LDFLAGS): Likewise.
32850 (relocator_mod_ASFLAGS): Likewise.
32851 * conf/x86_64.rmk: Likewise.
32852 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
32853 (grub_multiboot_payload_entry_offset): Likewise.
32854 (grub_multiboot_forward_relocator): Likewise.
32855 (grub_multiboot_forward_relocator_end): Likewise.
32856 (grub_multiboot_backward_relocator): Likewise.
32857 (grub_multiboot_backward_relocator_end): Likewise.
32858 (grub_multiboot_payload_eip): New variable.
32859 (grub_multiboot_payload_orig): Likewise.
32860 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
32861 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
32862 * include/grub/i386/memory.h
32863 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
32864 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
32865 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
32866 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
32867 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
32868 * include/grub/i386/relocator.h: New file.
32869 * include/grub/x86_64/relocator.h: Likewise.
32870 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
32871 (XNU_RELOCATOR): New macro.
32872 (grub_xnu_launcher_start): Remove.
32873 (grub_xnu_launcher_end): Likewise.
32874 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
32875 (grub_xnu_heap_real_start): Remove.
32876 (grub_xnu_heap_start): Change to void *. All users updated.
32877 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
32878 * lib/i386/relocator.c: New file.
32879 * lib/i386/relocator_asm.S: Likewise.
32880 * lib/i386/relocator_backward.S: Likewise.
32881 * lib/mips/relocator.c: Likewise.
32882 * lib/mips/relocator_asm.S: Likewise.
32883 * lib/relocator.c: Likewise.
32884 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
32885 (entry): Removed.
32886 (playground): Likewise.
32887 (grub_multiboot_payload_orig): New variable.
32888 (grub_multiboot_payload_dest): Likewise.
32889 (grub_multiboot_payload_size): Likewise.
32890 (grub_multiboot_payload_eip): Likewise.
32891 (grub_multiboot_payload_esp): Likewise.
32892 (grub_multiboot_boot): Use grub_relocator32_boot.
32893 (grub_multiboot_unload): Free relocators.
32894 (grub_multiboot): Setup stack. Use relocators.
32895 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
32896 (grub_multiboot_load_elfXX): Use relocators.
32897 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
32898 (grub_multiboot_payload_size): Likewise.
32899 (grub_multiboot_payload_dest): Likewise.
32900 (grub_multiboot_payload_entry_offset): Likewise.
32901 (grub_multiboot_forward_relocator): Likewise.
32902 (grub_multiboot_backward_relocator): Likewise.
32903 (grub_multiboot_real_boot): Likewise.
32904 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
32905 (grub_xnu_entry_point): Likewise.
32906 (grub_xnu_arg1): Likewise.
32907 (grub_xnu_stack): Likewise.
32908 (grub_xnu_launch): Removed.
32909 (grub_xnu_boot_resume): New function.
32910 (grub_xnu_boot): Use relocators.
32911 * loader/i386/xnu_helper.S: Removed.
32912 * loader/xnu.c (grub_xnu_heap_start): New variable.
32913 (grub_xnu_heap_size): Likewise.
32914 (grub_xnu_heap_malloc): Use relocators.
32915 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
32916
29eb90c6
VS
329172009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32918
32919 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
32920 anything.
32921
31027430
CPE
329222009-12-13 Carles Pina i Estany <carles@pina.cat>
32923
32924 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
32925 GRUB_ERR_NONE before calling grub_env_set.
32926
dc0c71d9
RM
329272009-12-12 Robert Millan <rmh@aybabtu.com>
32928
32929 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
32930 * genmk.rb (video): New variable.
32931 (CLEANFILES, VIDEOFILES): Add #{video}.
32932 (#{video}): New target rule.
32933 * genvideolist.sh: New file.
32934 * Makefile.in (pkglib_DATA): Add video.lst.
32935 (video.lst): New target rule.
32936 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
32937 `video.lst'.
32938 * util/grub.d/30_os-prober.in: Replace `vbe' with
32939 ${GRUB_VIDEO_BACKEND}.
32940
2a4bfcf0
RM
329412009-12-11 Robert Millan <rmh.grub@aybabtu.com>
32942
32943 * THANKS: Add David Miller.
32944
2a3aa4d5
RM
329452009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
32946
32947 libpciaccess support.
32948
32949 * Makefile.in (LIBPCIACCESS): New variable.
32950 (enable_grub_emu_pci): Likewise.
32951 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
32952 util/pci.c and commands/lspci.c.
32953 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
32954 * configure.ac (grub-emu-pci): New option.
32955 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
32956 (grub_pci_device_unmap_range): Likewise.
32957 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
32958 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
32959 (grub_pci_address_t) [!GRUB_UTIL]: New type.
32960 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
32961 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
32962 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
32963 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
32964 * include/grub/pciutils.h: New file.
32965 * util/pci.c: Likewise.
32966
0ad46fd7 329672009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
32968
32969 * util/misc.c: Don't include <errno.h> twice.
32970
0ad46fd7 329712009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
32972
32973 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
32974 name in an error message.
32975 (grub_biosdisk_rw): Likewise.
32976
2e59983c
VS
329772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32978
32979 Eliminate NTFS 4Gib barrier.
32980
32981 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
32982 (read_run_data): Likewise.
32983 (grub_ntfs_read_run_list): Likewise.
32984 (grub_ntfs_read_block): Likewise.
32985 (grub_ntfs_iterate_dir): Likewise.
32986 (read_mft): Likewise.
32987 (read_data): Likewise.
32988 Use COM_LOG_LEN.
32989 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
32990 to avoid 64-bit division
32991 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
32992 (grub_ntfs_rlst): Use grub_disk_addr_t.
32993
71ee178a
VS
329942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
32995
32996 Eliminate grub-fstest 4Gib barrier.
32997
32998 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
32999 (read_file): Fix error reporting.
33000
2520d4b8
VS
330012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33002
33003 Eliminate hexdump 4Gib barrier.
33004
33005 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33006 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33007
e1f27065
VS
330082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33009
33010 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33011 Fixes amarsh bug.
33012
1a0f7f45
RM
330132009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33014
33015 Remove miscellaneous files in distclean target.
33016
33017 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33018
c631d9fb
CW
330192009-12-09 Colin Watson <cjwatson@ubuntu.com>
33020
33021 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33022 if they're already set. This resolves the conflict between my
33023 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33024 fixing the --grub-probe option again.
33025 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33026 change on 2009-10-06, so that we now once again source
33027 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33028
7c7b6106
RM
330292009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33030
33031 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33032 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33033 `util/devicemap.c'.
33034
e3069ec1
CPE
330352009-12-08 Carles Pina i Estany <carles@pina.cat>
33036
33037 * include/grub/misc.h (grub_printf_): New declaration.
33038 * kern/misc.c (grub_printf_): New definition.
33039 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33040 instead of `grub_printf' and `_'.
33041 * normal/menu_entry.c (store_completion): Likewise.
33042 (run): Likewise.
33043 (grub_menu_entry_run): Likewise.
33044 * normal/menu_text.c (grub_wait_after_message): Likewise.
33045 (notify_booting): Likewise.
33046 (notify_fallback): Likewise.
33047 (notify_execution_failure): Likewise.
33048
d6ceebf1
CW
330492009-12-07 Colin Watson <cjwatson@ubuntu.com>
33050
33051 * configure.ac: Check for vasprintf.
33052 * util/misc.c (asprintf): Move allocation from here ...
33053 (vasprintf): ... to here. New function.
33054 (xasprintf): New function.
33055 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33056 prototypes.
33057 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33058 * util/grub-mkfont.c (write_font): Likewise.
33059 * util/grub-probe.c (probe): Likewise.
33060 * util/hostdisk.c (make_device_name): Likewise.
33061
de6daa8b
DM
330622009-12-06 David S. Miller <davem@sunset.davemloft.net>
33063
33064 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33065 anything even prefixed with 'cdrom' as a cdrom.
33066
0ad46fd7 330672009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
33068
33069 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33070 mount points.
33071
98d3dc02
CPE
330722009-12-05 Carles Pina i Estany <carles@pina.cat>
33073
33074 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33075 grub_gettext_msg_list.
33076 (grub_gettext_gettranslation_from_position): Return const char *
33077 and not char *.
a2c1332b 33078 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
33079 returns from the list if existing there.
33080 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33081 (grub_gettext_delete_list): Delete the list.
33082 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33083 lang environment variable is changed.
33084 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33085
b283f108
VS
330862009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33087
33088 Rename kernel.mod to kernel.img.
33089
33090 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33091 (kernel_mod_EXPORTS): Rename to ...
33092 (kernel_img_EXPORTS): ... this.
33093 (kernel_mod_SOURCES): Rename to ...
33094 (kernel_img_SOURCES): ... this.
33095 (kernel_mod_HEADERS): Rename to ...
33096 (kernel_img_HEADERS): ... this. All users updated.
33097 (kernel_mod_CFLAGS): Rename to ...
33098 (kernel_img_CFLAGS): ... this.
33099 (kernel_mod_ASFLAGS): Rename to ...
33100 (kernel_img_ASFLAGS): ... this.
33101 (kernel_mod_LDFLAGS): Rename to ...
33102 (kernel_img_LDFLAGS): ... this.
33103 * conf/x86_64-efi.rmk: Likewise.
33104 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33105 (read_kernel_image): ... this. All users updated.
33106 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33107
69055f8a
CPE
331082009-12-05 Carles Pina i Estany <carles@pina.cat>
33109
33110 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33111 (print_spaces): New function.
33112 (grub_print_ucs4): New function.
33113 (getstringwidth): New function.
33114 (print_message_indented): New function.
33115 (print_message): Gettexttize strings using print_message_indented.
33116 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33117 width.
33118 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 33119 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
33120 Gettextize.
33121 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33122 string.
33123 (run): Likewise.
33124 (grub_menu_entry_run): Likewise.
33125 * PO/POTFILES: Add normal/menu_entry.c.
33126
f616f51c
VS
331272009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33128
33129 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33130
57bbe3be
CPE
331312009-12-05 Carles Pina i Estany <carles@pina.cat>
33132
33133 * util/grub-install.in: Install gettext .mo files.
33134 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33135
013d67a1
CPE
331362009-12-05 Carles Pina i Estany <carles@pina.cat>
33137
33138 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33139 grub_dprintf.
33140
fb954db0
RM
331412009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33142
33143 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33144 non-firmware-dependant one in realmode.S takes precedence.
33145
6b8474f8
RM
331462009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33147
33148 * commands/halt.c: Replace misc arch-specific headers with
33149 `<grub/misc.h>'.
33150 * commands/reboot.c: Likewise.
33151 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33152 `<grub/misc.h>'.
33153 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33154 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33155 (kernel_img_SOURCES): ... to here.
33156
33157 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33158 * include/grub/i386/pc/init.h: Likewise.
33159 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33160 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33161
33162 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33163
33164 * include/grub/i386/halt.h: Remove.
33165 * include/grub/i386/reboot.h: Likewise.
33166
33167 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33168
4b2e6ca2
DM
331692009-12-03 David S. Miller <davem@sunset.davemloft.net>
33170
33171 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33172 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33173 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33174 "progname.h"
33175 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33176 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33177 (usage): Add missing comma in printf.
33178
5239348f
RM
331792009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33180
33181 Use the same reboot approach on i386 coreboot and qemu as we do on
33182 BIOS.
33183
33184 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33185 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33186 * kern/i386/reboot.c: Remove.
33187 * include/grub/i386/reboot.h (grub_reboot): Export function.
33188 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33189 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33190 0xf000:0xfff0 instead of 0xffff:0x0000.
33191 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33192 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33193
ef34cbd4
RM
331942009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33195
33196 Fix $srcdir != $objdir build.
33197
33198 * Makefile.in (po/%.po): Rewrite as ...
33199 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33200
dc9837ea
ST
332012009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33202
33203 Fix GNU/Hurd grub-install crash.
33204 * util/grub-probe.c (probe): Try to access `path' only when it is not
33205 NULL.
33206
2f857f98
VS
332072009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33208
33209 Correct module naming.
33210
33211 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33212 (GRUB_MOD_INIT(efi_uga)): ... to this
33213 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33214 (GRUB_MOD_FINI(efi_uga)): ... to this
33215 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33216 (GRUB_MOD_INIT(efi_gop)): ... to this
33217 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33218 (GRUB_MOD_FINI(efi_gop)): ... to this
33219
c5448046
RM
332202009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33221
33222 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33223 translatable.
33224 (usage): Translate `arg' strings using gettext().
33225 Thanks to Jordi Mallach for the suggestion.
33226
c85184ad
VS
332272009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33228
33229 GOP support. Based on patch from Bean
33230 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33231
33232 * video/efi_gop.c: New file.
33233 * include/grub/efi/graphics_output.h: Likewise.
33234 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33235 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33236 variables.
33237 * conf/x86_64-efi.rmk: Likewise.
33238
8a4c48d8
VS
332392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33240
33241 Rename efi_fb to efi_uga.
33242
33243 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33244 'efi_uga.mod'.
33245 (efi_fb_mod_SOURCES): Rename this ...
33246 (efi_uga_mod_SOURCES): ... to this.
33247 (efi_fb_mod_CFLAGS): Rename this ...
33248 (efi_uga_mod_CFLAGS): ... to this.
33249 (efi_fb_mod_LDFLAGS): Rename this ...
33250 (efi_uga_mod_LDFLAGS): ... to this.
33251 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33252 'efi_uga.mod'.
33253 (efi_fb_mod_SOURCES): Rename this ...
33254 (efi_uga_mod_SOURCES): ... to this.
33255 (efi_fb_mod_CFLAGS): Rename this ...
33256 (efi_uga_mod_CFLAGS): ... to this.
33257 (efi_fb_mod_LDFLAGS): Rename this ...
33258 (efi_uga_mod_LDFLAGS): ... to this.
33259 * video/efi_fb.c: Move this ...
33260 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33261
fb6c1a7b
RM
332622009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33263
33264 * po/README: New file. Explain our PO file workflow.
33265
3bc7896c
RM
332662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33267
33268 * po/ChangeLog: Remove. Move relevant entries back to ...
33269 * ChangeLog: ... here.
33270 * po/ca.po: Remove (now handled by TLP).
33271 * po/id.po: Likewise.
33272 * po/zh_CN.po: Likewise.
33273 * Makefile.in (LINGUAS): Initialize in a way that supports
33274 empty set.
33275
9ed4841d
RM
332762009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33277
33278 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33279 reliing on po/LINGUAS.
33280 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33281 (po/%.po): ... this.
33282
0ad46fd7 332832009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
33284
33285 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33286 (main): Use `program_name' instead of nonexistent `progname'.
33287
e30dd392
FZ
332882009-11-26 Felix Zielcke <fzielcke@z-51.de>
33289
33290 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33291 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33292
7656de4f
RM
332932009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33296 commit.
33297 * conf/i386-efi.rmk: Likewise.
33298 * conf/i386-ieee1275.rmk: Likewise.
33299 * conf/powerpc-ieee1275.rmk: Likewise.
33300 * conf/sparc64-ieee1275.rmk: Likewise.
33301 * conf/x86_64-efi.rmk: Likewise.
33302
db77c4d4
FZ
333032009-11-26 Felix Zielcke <fzielcke@z-51.de>
33304
33305 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33306
a755bb04
FZ
333072009-11-26 Felix Zielcke <fzielcke@z-51.de>
33308
33309 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33310
8a4c07fd
RM
333112009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33312
33313 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33314 (grub_mkdevicemap_SOURCES): New variable.
33315 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33316 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33317 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33318 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33319 (grub_mkdevicemap_SOURCES): Remove.
33320 * conf/i386-efi.rmk: Likewise.
33321 * conf/i386-ieee1275.rmk: Likewise.
33322 * conf/i386-pc.rmk: Likewise.
33323 * conf/powerpc-ieee1275.rmk: Likewise.
33324 * conf/sparc64-ieee1275.rmk: Likewise.
33325 * conf/x86_64-efi.rmk: Likewise.
33326 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33327 (usage): Fix strings to use `program_name'.
33328 (main): Initialize gettext.
33329 * util/grub-editenv.c: Likewise.
33330 * util/grub-emu.c: Likewise.
33331 * util/grub-fstest.c: Likewise.
33332 * util/grub-mkdevicemap.c: Likewise.
33333 * util/grub-mkfont.c: Likewise.
33334 * util/grub-mkrelpath.c: Likewise.
33335 * util/grub-pe2elf.c: Likewise.
33336 * util/grub-probe.c: Likewise.
33337 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33338 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33339 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33340
33341 * util/misc.c: Include `"progname.h"'.
33342 (progname): Remove variable.
33343 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33344
6f61ed55
FZ
333452009-11-25 Felix Zielcke <fzielcke@z-51.de>
33346
33347 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33348 printf and print a newline after the menuentry header line.
33349 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33350
f022876b
FZ
333512009-11-25 Felix Zielcke <fzielcke@z-51.de>
33352
33353 autoconf >= 2.60 support $(localedir).
33354
33355 * INSTALL: Note that autoconf 2.60 is required.
33356 * configure.ac (AC_PREREQ): Bump to 2.60.
33357 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33358 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33359
6717926e
YB
333602009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33361
33362 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33363 aclocal is run.
33364
08806a54
RM
333652009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33366
33367 * normal/main.c (grub_normal_read_line): Fix off-by-one
33368 buffer overflow.
33369
13b33fba
RM
333702009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33371
33372 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33373 "parser.grub" in grub_command_execute() call.
33374
4a8572e9
CPE
333752009-11-24 Carles Pina i Estany <carles@pina.cat>
33376
33377 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33378 * conf/i386-efi.rmk: Likewise.
33379 * conf/i386-ieee1275.rmk: Likewise.
33380 * conf/i386-pc.rmk: Likewise.
33381 * conf/powerpc-ieee1275.rmk: Likewise.
33382 * conf/sparc64-ieee1275.rmk: Likewise.
33383 * conf/x86_64-efi.rmk: Likewise.
33384 * gettext/gettex.c: Include <grub/i18n.h>.
33385 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33386 here ...
33387 * include/grub/i18n.h: ... to here
33388 * include/grub/i18n.h: ... to here.
33389 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 33390 (grub_gettext_dummy): Move above user.
4a8572e9 33391
bee48093
FZ
333922009-11-24 Felix Zielcke <fzielcke@z-51.de>
33393
33394 * util/Makefile.in (install-local): Convert a `for' into a normal
33395 shell expansion.
33396
a031e91c
RM
333972009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33398
33399 * autogen.sh: Add automake call.
33400 * config.guess: Remove.
33401 * config.sub: Likewise.
33402 * install-sh: Likewise.
33403
26bec39d
FZ
334042009-11-24 Felix Zielcke <fzielcke@z-51.de>
33405
33406 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33407
8e2532fd
FZ
334082009-11-24 Felix Zielcke <fzielcke@z-51.de>
33409
33410 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33411 function to a normal shell `for'.
33412
fefa1b7d
FZ
334132009-11-24 Felix Zielcke <fzielcke@z-51.de>
33414
33415 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33416
4501250b
FZ
334172009-11-24 Felix Zielcke <fzielcke@z-51.de>
33418
33419 * util/grub-mkrelpath.c: New file.
33420 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33421 (grub_mkrelpath_SOURCES): New variable.
33422 * include/grub/util/misc.h: New function prototype.
33423 * util/misc.c (make_system_path_relative_to_its_root): New function.
33424
33425 * util/grub-mkconfig_lib.in (bindir): New variable.
33426 (grub_mkrelpath): Likewise.
33427 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33428
33429 * util/probe.c (probe): Make the file path relative to its root.
33430 Change a info message to use the GRUB path. Enable again the
33431 check if we can read the file with GRUB facilities.
33432
33433 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33434 to its root.
33435
11d9778b
FZ
334362009-11-24 Felix Zielcke <fzielcke@z-51.de>
33437
33438 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33439 platform.
33440
4465287d
FZ
334412009-11-24 Felix Zielcke <fzielcke@z-51.de>
33442
33443 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33444 strncmp().
33445
62b47f22
FZ
334462009-11-24 Felix Zielcke <fzielcke@z-51.de>
33447
33448 * util/getroot.c (grub_util_is_dmraid): New function.
33449 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33450 devices as normal ones, not as LVM.
33451
1eafb9b9 334522009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
33453
33454 * conf/common.rmk: Add grub-gettext_lib target and updates
33455 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
33456 LDFLAGS.
33457 * gettext/gettext.c: New file. (Reads mo files).
33458 * include/grub/file.h (grub_file_pread): New prototype.
33459 * include/grub/i18n.h (_): New prototype.
33460 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
33461 prototypes.
33462 * kern/misc.c (grub_gettext_dummy): New function.
33463 * normal/menu_text.c: Include <grub/i18n.h>.
33464 * normal/menu_text.c (print_timeout): Gettexttize string.
33465 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
33466 * po/POTFILES: Add `normal/menu_text.c'.
33467 * po/ca.po: Add new translations.
c3ea6bd4
CPE
33468 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
33469 gettext module and defines locale_dir and lang in grub.cfg.
33470 * NEWS: Add gettext support.
33471
0fdb2568
RM
334722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33473
33474 * util/hostdisk.c: Include `<grub/i18n.h>'.
33475 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
33476 (make_device_name): Rewrite using asprintf.
33477 (convert_system_partition_to_system_disk): Replace 0 with NULL.
33478 (find_system_device): If a device is not found, generate one just
33479 by reusing the OS path name.
33480 (read_device_map): Make it permissible for device.map not to exist.
33481
f515aa62
RM
334822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33483
33484 * script/sh/execute.c: Move from here ...
33485 * script/execute.c: ... to here. Update all users.
33486 * script/sh/function.c: Move from here ...
33487 * script/function.c: ... to here. Update all users.
33488 * script/sh/lexer.c: Move from here ...
33489 * script/lexer.c: ... to here. Update all users.
33490 * script/sh/main.c: Move from here ...
33491 * script/main.c: ... to here. Update all users.
33492 * script/sh/parser.y: Move from here ...
33493 * script/parser.y: ... to here. Update all users.
33494 * script/sh/script.c: Move from here ...
33495 * script/script.c: ... to here. Update all users.
33496
f84b481b
RM
334972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33498
33499 * configure.ac: Detect all `emu' platforms. Define
33500 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
33501 --enable-grub-emu logic. Disable include/grub/machine
33502 symlink on `emu' platforms.
33503
33504 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
33505 * gensymlist.sh.in: Likewise.
33506
33507 * include/grub/i386/coreboot/machine.h: Remove file.
33508 * include/grub/i386/efi/machine.h: Likewise.
33509 * include/grub/i386/ieee1275/machine.h: Likewise.
33510 * include/grub/i386/pc/machine.h: Likewise.
33511 * include/grub/i386/qemu/machine.h: Likewise.
33512 * include/grub/powerpc/ieee1275/machine.h: Likewise.
33513 * include/grub/sparc64/ieee1275/machine.h: Likewise.
33514 * include/grub/x86_64/efi/machine.h: Likewise.
33515
33516 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
33517 * commands/halt.c: Likewise.
33518 * commands/reboot.c: Likewise.
33519 * include/grub/autoefi.h: Likewise.
33520 * include/grub/i386/at_keyboard.h: Likewise.
33521 * include/grub/i386/kernel.h: Likewise.
33522 * include/grub/i386/loader.h: Likewise.
33523 * include/grub/i386/pc/memory.h: Likewise.
33524 * kern/dl.c: Likewise.
33525 * kern/i386/coreboot/init.c: Likewise.
33526 * loader/i386/bsd.c: Likewise.
33527 * loader/i386/linux.c: Likewise.
33528 * loader/multiboot_loader.c: Likewise.
33529 * term/i386/pc/serial.c: Likewise.
33530 * term/usb_keyboard.c: Likewise.
33531
33532 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
33533 `<grub/machine/machine.h>'
33534 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
33535 * util/misc.c: Remove `<grub/machine/machine.h>' and
33536 `<grub/machine/time.h>'.
33537
33538 * Makefile.in (enable_grub_emu): Remove variable.
33539 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
33540
33541 * conf/any-emu.rmk: New file.
33542 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
33543 (grub_emu_init.c): Move from here ...
33544 * conf/any-emu.rmk: ... to here.
33545
33546 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
33547 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
33548 * conf/any-emu.rmk: ... to here.
33549
4efeab03
RM
335502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 * include/grub/parser.h (grub_parser_register): Document need
33553 of `name' parameter.
33554 * normal/main.c (grub_normal_read_line): Simplify prompt string.
33555 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
33556 "sh" to "grub".
33557
ea1dd8bf
RM
335582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33559
33560 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
33561 `$(XGETTEXT)'.
33562 * include/grub/i18n.h (N_): New macro.
33563 * util/mkisofs/mkisofs.h: Likewise.
33564 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
33565 around N_().
33566 (usage): Use gettext() to translate help strings when printing them.
33567
0c140626
RM
335682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
33569
33570 Based on patch from Bean
33571 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33572
33573 * video/efi_fb.c: New file.
33574 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
33575 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33576 variables.
33577 * conf/x86_64-efi.rmk: Likewise.
33578
87d58298
RM
335792009-11-22 Robert Millan <rmh.grub@aybabtu.com>
33580
33581 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
33582 * util/i386/pc/grub-setup.c: Likewise.
33583
994cc3a3
ST
335842009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
33585
33586 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
33587 <hurd/fs.h>
33588 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
33589 file_get_storage_info to implement grub_guess_root_device.
33590
26a61d6a
FZ
335912009-11-21 Felix Zielcke <fzielcke@z-51.de>
33592
33593 * Makefile.in (target): Use make's builtin $(shell) function
33594 instead of calling directly $(SHELL) to create the locale directories,
33595 inside the $(foreach) function.
33596
74ff1dd5
FZ
335972009-11-21 Felix Zielcke <fzielcke@z-51.de>
33598
33599 * util/grub-mkrescue.in: Print an error and usage if output option
33600 has not been given.
33601
0b787d0e
FZ
336022009-11-21 Felix Zielcke <fzielcke@z-51.de>
33603
33604 Patch from Loïc Minier <loic.minier@ubuntu.com>.
33605 * util/grub.d/30_os-prober.in: Cope with Linux entries where
33606 root and /boot are on different devices.
33607
1164b270
RM
336082009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33609
33610 Fix build for srcdir != objdir.
33611
33612 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
33613 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
33614 $(srcdir).
33615 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
33616 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
33617 reference for input.
33618
13774a2f
RM
336192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33620
33621 * util/grub-mkrescue.in: Use source directory direcly (without copiing
33622 or hardlinking it). Remove -J option, Joliet is not compatible with
33623 multiple source directories.
33624
efda854e
RM
336252009-11-21 Carles Pina i Estany <carles@pina.cat>
336262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
33627
33628 * util/grub-mkrescue.in: Recognize `--override-directory' option.
33629 (process_input_dir): New function. Process an arbitrary input
33630 directory.
33631 Misc adjustments to support both "override mode" and system-wide mode.
33632
6c09890c
FZ
336332009-11-20 Felix Zielcke <fzielcke@z-51.de>
33634
33635 * configure.ac (UNIFONT_BDF): Rename to ...
33636 (FONT_SOURCE): ... this. Update all users.
33637
a797824f
FZ
336382009-11-20 Felix Zielcke <fzielcke@z-51.de>
33639
33640 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
33641 to the list of unifont files to look for.
33642
cd4f42b0
RM
336432009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33644
33645 Patch from Joe Auricchio <jauricchio@gmail.com>
33646 * commands/minicmd.c (grub_mini_cmd_clear): New function.
33647 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
33648 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
33649
393c783d
FZ
336502009-11-19 Felix Zielcke <fzielcke@z-51.de>
33651
33652 * Makefile.in (install-local): Add a missing backslash.
33653
b2f1e327
FZ
336542009-11-19 Felix Zielcke <fzielcke@z-51.de>
33655
33656 * include/grub/x86_64/io.h: New file.
33657
f577f7a0
RM
336582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33659
33660 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
33661 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
33662 Include `"progname.h"'.
33663 (main): Initialize gettext.
33664 * util/i386/pc/grub-setup.c: Gettexttize.
33665 * util/i386/pc/grub-mkimage.c: Likewise.
33666
33667 * Makefile.in (po/*.po): Redefine as ...
33668 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
33669
3bc7896c
RM
33670 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
33671
c37943b6
RM
336722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
33673
33674 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
33675 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
33676 (program_name): Remove.
33677 (main): Initialize gettext support.
6323f705
RM
33678 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
33679 Include `<libintl.h>'.
33680 (_): New macro.
c37943b6
RM
33681
33682 * util/mkisofs/eltorito.c: Gettexttize.
33683 * util/mkisofs/joliet.c: Likewise.
33684 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
33685 * util/mkisofs/multi.c: Likewise.
33686 * util/mkisofs/rock.c: Likewise.
33687 * util/mkisofs/tree.c: Likewise.
33688 * util/mkisofs/write.c: Likewise.
33689
3bc7896c
RM
33690 * po/POTFILES: Update with new files.
33691
5ce77c6e
RM
336922009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33693
33694 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
33695 * util/mkisofs/iso9660.h: Likewise.
33696 * util/mkisofs/joliet.c: Likewise.
33697 * util/mkisofs/mkisofs.c: Likewise.
33698 * util/mkisofs/mkisofs.h: Likewise.
33699 * util/mkisofs/rock.c: Likewise.
33700 * util/mkisofs/tree.c: Likewise.
33701 * util/mkisofs/write.c: Likewise.
33702
33703 * util/mkisofs/eltorito.c (rcsid): Remove.
33704 * util/mkisofs/hash.c: Likewise.
33705 * util/mkisofs/joliet.c: Likewise.
33706 * util/mkisofs/name.c: Likewise.
33707 * util/mkisofs/rock.c: Likewise.
33708 * util/mkisofs/tree.c: Likewise.
33709 * util/mkisofs/write.c: Likewise.
33710
1dabbc77
RM
337112009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33712
33713 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
33714 instead of static allocation.
33715 * util/mkisofs/match.h: Likewise.
33716
633877cb
RM
337172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33718
3bc7896c
RM
33719 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
33720 and `util/grub.d/10_linux.in'.
633877cb
RM
33721 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
33722 translatable Shell files.
33723
af1c0c85
RM
337242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
33725
33726 * Makefile.in ($(srcdir)/aclocal.m4): New target.
33727
769ae37b
RM
337282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33729
33730 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 33731 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
33732 * util/grub.d/10_kfreebsd.in (bindir): New variable.
33733 Add gettext initialization.
33734 (kfreebsd_entry): Make menuentry output translatable.
33735
337362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33737
33738 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
33739 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
33740 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
33741 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
33742 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 33743 * po/LINGUAS: New file.
769ae37b
RM
33744
337452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33746
33747 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
33748 other things).
33749 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
33750 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
33751 bindtextdomain() calls for gettext initialization.
33752
337532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33754
33755 * gnulib/progname.c: New file (imported from Gnulib).
33756 * gnulib/progname.h: Likewise.
33757 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33758 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
33759 (usage): Replace `progname' with `program_name'.
33760 (main): Use set_program_name() for program name initialization.
33761
337622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33763
33764 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
33765 from here ...
33766 * Makefile.in (CPPFLAGS): ... to here.
33767
337682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33769
33770 * aclocal.m4: Move from here ...
33771 * acinclude.m4: ... to here.
33772 * autogen.sh: Add call to `aclocal'.
33773 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
33774
337752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33776
33777 * Makefile.in (CLEANFILES): Add `po/*.mo'.
33778 (LINGUAS): New variable.
33779 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
33780 (install-local): Install MO files.
33781 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
33782 * include/grub/i18n.h: New file.
3bc7896c
RM
33783 * po/POTFILES: New file.
33784 * po/ca.po: New file.
769ae37b
RM
33785 * util/grub.d/10_linux.in (bindir): New variable.
33786 Add gettext initialization.
33787 (linux_entry): Make menuentry output translatable.
33788 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
33789 (usage): Make --help output translatable.
33790 (main): Initialize gettext.
33791
02c0a6ad
RM
337922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33793
33794 * import_gcry.py: New file (written by Vladimir with minor
33795 adjustments).
33796 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
33797 ciphers.
33798 * INSTALL: Document that Python is required for bootstrap.
33799
338002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
33801
33802 Import ciphers from libgcrypt 1.4.4.
33803
33804 * lib/libgcrypt/cipher/ChangeLog
33805 * lib/libgcrypt/cipher/ac.c
33806 * lib/libgcrypt/cipher/arcfour.c
33807 * lib/libgcrypt/cipher/bithelp.h
33808 * lib/libgcrypt/cipher/blowfish.c
33809 * lib/libgcrypt/cipher/camellia-glue.c
33810 * lib/libgcrypt/cipher/camellia.c
33811 * lib/libgcrypt/cipher/camellia.h
33812 * lib/libgcrypt/cipher/cast5.c
33813 * lib/libgcrypt/cipher/cipher.c
33814 * lib/libgcrypt/cipher/crc.c
33815 * lib/libgcrypt/cipher/des.c
33816 * lib/libgcrypt/cipher/dsa.c
33817 * lib/libgcrypt/cipher/ecc.c
33818 * lib/libgcrypt/cipher/elgamal.c
33819 * lib/libgcrypt/cipher/hash-common.c
33820 * lib/libgcrypt/cipher/hash-common.h
33821 * lib/libgcrypt/cipher/hmac-tests.c
33822 * lib/libgcrypt/cipher/md.c
33823 * lib/libgcrypt/cipher/md4.c
33824 * lib/libgcrypt/cipher/md5.c
33825 * lib/libgcrypt/cipher/primegen.c
33826 * lib/libgcrypt/cipher/pubkey.c
33827 * lib/libgcrypt/cipher/rfc2268.c
33828 * lib/libgcrypt/cipher/rijndael-tables.h
33829 * lib/libgcrypt/cipher/rijndael.c
33830 * lib/libgcrypt/cipher/rmd.h
33831 * lib/libgcrypt/cipher/rmd160.c
33832 * lib/libgcrypt/cipher/rsa.c
33833 * lib/libgcrypt/cipher/seed.c
33834 * lib/libgcrypt/cipher/serpent.c
33835 * lib/libgcrypt/cipher/sha1.c
33836 * lib/libgcrypt/cipher/sha256.c
33837 * lib/libgcrypt/cipher/sha512.c
33838 * lib/libgcrypt/cipher/tiger.c
33839 * lib/libgcrypt/cipher/twofish.c
33840 * lib/libgcrypt/cipher/whirlpool.c
33841
af2f93ac
RM
338422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33843
33844 Fix build for systems without error().
33845
33846 * gnulib/error.c: New file (imported from Gnulib).
33847 * gnulib/error.h: Likewise.
33848 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
33849 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
33850 (this variable is now used by error()).
33851
73fb3dd5
FZ
338522009-11-16 Felix Zielcke <fzielcke@z-51.de>
33853
814f5e96
FZ
33854 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
33855 instead of relying that char is signed.
73fb3dd5 33856
a691ca33
VS
338572009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
33858
33859 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
33860 blocksize different from specified.
33861 (grub_pxefs_read): Likewise.
33862
2af8f0f4
FZ
338632009-11-16 Felix Zielcke <fzielcke@z-51.de>
33864
33865 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
33866
33867 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
33868 (grub_ata_readwrite): Likewise. Update 2 format strings.
33869 (grub_atapi_read): Likewise.
33870
33871 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
33872 * conf/i386.rmk (pkglib_MODULES): ... to here ...
33873 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
33874 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
33875 (ata_mod_LDFLAGS): Move from here ...
33876 * conf/i386.rmk: ... to here ...
33877 * conf/x86_64-efi.rmk: ... and here.
33878 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
33879 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
33880
83bdecaf
RM
338812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
33882
33883 Relicense multiboot.h, with RMS' blessing.
33884
33885 * include/multiboot.h: Change to X11 license.
33886
fd6fd3d7
RM
338872009-11-15 Robert Millan <rmh.grub@aybabtu.com>
33888
33889 Support --version in grub-mkisofs.
33890
33891 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
33892 (OPTION_VERSION): New macro.
33893 (ld_options): Recognize --version.
33894 (usage): Move `program_name' from here ...
33895 (program_name): ... to here. Add `static' qualifier.
33896 (main): Recognize `OPTION_VERSION'.
33897
16a88c49
FZ
338982009-11-15 Felix Zielcke <fzielcke@z-51.de>
33899
33900 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
33901 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
33902
a4158476
RM
339032009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33904
33905 Fix help2man generation for mkisofs.
33906
33907 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
33908 (usage): Send output to stdout (rather than stderr).
33909
fc2208b0
RM
339102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
33911
33912 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
33913 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33914 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
33915 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
33916 (bin_SCRIPTS): Add `grub-mkfloppy'.
33917 (grub_mkfloppy_SOURCES): New variable.
33918
33919 * util/grub-mkrescue.in: New file.
33920 * util/i386/pc/grub-mkfloppy.in: New file.
33921
33922 * util/i386/coreboot/grub-mkrescue.in: Remove.
33923 * util/i386/pc/grub-mkrescue.in: Remove.
33924
8d0edf4a
RM
339252009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33926
33927 * include/grub/multiboot.h (struct grub_multiboot_header): Move
33928 from here ...
33929 * include/multiboot.h (struct multiboot_header): ... to here. Update
33930 all users.
33931 * include/grub/multiboot.h (struct grub_multiboot_info): Move
33932 from here ...
33933 * include/multiboot.h (struct multiboot_info): ... to here. Update
33934 all users.
33935 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
33936 from here ...
33937 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
33938 Update all users.
33939 * include/grub/multiboot.h (struct grub_mod_list): Move
33940 from here ...
33941 * include/multiboot.h (struct multiboot_mod_list): ... to here.
33942 Update all users.
33943
a73f5969
RM
339442009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33945
33946 * include/multiboot2.h (multiboot_word): Rename from this ...
33947 (multiboot2_word): ... to this. Update all users.
33948 (multiboot_header): Rename from this ...
33949 (multiboot2_header): ... to this. Update all users.
33950 (multiboot_tag_header): Rename from this ...
33951 (multiboot2_tag_header): ... to this. Update all users.
33952 (multiboot_tag_start): Rename from this ...
33953 (multiboot2_tag_start): ... to this. Update all users.
33954 (multiboot_tag_name): Rename from this ...
33955 (multiboot2_tag_name): ... to this. Update all users.
33956 (multiboot_tag_module): Rename from this ...
33957 (multiboot2_tag_module): ... to this. Update all users.
33958 (multiboot_tag_memory): Rename from this ...
33959 (multiboot2_tag_memory): ... to this. Update all users.
33960 (multiboot_tag_unused): Rename from this ...
33961 (multiboot2_tag_unused): ... to this. Update all users.
33962 (multiboot_tag_end): Rename from this ...
33963 (multiboot2_tag_end): ... to this. Update all users.
33964
1c8927f0
RM
339652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
33966
33967 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
33968 this platform we should support Multiboot1 first.
33969
33970 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
33971 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
33972 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
33973
6e1e0d89
RM
339742009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33975
33976 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
33977 of write calls (converting them to fwrite() if they aren't already).
33978 (get_torito_desc): Likewise.
33979 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
33980
7f2b34d8
RM
339812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
33982
33983 * util/i386/pc/grub-install.in: Move from here ...
33984 * util/grub-install.in: ... to here. Update all users.
33985
c0ef3311
CW
339862009-11-11 Colin Watson <cjwatson@ubuntu.com>
33987
33988 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
33989
e1f240ff
RM
339902009-11-11 Robert Millan <rmh.grub@aybabtu.com>
33991
33992 Support for El Torito without floppy emulation.
33993
33994 * util/mkisofs/eltorito.c: Include `<errno.h>'.
33995 (init_boot_catalog): Improve error handling.
33996 (get_torito_desc): Don't use floppy emulation unless requested by
33997 user. Patch boot information table when requested via
33998 `-boot-info-table'.
33999 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34000 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34001 (use_boot_info_table): New variables.
34002 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34003 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34004 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34005 `--eltorito-emul-floppy'.
34006 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34007 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34008 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34009 (use_boot_info_table, get_731): New prototypes.
34010 * util/mkisofs/write.c (get_731): New function.
34011
af7d4de5
FZ
340122009-11-11 Felix Zielcke <fzielcke@z-51.de>
34013
34014 Fix the generation of the man page.
34015
34016 * util/pc/i386/grub-install.in: Source
34017 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34018
2c55dbc0
RM
340192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34020
34021 Large file support for grub-mkisofs.
34022
34023 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34024 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34025 (session_start): Upgrade type to `uint64_t'. Update all users.
34026 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34027 (struct directory_entry): Upgrade type of `starting_block' and
34028 `size' to `uint64_t'. Update all users.
34029 (struct deferred): Remove unused structure.
34030 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34031 Update all users.
34032 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34033 file is larger than `UINT32_MAX'.
34034 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34035 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34036 return value.
34037 (struct deferred_write): Upgrade type of `extent' and `size' to
34038 `uint64_t'. Update all users.
34039 (last_extent_written): Upgrade type to `uint64_t'. Update all
34040 users.
34041 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34042 Update all users. Upgrade type of `remain' to `int64_t' and
34043 `use' to `size_t'. Use error() to handle fread() errors.
34044 (write_files): Rely on write_one_file() rather than calling
34045 xfwrite() directly.
34046
6a9cead5
FZ
340472009-11-09 Felix Zielcke <fzielcke@z-51.de>
34048
34049 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34050
4825d790
RM
340512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34052
34053 * util/mkisofs/fnmatch.c: Remove.
34054 * util/mkisofs/getopt1.c: Likewise.
34055 * util/mkisofs/getopt.c: Likewise.
34056 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34057 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34058 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34059 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34060 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34061
34062 * configure.ac: Detect `mingw32msvc' host_os.
34063 Check for lstat(), getuid() and getgid().
34064
34065 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34066 instances of `u_char' with `uint8_t'.
34067
34068 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34069 [!HAVE_GETUID] (getuid): New function (stub).
34070 [!HAVE_GETGID] (getgid): Likewise.
34071 [!HAVE_LSTAT] (lstat): Likewise.
34072 [!S_IROTH] (S_IROTH): New macro (dummy).
34073 [!S_IRGRP] (S_IRGRP): Likewise.
34074
84b860d8
RM
340752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34076
34077 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34078 conditional expression).
34079
66e9b712
RM
340802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34081
34082 Import from Gnulib.
34083
34084 * gnulib/fnmatch.c: New file.
34085 * gnulib/fnmatch.h: Likewise.
34086 * gnulib/fnmatch_loop.c: Likewise.
34087 * gnulib/getopt.c: Likewise.
34088 * gnulib/getopt.h: Likewise.
34089 * gnulib/getopt1.c: Likewise.
34090 * gnulib/getopt_int.h: Likewise.
34091 * gnulib/gettext.h: Likewise.
34092
34f4a5b0
RM
340932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34094
34095 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34096 * normal/handler.c (read_handler_list): Likewise.
34097
ac451143
RM
340982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34099
34100 Misc cleanup.
34101
34102 * kern/command.c (grub_register_command_prio): Use
34103 grub_zalloc() instead of explicitly zeroing data.
34104 * kern/list.c: Include `<grub/mm.h>'.
34105 (grub_named_list_find): Replace `0' with `NULL'.
34106 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34107 (fs_module_list): Change type to `grub_named_list_t'. Update all
34108 users.
34109 * normal/dyncmd.c (read_command_list): Add space between function
34110 call and parenthesis.
34111 * normal/handler.c (read_handler_list): Likewise.
34112
4089b167
RM
341132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34114
34115 * normal/auth.c (punishment_delay): Moved from here ...
34116 (grub_auth_strcmp): ... to here (inside function).
34117
325f5037
RM
341182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34119
34120 * include/grub/list.h (struct grub_named_list): Remove `const'
34121 qualifier from `name'.
34122 (struct grub_prio_list): Likewise.
34123
7aea29a3
RM
341242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34125
34126 * normal/auth.c: Include `<grub/time.h>'.
34127 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34128
3fd6f044
RM
341292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34130
34131 * normal/auth.c (punishment_delay): New variable.
34132 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34133 (grub_auth_check_authentication): Punish failed login attempts with
34134 an incremental (2^N) delay.
34135
a4cd68e4
RM
341362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34137
34138 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34139 path with $(srcdir).
34140
7ad12f43
VS
341412009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34142
34143 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34144
c1129f03
RM
341452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34146
34147 * util/i386/coreboot/grub-mkrescue.in: New file.
34148 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34149 variables.
34150
34151 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34152 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34153 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34154 requirements.
34155 * util/mkisofs/defaults.h: New file.
34156 * util/mkisofs/eltorito.c: Likewise.
34157 * util/mkisofs/exclude.h: Likewise.
34158 * util/mkisofs/fnmatch.c: Likewise.
34159 * util/mkisofs/getopt.c: Likewise.
34160 * util/mkisofs/getopt1.c: Likewise.
34161 * util/mkisofs/hash.c: Likewise.
34162 * util/mkisofs/include/fctldefs.h: Likewise.
34163 * util/mkisofs/include/mconfig.h: Likewise.
34164 * util/mkisofs/include/prototyp.h: Likewise.
34165 * util/mkisofs/include/statdefs.h: Likewise.
34166 * util/mkisofs/iso9660.h: Likewise.
34167 * util/mkisofs/joliet.c: Likewise.
34168 * util/mkisofs/match.c: Likewise.
34169 * util/mkisofs/match.h: Likewise.
34170 * util/mkisofs/mkisofs.c: Likewise.
34171 * util/mkisofs/mkisofs.h: Likewise.
34172 * util/mkisofs/multi.c: Likewise.
34173 * util/mkisofs/name.c: Likewise.
34174 * util/mkisofs/rock.c: Likewise.
34175 * util/mkisofs/tree.c: Likewise.
34176 * util/mkisofs/write.c: Likewise.
34177
ec8bb77d
VS
341782009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34179
34180 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34181 being insecure.
34182
3716b12c
RM
341832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34184
34185 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34186 `grub-mkimage' (and use $0 when possible).
34187
b97b7b91
RM
341882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34189
34190 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34191 error message for excessively large memory map.
34192
04114812
RM
341932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34194
34195 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34196 executable bit.
34197
e4eb2373
RM
341982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34199
34200 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34201 message for coreboot users.
34202
c926e1d5 342032009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34204
34205 Fix build with GNU gold.
34206
34207 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34208 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34209 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34210 link addresses.
34211 * aclocal.m4: Likewise.
34212
86e5b1db 342132009-11-04 Felix Zielcke <fzielcke@z-51.de>
34214
34215 * configure.ac (AC_PREREQ): Bump to 2.59d.
34216 * INSTALL: Make it more clear when Autoconf and Ruby are
34217 needed and when to run `./autogen.sh'.
34218
246cd78f 342192009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34220
34221 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34222 OSes.
34223
4f9dfb37 342242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34225
34226 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34227
b82bd5e1 342282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34229
34230 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34231 giving it to GNU Mach.
34232
ff1a9bca 342332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34234
34235 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34236 GNU partition number to get internal GRUB partition number.
34237
61697d9c 342382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34239
34240 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34241 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34242
a50569e1 342432009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34244
34245 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34246 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34247 case.
34248
5b153867 342492009-11-01 Felix Zielcke <fzielcke@z-51.de>
34250
34251 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34252
d9e2cd70 342532009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34254
34255 Fix build problem.
34256
34257 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34258 `-isystem=$(srcdir)/include'.
34259
805111a4 342602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34261
34262 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34263 checked (grub-install doesn't currently rely on it).
34264
fa6e945f 342652009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34266
34267 Revert SVN r2660.
34268
34269 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34270 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34271 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34272 * conf/i386-ieee1275.rmk: Likewise.
34273 * conf/i386-pc.rmk: Likewise.
34274 * conf/powerpc-ieee1275.rmk: Likewise.
34275 * conf/sparc64-ieee1275.rmk: Likewise.
34276 * conf/x86_64-efi.rmk: Likewise.
34277
cee15086 342782009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34279
34280 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34281
95b9239e 342822009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34283
34284 * include/grub/misc.h: Stop checking for APPLE_CC.
34285
2ed19dfd 342862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34287
34288 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34289 doesn't cause an infinite call loop.
34290
fdcdde19 342912009-10-28 Felix Zielcke <fzielcke@z-51.de>
34292
34293 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34294 strings.
34295
cefabfe1 342962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34297
34298 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34299 variable.
34300 * Makefile.in: Likewise.
34301
ed96ab6d 343022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34303
34304 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34305
0579b753 343062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34307
34308 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34309
478df409 343102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34311
34312 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34313
083d1679 343142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34315
34316 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34317 from here ...
34318 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34319
5947ae32 343202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34321
34322 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34323 in $(MAKEINFO) invocation. This makes it clear in output that
34324 errors are being ignored.
34325
94180ff6 343262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34327
34328 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34329 from here ...
34330 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34331 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34332 * conf/i386-ieee1275.rmk: Likewise.
34333 * conf/i386-pc.rmk: Likewise.
34334 * conf/powerpc-ieee1275.rmk: Likewise.
34335 * conf/sparc64-ieee1275.rmk: Likewise.
34336 * conf/x86_64-efi.rmk: Likewise.
34337
9031b03a 343382009-10-26 Colin Watson <cjwatson@ubuntu.com>
34339
34340 * util/grub-editenv.c (main): If only a command is given, use
34341 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34342 (usage): FILENAME is now optional and has a default.
34343
e4f6809b 343442009-10-26 Colin Watson <cjwatson@ubuntu.com>
34345
34346 Improve grub-mkconfig performance when there are several menu
34347 entries on a single filesystem.
34348
34349 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34350 prepare_grub_to_access_device.
34351 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34352 * util/grub.d/30_os-prober.in: Likewise.
34353
67937d4d 343542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34355
34356 * util/grub.d/10_freebsd.in: Remove.
34357 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34358 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34359
ee3756cc 343602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34361
5c35048e 34362 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 34363
4dea1c6f 343642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34365
34366 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34367 grub_util_error() call.
34368
042484d7 343692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34370
34371 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34372 `reserved_first_sector' member.
34373 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34374 `reserved_first_sector' to 1.
34375 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34376 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34377 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34378 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34379 filesystems which begin at first sector.
34380 (options): New option --skip-fs-probe.
34381 (main): Handle --skip-fs-probe and pass it to setup().
34382
d64448a7 343832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34384
34385 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34386 (memset): Fix function prototype.
34387
508d42ec 343882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
343892009-10-25 Vasily Averin <vvs@parallels.com>
34390
34391 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34392 `dirent.direntlen == 0'.
34393
b240e30c 343942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34395
34396 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34397 `cpio'.
34398 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34399
346e7fbe 344002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34401
34402 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34403 `__trampoline_setup' and `__ucmpdi2'.
34404 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34405 that libgcc provides.
34406
cdb308b0 344072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34408
34409 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34410 * include/grub/sparc64/libgcc.h (memset): Likewise.
34411 * include/grub/misc.h (memset, memcmp): New function prototypes.
34412
fb26abc2 344132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34414
34415 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34416 `cpio'.
34417 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34418
f6693890 344192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34420
34421 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34422 * docs/grub.cfg: Compensate for recent change in multiboot
34423 loader (since 2009-08-14 it won't pass filename to payload).
34424 * util/grub.d/10_hurd.in: Likewise.
34425
0933cdc0 344262009-10-21 Felix Zielcke <fzielcke@z-51.de>
34427
34428 * config.guess: Update to latest version from config git
34429 repository.
34430 * config.sub: Likewise.
34431
3b2fe8c2 344322009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34433
34434 Fix build on sparc64.
34435
34436 * configure.ac: Perform checks for libgcc symbols before
34437 adding `-nostdlib' to LDFLAGS.
34438
46695a62 344392009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34440
34441 Let user specify OpenBSD root device.
34442
34443 * loader/i386/bsd.c (openbsd_root): New variable.
34444 (openbsd_opts): New option 'root'.
34445 (OPENBSD_ROOT_ARG): New macro.
34446 (grub_openbsd_boot): Use 'openbsd_root'.
34447 (grub_cmd_openbsd): Fill 'openbsd_root'.
34448
d2b6b7fc 344492009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34450
34451 * NEWS: Misc adjustments.
34452
421bd7ac 344532009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34454
34455 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
34456
f1d29d87 344572009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34458
34459 * configure.ac: Bump version to 1.97.
34460
6f3cd880 344612009-10-16 Colin Watson <cjwatson@ubuntu.com>
34462
34463 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
34464 -mno-3dnow on x86 architectures. Some toolchains enable these
34465 features by default, but they rely on registers that aren't enabled
34466 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
34467
035f7122 344682009-10-15 Robert Millan <rmh.grub@aybabtu.com>
34469
34470 Make entry text a bit more readable.
34471
34472 * util/grub.d/10_linux.in: Add `with' before `Linux'.
34473
44998e58 344742009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34475
34476 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
34477
cd2851b3 344782009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34479
34480 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
34481 operations.
34482
c6f3b249 344832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34484
34485 * configure.ac: Add missing dollar.
34486
6b5886ba 344872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
34488
34489 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
34490
34491 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
34492 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
34493 exports.
34494 * include/grub/sparc64/libgcc.h: Likewise. Use
34495 preprocessor conditionals.
34496
e9d66f6d 344972009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34498
34499 * conf/common.rmk (grub-dumpbios): Remove rule.
34500 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
34501 * util/grub-dumpbios.in: Remove file.
34502
9155bc17 345032009-10-14 Robert Millan <rmh.grub@aybabtu.com>
34504
34505 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
34506 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
34507
34508 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
34509 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
34510 users.
34511
34512 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
34513 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
34514 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
34515 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
34516 users.
34517
bf7f7a18 345182009-10-12 Robert Millan <rmh.grub@aybabtu.com>
34519
34520 * term/tparm.c: Switch to GPLv3.
34521
86564c26 345222009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34523
34524 * include/grub/i386/cpuid.h: Add header protection.
34525
5c936493 345262009-10-09 Robert Millan <rmh.grub@aybabtu.com>
34527
34528 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
34529
34530 * include/grub/i386/cpuid.h: New file.
34531 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
34532 (has_longmode): Rename to ...
34533 (grub_cpuid_has_longmode): ... this. Update all users. Remove
34534 `static' attribute.
34535 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
34536 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
34537 on a CPU that doesn't implement AMD64 instruction set.
34538
186e7cf2 345392009-10-06 Colin Watson <cjwatson@ubuntu.com>
34540
34541 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
34542 that version.texi is rebuilt on version number changes.
34543
83b65c4a 345442009-10-06 Colin Watson <cjwatson@ubuntu.com>
34545
34546 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
34547 Fixes bug #27602.
34548
d244281c 345492009-10-06 Colin Watson <cjwatson@ubuntu.com>
34550
34551 * util/i386/pc/grub-install.in: Source
34552 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
34553 that the --grub-probe option will work.
34554 * util/sparc64/ieee1275/grub-install.in: Likewise.
34555
da25306d 345562009-10-05 Robert Millan <rmh.grub@aybabtu.com>
34557
34558 * configure.ac: Bump version to 1.97~beta4.
34559
e8ee83c0 345602009-10-03 Robert Millan <rmh.grub@aybabtu.com>
34561
34562 Resync grub-mkdevicemap in x86_64-efi.
34563
34564 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
34565 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
34566 `util/devicemap.c'.
34567
50dcabcf 345682009-10-01 Colin Watson <cjwatson@ubuntu.com>
34569
34570 * util/grub-editenv.c (create_envblk_file): Write new block with a
34571 .new suffix and then rename it into place, to ensure atomic
34572 creation.
34573
0e51c3a7 345742009-09-28 Robert Millan <rmh.grub@aybabtu.com>
34575
34576 Do not automatically install headers.
34577
34578 * Makefile.in (include_DATA): Remove. Update all users.
34579
31299a95 345802009-09-26 Robert Millan <rmh.grub@aybabtu.com>
34581
34582 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
34583 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
34584
34585 * util/osdetect.lua: Remove.
34586 * script/lua/lauxlib.c: Likewise.
34587 * script/lua/ldebug.c: Likewise.
34588 * script/lua/grub_main.c: Likewise.
34589 * script/lua/lauxlib.h: Likewise.
34590 * script/lua/ldebug.h: Likewise.
34591 * script/lua/ltablib.c: Likewise.
34592 * script/lua/liolib.c: Likewise.
34593 * script/lua/lstrlib.c: Likewise.
34594 * script/lua/lualib.h: Likewise.
34595 * script/lua/ldo.c: Likewise.
34596 * script/lua/ldump.c: Likewise.
34597 * script/lua/ldo.h: Likewise.
34598 * script/lua/loslib.c: Likewise.
34599 * script/lua/lundump.c: Likewise.
34600 * script/lua/grub_lib.c: Likewise.
34601 * script/lua/ldblib.c: Likewise.
34602 * script/lua/lundump.h: Likewise.
34603 * script/lua/lmem.c: Likewise.
34604 * script/lua/grub_lib.h: Likewise.
34605 * script/lua/lmathlib.c: Likewise.
34606 * script/lua/lstate.c: Likewise.
34607 * script/lua/ltm.c: Likewise.
34608 * script/lua/lvm.c: Likewise.
34609 * script/lua/lmem.h: Likewise.
34610 * script/lua/lstate.h: Likewise.
34611 * script/lua/ltm.h: Likewise.
34612 * script/lua/ltable.c: Likewise.
34613 * script/lua/lvm.h: Likewise.
34614 * script/lua/llex.c: Likewise.
34615 * script/lua/lgc.c: Likewise.
34616 * script/lua/grub_lua.h: Likewise.
34617 * script/lua/loadlib.c: Likewise.
34618 * script/lua/lfunc.c: Likewise.
34619 * script/lua/lopcodes.c: Likewise.
34620 * script/lua/lparser.c: Likewise.
34621 * script/lua/ltable.h: Likewise.
34622 * script/lua/llex.h: Likewise.
34623 * script/lua/lgc.h: Likewise.
34624 * script/lua/lfunc.h: Likewise.
34625 * script/lua/lbaselib.c: Likewise.
34626 * script/lua/lopcodes.h: Likewise.
34627 * script/lua/lparser.h: Likewise.
34628 * script/lua/lzio.c: Likewise.
34629 * script/lua/linit.c: Likewise.
34630 * script/lua/lobject.c: Likewise.
34631 * script/lua/llimits.h: Likewise.
34632 * script/lua/lstring.c: Likewise.
34633 * script/lua/lzio.h: Likewise.
34634 * script/lua/lapi.c: Likewise.
34635 * script/lua/lcode.c: Likewise.
34636 * script/lua/lua.h: Likewise.
34637 * script/lua/lobject.h: Likewise.
34638 * script/lua/lstring.h: Likewise.
34639 * script/lua/lapi.h: Likewise.
34640 * script/lua/lcode.h: Likewise.
34641 * script/lua/luaconf.h: Likewise.
34642
cb8a2c38 346432009-09-26 Colin Watson <cjwatson@ubuntu.com>
34644
34645 * docs/grub.texi (Command-line and menu entry commands): Document
34646 date and echo commands.
34647
6b9b6276 346482009-09-24 Pavel Roskin <proski@gnu.org>
34649
34650 * include/grub/kernel.h (struct grub_module_header): Remove
34651 `grub_module_header_types'. Make `type' unsigned. Make `size'
34652 32-bit on all platforms.
34653 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
34654 8-bit field. Use grub_host_to_target32() for `size'.
34655 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
34656 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
34657 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
34658
4e5a02a7 346592009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34660
34661 Fix "lost keypress" bug in at_keyboard.
34662
34663 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
34664 Checks for readyness of input buffer (without flushing it).
34665 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
34666 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
34667
c6dcedf6 346682009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34669
34670 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
34671 size check within GRUB_MACHINE_PCBIOS section.
34672
74c958b1 346732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
34674
34675 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
34676 return value.
34677 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
34678 KEYBOARD_ISREADY check.
34679 (grub_at_keyboard_checkkey): Rename to ...
34680 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
34681 Remove gratuitous cast.
34682
ff420223 346832009-09-23 Colin Watson <cjwatson@ubuntu.com>
34684
34685 * configure.ac: Call AC_PROG_MKDIR_P.
34686 * Makefile.in (docs/stamp-vti): Create docs directory. Create
34687 version.texi in $(builddir) rather than $(srcdir).
34688 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
34689 to makeinfo's @include search path.
34690
d96875df 346912009-09-23 Felix Zielcke <fzielcke@z-51.de>
34692
34693 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
34694
9b3f8365 346952009-09-23 Felix Zielcke <fzielcke@z-51.de>
34696
34697 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
34698 for `*.dpkg-new'.
34699
c44c90db 347002009-09-21 Colin Watson <cjwatson@ubuntu.com>
34701
34702 Build info documentation. Some code borrowed from Automake.
34703
34704 * configure.ac: Check for makeinfo.
34705 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
34706 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
34707 docs/version.texi.
34708 (MOSTLYCLEANFILES): Add vti.tmp.
34709 (docs/version.texi, docs/stamp-vti): Update automatically.
34710 (docs/grub.info): Build info documentation. Use --force and ignore
34711 errors for now.
34712 (all-local): Add $(INFOS).
34713 (install-local): Install info files.
34714 (uninstall): Uninstall info files.
34715 * docs/version.texi: Remove from revision control. This file is
34716 automatically generated on build now.
34717 * gendistlist.sh: Add `*.info'.
34718
e0b37bb5 347192009-09-21 Felix Zielcke <fzielcke@z-51.de>
34720
34721 * kern/term.c: Fix indentation.
34722
5a78865b 347232009-09-21 Felix Zielcke <fzielcke@z-51.de>
34724
34725 * util/hostdisk.c: Fix a comment.
34726
dace7e8a 347272009-09-20 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 Fix regression introduced in r2539.
34730
34731 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
34732 to 0xA1.
34733
a83d079b 347342009-09-19 Colin Watson <cjwatson@ubuntu.com>
34735
34736 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 34737 os-prober. Under normal operation, it does not print anything to
34738 stderr; if it does, we need to debug it, and throwing away stderr
34739 makes that excessively difficult.
a83d079b 34740
be94a509 347412009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
34742
34743 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
34744
63f745e8 347452009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34746
34747 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
34748 AC_LANG_PROGRAM from autoconf.
34749 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
34750 prototypes (fixes warning).
34751
34752 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
34753 `--disable-werror' was used.
34754
bbb2a70f 347552009-09-16 Robert Millan <rmh.grub@aybabtu.com>
34756
34757 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
34758 uninitialized `lastaddr'.
34759
77c24f1d 347602009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
34761
0f0b8c87 34762 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 34763
07197f23 347642009-09-14 Colin Watson <cjwatson@ubuntu.com>
34765
34766 * commands/test.c (get_fileinfo): Return immediately if
34767 grub_fs_probe fails.
34768
dabf1798 347692009-09-14 José Martínez <xosemp@gmail.com>
34770
34771 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
34772
d52109a7 347732009-09-14 Colin Watson <cjwatson@ubuntu.com>
34774
34775 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
34776 output.
34777
56532179 347782009-09-13 Robert Millan <rmh.grub@aybabtu.com>
34779
34780 * configure.ac: Remove --enable-grub-pe2elf. Only build
34781 grub-pe2elf when needed by the build system itself.
34782 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
34783
8ef070f5 347842009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34785
34786 * configure.ac: Bump version to 1.97~beta3.
34787 * docs/version.texi: Likewise.
34788
61229557 347892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34790
34791 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
34792 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
34793 from here ...
34794 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
34795 (grub_linux_setup_video): ... to here (with some adjustments).
34796
5c9f8d84 347972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
34798
34799 Fix memory corruption issue (spotted by Colin Watson).
34800
34801 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
34802 causing returned size to be stored in an incorrect memory location.
34803 Fix use of uninitialized value when storing the returned size.
34804
e8f5d6e9 348052009-09-12 Yves Blusseau <blusseau@zetam.org>
34806
34807 Change clean rules to properly remove files
34808
34809 * genmk.rb: add new clean rules
34810 * Makefile.in (clean): add the new targets
34811 (mostlyclean): likewise
34812
cda2a409 348132009-09-11 Colin Watson <cjwatson@ubuntu.com>
34814
34815 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
34816 to grub_uint64_t.
34817 * fs/ntfs.c (init_file): Understand 64-bit sizes for
34818 non-resident files.
34819
86695375 348202009-09-11 Colin Watson <cjwatson@ubuntu.com>
34821
34822 * configure.ac: Don't look for help2man when cross-compiling. Fixes
34823 part of bug #27349.
34824
8aa1541a 348252009-09-10 Felix Zielcke <fzielcke@z-51.de>
34826
34827 * util/grub-mkconfig.in: Make the created config mode 400 and
34828 print a warning if it fails.
34829
48d9bb0a 348302009-09-10 Robert Millan <rmh.grub@aybabtu.com>
34831
34832 * util/grub.d/40_custom.in: Ask user to type custom entries below
34833 comment, rather than below 'exec tail' line.
34834
3b0521be 348352009-09-10 Colin Watson <cjwatson@ubuntu.com>
34836
34837 * util/grub.d/40_custom.in: Make sure that the explanatory text is
34838 visible in grub.cfg.
34839
50051d55 348402009-09-10 Colin Watson <cjwatson@ubuntu.com>
34841
34842 * util/grub.d/40_custom.in: Make it a little clearer how to use this
34843 file.
34844
c0d34387 348452009-09-10 Felix Zielcke <fzielcke@z-51.de>
34846
34847 * docs/grub.cfg: Add an example menu entry for memtest86+.
34848
80a608f3 348492009-09-09 Felix Zielcke <fzielcke@z-51.de>
34850
a2094832 34851 * config.guess: Update to latest version from config git.
80a608f3 34852 * config.sub: Likewise.
34853
99423078 348542009-09-08 Colin Watson <cjwatson@ubuntu.com>
34855
34856 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
34857 unknown-command case. Fixes bug #27320.
34858
44454e4c 348592009-09-08 Felix Zielcke <fzielcke@z-51.de>
34860
34861 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
34862 `help' if the command exists.
34863
e30d87ad 348642009-09-06 Robert Millan <rmh.grub@aybabtu.com>
34865
34866 * INSTALL: Require GCC 4.1.3 or later.
34867
9a86f1ec 348682009-09-06 Yves Blusseau <blusseau@zetam.org>
34869
34870 * Makefile.in (RMKFILES): add i386-qemu.rmk
34871 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
34872 $(srcdir)/stamp-h.in
34873
7f26d466 348742009-09-05 Robert Millan <rmh.grub@aybabtu.com>
34875
34876 * util/grub-probe.c (probe): Comment out buggy codepath, which
34877 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
34878 should be re-enabled after 1.97.
34879
3a613259 348802009-09-05 Felix Zielcke <fzielcke@z-51.de>
34881
34882 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
34883 find searches for.
34884
197f76c7 348852009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
34886
34887 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
34888 unnecessary calls to grub_error.
34889
70ba68ce 348902009-09-04 Colin Watson <cjwatson@ubuntu.com>
34891
34892 * NEWS: Mention `keystatus' and Unicode fonts.
34893
4ff0d7a4 348942009-09-04 Robert Millan <rmh.grub@aybabtu.com>
34895
34896 * configure.ac: Bump version to 1.97~beta2.
34897 * docs/version.texi: Likewise.
34898
77c55a87 348992009-09-03 Colin Watson <cjwatson@ubuntu.com>
34900
34901 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
34902 containing unwind information in some cases where it previously did
34903 not. Use -fno-dwarf2-cfi-asm if available to restore the old
34904 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
34905 discussion.
34906
f79572cd 349072009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
34908
34909 Embedding loadenv module into grub-emu
34910
34911 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
34912 commands/loadenv.c
34913 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
34914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
34915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
34916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
34917 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
34918 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
34919
93a81088 349202009-09-03 Magnus Granberg <zorry@ume.nu>
34921
34922 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
34923 include -fPIE in the default specs.
34924 * configure.ac: Check if pie_possible is yes and add -fno-PIE
34925 to TARGET_CFLAGS.
34926
160034b2 349272009-09-03 Felix Zielcke <fzielcke@z-51.de>
34928
34929 * INSTALL: Note that GNU Bison 2.3 or later is required.
34930
087c07c4 349312009-09-03 Colin Watson <cjwatson@ubuntu.com>
34932
34933 * kern/i386/pc/startup.S: Fix typo.
34934
cbf978c0 349352009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
34936
34937 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
34938 according to GCS.
34939
349402009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 34941
34942 * docs/grub.texi (Naming convention): Describe one-based partition
34943 numbering.
34944 (Device syntax): Likewise.
34945 (File name syntax): Likewise.
34946 (Block list syntax): Likewise.
34947 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
34948 menu.lst.
34949 (File name syntax): Likewise.
34950 (Command-line and menu entry commands): Document acpi, blocklist,
34951 crc, export, insmod, keystatus, ls, set, and unset commands.
34952
f3e8cdfd 349532009-09-02 Colin Watson <cjwatson@ubuntu.com>
34954
34955 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
34956 to avoid implying that only one of --shift, --ctrl, or --alt may be
34957 used.
34958
c0bc232b 349592009-09-02 Colin Watson <cjwatson@ubuntu.com>
34960
34961 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
34962 rather than comparing against S_IFREG, which will almost never work.
34963
aa0f752d 349642009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
34965
34966 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
34967 (write_blocklists): Likewise.
34968
ecb3166a 349692009-09-01 Colin Watson <cjwatson@ubuntu.com>
34970
34971 * script/lua/grub_lua.h (fputs): Supply a format string as the first
34972 argument to grub_printf.
34973
c403a125 349742009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 34975
34976 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 34977 non GNU test.
31aba781 34978
b5e7312c 349792009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34980
34981 * kern/file.c (grub_file_read): Spelling fix
34982
fe00f472 349832009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
34984
34985 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
34986 loading of headers in some cases.
34987
cc55302e 349882009-08-30 Robert Millan <rmh.grub@aybabtu.com>
34989
34990 * configure.ac: Bump version to 1.97~beta1.
34991 * docs/version.texi: Likewise.
34992
5c90cdd2 349932009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 34994
34995 * include/grub/i386/xnu.h: Add license header.
34996 include grub/err.h explicitly.
34997
c90edae4 349982009-08-29 Robert Millan <rmh.grub@aybabtu.com>
34999
35000 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35001 to `ufs' in the vfs.root.mountfrom kernel parameter.
35002
d8888b5c 350032009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35004
35005 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35006
35007 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35008 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35009
35010 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35011 `ARRAY_SIZE' macro.
35012
6f07b921 350132009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35014
35015 * kern/file.c (grub_file_read): Check offset.
35016 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35017 * fs/jfs.c (grub_jfs_read_file): Likewise.
35018 * fs/ntfs.c (grub_ntfs_read): Likewise.
35019 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35020 * fs/minix.c (grub_minix_read_file): Correct offset check.
35021 * fs/ufs.c (grub_ufs_read_file): Likewise.
35022
b4f34077 350232009-08-28 Colin Watson <cjwatson@ubuntu.com>
35024
35025 * term/i386/pc/console.c (bios_data_area): Cast
35026 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35027
e7c69859 350282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35029
35030 1-bit optimised blitters.
35031
35032 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35033 prototype.
35034 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35035 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35036 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35037 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35038 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35039 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35040 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35041 function.
35042 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35043 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35044 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35045 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35046 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35047 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35048 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35049 when possible.
35050 * video/video.c (grub_video_get_blit_format): Return
35051 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35052
a57da43f 350532009-08-28 Colin Watson <cjwatson@ubuntu.com>
35054
35055 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35056 the first argument to grub_printf.
35057
4cbe67e5 350582009-08-28 Colin Watson <cjwatson@ubuntu.com>
350592009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35060
35061 Add `getkeystatus' terminal method. Add a new `keystatus' command
35062 to query it.
35063
35064 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35065 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35066 modifier key bitmasks.
35067 (struct grub_term_input): Add `getkeystatus' member.
35068 (grub_getkeystatus): Add prototype.
35069 * kern/term.c (grub_getkeystatus): New function.
35070
35071 * include/grub/i386/pc/memory.h
35072 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35073 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35074 Data Area layout.
35075 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35076 (grub_console_term_input): Set `getkeystatus' member.
35077 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35078 constants.
35079 (grub_usb_keyboard_getreport): Likewise.
35080 (grub_usb_keyboard_checkkey): Likewise.
35081 (grub_usb_keyboard_getkeystatus): New function.
35082 (grub_usb_keyboard_term): Set `getkeystatus' member.
35083
35084 * commands/keystatus.c: New file.
35085 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35086 (keystatus_mod_SOURCES): New variable.
35087 (keystatus_mod_CFLAGS): Likewise.
35088 (keystatus_mod_LDFLAGS): Likewise.
35089 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35090 commands/keystatus.c.
35091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35092 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35093 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35094 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35096 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 35097
6e2a9085 350982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35099
35100 Split befs.mod and afs.mod into *_be.mod and *.mod
35101
35102 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35103 (grub_fstest_SOURCES): Likewise.
35104 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35105 (afs_be_mod_SOURCES): New variable.
35106 (afs_be_mod_CFLAGS): Likewise.
35107 (afs_be_mod_LDFLAGS): Likewise.
35108 (befs_be_mod_SOURCES): Likewise.
35109 (befs_be_mod_CFLAGS): Likewise.
35110 (befs_be_mod_LDFLAGS): Likewise.
35111 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35112 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35114 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35115 (grub_emu_SOURCES): Likewise.
35116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35117 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35118 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35119 * fs/afs_be.c: New file.
35120 * fs/befs_be.c: New file.
35121 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35122 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35123 (U16): Replaced with ...
35124 (grub_afs_to_cpu16): ...this. All users updated.
35125 (U32): Replaced with ...
35126 (grub_afs_to_cpu32): ...this. All users updated.
35127 (U64): Replaced with ...
35128 (grub_afs_to_cpu64): ...this. All users updated.
35129 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35130 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 35131 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 35132 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35133 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35134 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35135 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35136 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35137 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35138 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35139 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35140
32a71655 351412009-08-26 Bean <bean123ch@gmail.com>
35142
35143 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35144 64-bit number.
35145 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35146 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35147 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35148
552bf6c5 351492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35150
35151 NetBSD memory map support.
35152
35153 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35154 (grub_netbsd_btinfo_mmap_header): New structure.
35155 (grub_netbsd_btinfo_mmap_entry): Likewise.
35156 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35157
1ae2078c 351582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35159
35160 Enable bsd.mod on coreboot.
35161
35162 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35163 (bsd_mod_SOURCES): New variable.
35164 (bsd_mod_CFLAGS): Likewise.
35165 (bsd_mod_LDFLAGS): Likewise.
35166 (bsd_mod_ASFLAGS): Likewise.
35167 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35168 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35169
beefc598 351702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 Cleanup NetBSD root support.
35173
35174 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35175 grub_bsd_get_device.
35176 Fix typo.
35177
3b76e68b 351782009-08-25 Felix Zielcke <fzielcke@z-51.de>
35179
35180 * util/grub.d/00_header.in: Move check for the video backend of
35181 gfxterm from here ...
35182 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35183 a suitable video backend.
35184
aea664ea 351852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35186
35187 Fix breakage in grub-setup.
35188
35189 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35190 "msdos_partition_map".
35191
ff747d50 351922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35193
35194 Fix breakage in normal/auth.c.
35195
35196 * normal/auth.c (grub_iswordseparator): New function.
35197
e7e1f93f 351982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35199
35200 Authentication support.
35201
35202 * commands/password.c: New file.
35203 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35204 (password_mod_SOURCES): New variable.
35205 (password_mod_CFLAGS): Likewise.
35206 (password_mod_LDFLAGS): Likewise.
35207 (normal_mod_SOURCES): Add normal/auth.c.
35208 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35209 normal/auth.c.
35210 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35212 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35214 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35215 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35216 * include/grub/auth.h: New file.
35217 * include/grub/err.h (grub_err_t): New enum value
35218 GRUB_ERR_ACCESS_DENIED.
35219 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35220 'users'.
35221 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35222 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35223 users updated.
35224 * normal/auth.c: New file.
35225 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35226 (grub_cmdline_run): Don't allow to go to command line without
35227 authentication.
35228 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35229 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35230 menuentry without superuser rights.
35231 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35232 user isn't a superuser.
35233
70f1161d 352342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35235
35236 Save space by inlining misc.c functions.
35237
35238 * kern/misc.c (grub_iswordseparator): Made static.
35239 * kern/misc.c (grub_strcat): Moved from here ...
35240 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35241 * kern/misc.c (grub_strncat): Moved from here ...
35242 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35243 * kern/misc.c (grub_strcasecmp): Moved from here ...
35244 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35245 * kern/misc.c (grub_strncasecmp): Moved from here ...
35246 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35247 * kern/misc.c (grub_isalpha): Moved from here ...
35248 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35249 * kern/misc.c (grub_isdigit): Moved from here ...
35250 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35251 * kern/misc.c (grub_isgraph): Moved from here ...
35252 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35253 * kern/misc.c (grub_tolower): Moved from here ...
35254 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35255
48e40bff 352562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35257
35258 * script/sh/function.c (grub_script_function_find): Cut error message
35259 not to flood terminal.
35260 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35261 limit.
35262 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35263
c385bfc3 352642009-08-24 Colin Watson <cjwatson@ubuntu.com>
35265
35266 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35267 `report' grub_uint8_t *.
35268 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35269 Use a 50-millisecond timeout rather than just repeating
35270 grub_usb_keyboard_getreport 50 times.
35271 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35272
2d21e3e8 352732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35274
35275 Rename *_partition_map to part_*
35276
35277 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35278 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35279 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35280 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35281 All users updated.
35282 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35283 All users updated.
35284 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35285 * util/grub-probe.c (probe_partmap): Don't transform partition name
35286 to get module name.
35287
dd103c4e 352882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35289
35290 Fix OpenBSD and NetBSD support.
35291
35292 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35293 memory address conflict.
35294 (OPENBSD_MMAP_ACPI): New definition.
35295 (OPENBSD_MMAP_NVS): Likewise.
35296 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35297 and OPENBSD_MMAP_NVS.
35298 Add memory map terminator
35299 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 35300 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 35301
16c84d74 353022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35303
35304 Let user specify NetBSD root device.
35305
35306 * loader/i386/bsd.c (netbsd_root): New variable.
35307 (netbsd_opts): New option 'root'.
35308 (NETBSD_ROOT_ARG): New macro.
35309 (grub_netbsd_boot): Use 'netbsd_root'.
35310 (grub_bsd_unload): Free 'netbsd_root'.
35311 (grub_cmd_netbsd): Fill 'netbsd_root'.
35312
adb29902 353132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35314
35315 Support for 64-bit NetBSD.
35316
35317 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35318 point when booting non-FreeBSD.
35319
f5ae9f74 353202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35321
35322 Support --no-smp and --no-acpi for NetBSD.
35323
35324 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35325 (NETBSD_AB_NOACPI): Likewise.
35326 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35327 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35328
de74f136 353292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35330
35331 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35332 errors.
35333 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35334 errors. Call grub_error when needed.
35335
e9a925da 353362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35337
35338 * commands/search.c (search_fs): Try searching without autoload first.
35339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35340 filesystem module explicitly for faster booting.
35341
5174302b 353422009-08-23 Colin Watson <cjwatson@ubuntu.com>
35343
35344 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35345
c8c80635 353462009-08-23 Colin Watson <cjwatson@ubuntu.com>
35347
35348 * util/grub.d/30_os-prober.in: Disable os-prober if
35349 `GRUB_DISABLE_OS_PROBER' was set to true.
35350
71acf5e5 353512009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35352
35353 * partmap/pc.c: Rename to ...
35354 * partmap/msdos.c: ... this. Update all users.
35355 (grub_pc_partition_map): Rename to ...
35356 (grub_msdos_partition_map): ... this. Update all users.
35357
35358 * parttool/pcpart.c: Rename to ...
35359 * parttool/msdospart.c: ... this. Update all users.
35360
35361 * include/grub/pc_partition.h: Rename to ...
35362 * include/grub/msdos_partition.h: ... this. Update all users.
35363 (grub_pc_partition_bsd_entry): Rename to ...
35364 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35365 (grub_pc_partition_disk_label): Rename to ...
35366 (grub_msdos_partition_disk_label): ... this. Update all users.
35367 (grub_pc_partition_entry): Rename to ...
35368 (grub_msdos_partition_entry): ... this. Update all users.
35369 (grub_pc_partition_mbr): Rename to ...
35370 (grub_msdos_partition_mbr): ... this. Update all users.
35371 (grub_pc_partition): Rename to ...
35372 (grub_msdos_partition): ... this. Update all users.
35373 (grub_pc_partition_is_empty): Rename to ...
35374 (grub_msdos_partition_is_empty): ... this. Update all users.
35375 (grub_pc_partition_is_extended): Rename to ...
35376 (grub_msdos_partition_is_extended): ... this. Update all users.
35377 (grub_pc_partition_is_bsd): Rename to ...
35378 (grub_msdos_partition_is_bsd): ... this. Update all users.
35379
35380 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35381 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35382 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35383 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35384 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35385 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35386 (gpt_mod_LDFLAGS): Rename to ...
35387 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35388 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35389 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35390 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35391 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35392 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35393 (part_gpt_mod_LDFLAGS): ... this.
35394 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35395 `pcpart.mod' to `msdospart.mod'.
35396 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35397 to ...
35398 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35399 (msdospart_mod_LDFLAGS): ... this.
35400
c11fded5 354012009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35402
35403 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35404 (openbsd_opts): Likewise.
35405 (netbsd_opts): Likewise.
35406 (freebsd_flags): Added 0 terminator.
35407 (openbsd_flags): Likewise.
35408 (netbsd_flags): Likewise.
35409 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35410 (grub_cmd_freebsd): Transformed into extended command.
35411 (grub_cmd_openbsd): Likewise.
35412 (grub_cmd_netbsd): Likewise.
35413 (cmd_freebsd): Changed type to grub_extcmd_t.
35414 (cmd_openbsd): Likewise.
35415 (cmd_netbsd): Likewise.
35416 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35417 grub_cmd_openbsd as extended commands.
35418 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35419 cmd_netbsd and cmd_openbsd
35420
11d1c769 354212009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35422
35423 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35424
7a9094e5 354252009-08-21 Pavel Roskin <proski@gnu.org>
35426
5496c37e 35427 * Makefile.in (install-local): When checking if a file is in the
35428 build directory, use "test -e" to detect symlinks.
35429
7a9094e5 35430 * Makefile.in (install-local): Remove all files in
35431 $(DESTDIR)$(pkglibdir) before installing new files there.
35432
e53cea11 354332009-08-18 Felix Zielcke <fzielcke@z-51.de>
35434
35435 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35436 grub-mkelfimage.
35437
9aced544 354382009-08-18 Felix Zielcke <fzielcke@z-51.de>
35439
35440 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35441 explicitly specified by the user.
35442
b7da6bab 354432009-08-18 Pavel Roskin <proski@gnu.org>
35444
35445 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35446 grub_uint8_t pointer for data.
35447 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35448 Likewise.
35449 * video/fb/fbutil.c: Remove unnecessary casts.
35450
19f1b335 354512009-08-17 Michal Suchanek <hramrach@centrum.cz>
35452
35453 VBE cleanup.
35454
35455 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
35456 (grub_vbe_set_video_mode): Save active mode info
35457 only after setting the mode.
35458 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
35459 second argument.
35460
2f467aa9 354612009-08-17 Michal Suchanek <hramrach@centrum.cz>
35462
35463 Rename variables for clarity.
35464
35465 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
35466 (active_vbe_mode_info): ... this. All users updated.
35467 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
35468 All users updated.
35469 (initial_mode): Rename to ...
35470 (initial_vbe_mode): ... this. All users updated.
35471 (mode_in_use): Rename to ..
35472 (vbe_mode_in_use): ... this. All users updated.
35473 (mode_list): Rename to ..
35474 (vbe_mode_list): ... this. All users updated.
35475 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
35476 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
35477 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
35478 'mode_list_size' to 'vbe_mode_list_size'.
35479 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
35480 'best_mode_info' to 'best_vbe_mode_info' and
35481 'best_mode' to 'best_vbe_mode'
35482
6025fcd7 354832009-08-17 Michal Suchanek <hramrach@centrum.cz>
35484
35485 Remove duplicate grub_video_fb_get_video_ptr.
35486
35487 * include/grub/fbutil.h (get_data_ptr): Rename to ...
35488 (grub_video_fb_get_video_ptr): ... this.
35489 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
35490 * video/fb/fbutil.c: Add comment about addressing.
35491 (get_data_ptr): Rename to ...
35492 (grub_video_fb_get_video_ptr): ... this. All users updated.
35493 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
35494
cc8c6faf 354952009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35496
35497 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
35498 grub_dprintf() that was just added.
35499
08aa61f0 355002009-08-17 Robert Millan <rmh.grub@aybabtu.com>
35501
35502 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
35503 (DEFAULT_VIDEO_MODE): Remove macros.
35504 (grub_linux_boot): Remove assumption that Linux has FB support,
35505 and use "text" as default video mode.
35506
7cef4f75 355072009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
35508
35509 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
35510 grub_dprintf.
35511 * fs/fat.c (grub_fat_read_data): Likewise.
35512
e1f39873 355132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35514
35515 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
35516 payload.
35517 (grub_module): Likewise.
35518
c166d79e 355192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35520
35521 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
35522 mbi->cmdline but free playground.
35523
c60cee8e 355242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35525
35526 Handle group offset on UFS1.
35527
35528 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
35529 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
35530
c0d8b5d4 355312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35532
35533 Split ufs.mod into ufs1.mod and ufs2.mod.
35534
35535 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
35536 (grub_fstest_SOURCES): Likewise.
35537 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
35538 (ufs_mod_SOURCES): Remove.
35539 (ufs_mod_CFLAGS): Likewise.
35540 (ufs_mod_LDFLAGS): Likewise.
35541 (ufs1_mod_SOURCES): New variable.
35542 (ufs1_mod_CFLAGS): Likewise.
35543 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 35544 (ufs2_mod_SOURCES): New variable.
35545 (ufs2_mod_CFLAGS): Likewise.
35546 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 35547 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
35548 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35549 Likewise.
35550 (grub_emu_SOURCES): Likewise.
35551 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35552 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35553 (grub_setup_SOURCES): Likewise.
35554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35555 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
35556 (grub_setup_SOURCES): Likewise.
35557 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
35558 Likewise.
35559 * fs/ufs2.c: New file.
35560 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
35561
d3539132 355622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
35563
35564 Framebuffer split.
35565
35566 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
35567 subsystem at the end.
35568 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
35569 (video_fb_mod_SOURCES): New variable.
35570 (video_fb_mod_CFLAGS): Likewise.
35571 (video_fb_mod_LDFLAGS): Likewise.
35572 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
35573 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
35574 * video/i386/pc/vbeblit.c: Moved from here ...
35575 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
35576 * video/i386/pc/vbefill.c: Moved from here ...
35577 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
35578 * video/i386/pc/vbeutil.c: Moved from here ...
35579 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
35580 * include/grub/i386/pc/vbeblit.h: Moved from here ...
35581 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
35582 * include/grub/i386/pc/vbefill.h: Moved from here ...
35583 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
35584 * include/grub/i386/pc/vbeutil.h: Moved from here ...
35585 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
35586 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
35587 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
35588 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
35589 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
35590 (grub_video_adapter): Added 'get_info_and_fini'.
35591 (grub_video_get_info_and_fini): New prototype.
35592 (grub_video_set_mode): make modestring const char *.
35593 * loader/i386/linux.c (grub_linux_setup_video): Use
35594 grub_video_get_info_and_fini.
35595 (grub_linux_boot): Move modesetting just before booting.
35596 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
35597 grub_video_get_info_and_fini.
35598 * video/i386/pc/vbe.c: Moved framebuffer part ...
35599 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
35600 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
35601 grub_video_fbstd_colors and grub_video_fb_set_palette.
35602 (grub_video_vbe_init): Clear 'framebuffer' variable and use
35603 grub_video_fb_init.
35604 (grub_video_vbe_fini): Use grub_video_fb_fini.
35605 (grub_video_vbe_setup): Use framebuffer.render_target instead of
35606 render_target and use grub_video_fb_set_active_render_target and
35607 grub_video_fb_set_palette.
35608 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
35609 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
35610 (grub_video_vbe_adapter): Use framebuffer.
35611 * video/video.c (grub_video_get_info_and_fini): New function.
35612 (grub_video_set_mode): Make modestring const char *.
35613 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
35614 values are already initialised.
35615
d404ee56 356162009-08-14 Pavel Roskin <proski@gnu.org>
35617
35618 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
35619 ABS and APPLE_CC.
35620 * boot/i386/pc/diskboot.S: Likewise.
35621 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
35622 sectors allow compilation on MacOSX.
35623 * conf/i386-pc.rmk: Enable unconditional compilation of
35624 lnxboot.img.
35625
9a10df16 356262009-08-13 Colin Watson <cjwatson@ubuntu.com>
35627
35628 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
35629 * util/grub.d/00_header.in: Enter interruptible sleep if
35630 GRUB_HIDDEN_TIMEOUT is set.
35631
be3c9ca7 356322009-08-13 Yves Blusseau <blusseau@zetam.org>
35633
35634 * include/grub/symbol.h: Add the LOCAL macro.
35635 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
35636 starting with "L_".
35637
1f9e557e 356382009-08-13 Pavel Roskin <proski@gnu.org>
35639
9ca62843 35640 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
35641 any modern compilers we support.
35642
1f9e557e 35643 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
35644 Use local labels starting with "L_" so that Apple assembler
35645 knows they are local.
35646
81623db6 356472009-08-10 Robert Millan <rmh.grub@aybabtu.com>
35648
35649 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
35650 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
35651 (bsd_kernel_types): ... this enum.
35652
35653 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
35654 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
35655 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
35656
35657 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
35658 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
35659 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
35660 messages.
35661
f5d35e7a 356622009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35663
35664 * util/grub-dumpdevtree: Moved from here ...
35665 * util/i386/efi/grub-dumpdevtree: ... to here.
35666 (hexify): New function. Converts a string to its hex version.
35667 Generate hex versions of "efi" and "device-properties" by calling
35668 hexify() on the ASCII strings rather than by hardcoding numbers.
35669
d1e1d527 356702009-08-08 Robert Millan <rmh.grub@aybabtu.com>
35671
35672 * fs/jfs.c: Update copyright year.
35673
1ebbe064 356742009-08-08 Felix Zielcke <fzielcke@z-51.de>
35675
35676 * util/grub.d/00_header.in: Fix a comment.
35677 * util/grub.d/10_linux.in: Likewise.
35678 * util/grub.d/10_windows.in: Likewise.
35679 * util/grub.d/10_hurd.in: Likewise.
35680
a78c8d24 356812009-08-08 Felix Zielcke <fzielcke@z-51.de>
35682
35683 * util/grub-mkconfig.in: Allow the user to specify the used font
35684 with GRUB_FONT.
35685
29a6b9e8 356862009-08-08 Pavel Roskin <proski@gnu.org>
35687
b5f16cc4 35688 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
35689 available, xfs.mod needs it now.
35690
2f5cb827 35691 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
35692 the "g" modifier in sed when the intention is to strip something
35693 once. This fixes comparison of kernels with multiple dashes.
35694
29a6b9e8 35695 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
35696 on it. Add missing space before closing bracket. Fix
35697 misleading formatting.
35698
892a3d98 356992009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35700
35701 * docs/grub.texi: Major overhaul. Remove all sections that are
35702 specific to GRUB Legacy, or mostly composed of Legacy-specific
35703 information.
35704
ed94253f 357052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35706
35707 * docs/version.texi: New file. Provides version information for
35708 grub.texi.
35709
126d6628 357102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35711
35712 * docs/grub.texi: Update CVS information to SVN.
35713 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
35714
998b5aa9 357152009-08-07 Felix Zielcke <fzielcke@z-51.de>
35716
35717 * util/grub-mkconfig.in: Remove a wrong `fi'.
35718
818e094a 357192009-08-07 Felix Zielcke <fzielcke@z-51.de>
35720
35721 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
35722 (grub_jfs_uuid): New function.
35723 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
35724
b969c52f 357252009-08-07 Felix Zielcke <fzielcke@z-51.de>
35726
35727 * util/grub-mkconfig_lib.in (font_path): Move the functionality
35728 of it to ...
35729 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
35730 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
35731
7a4894cc 357322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35733
35734 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
35735 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
35736 Update all users.
35737
35738 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
35739 not just "vmlinu[zx]".
35740 Moved from here ...
35741 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
35742 all users.
35743
35744 * util/grub.d/10_linux.in (find_latest): Moved from here ...
35745 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
35746 all users.
35747
4e2171f8 357482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
35749
35750 * util/grub.d/10_freebsd.in: Use an absolute device path for
35751 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
35752
6dcfcb32 357532009-08-06 Felix Zielcke <fzielcke@z-51.de>
35754
35755 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
35756 handling of multiple abstraction modules.
35757
f56a8756 357582009-08-04 Robert Millan <rmh.grub@aybabtu.com>
35759
35760 Fix a bug resulting in black screen when loading Linux using a
35761 packed video mode.
35762
35763 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
35764 function.
35765
35766 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
35767 (grub_vbe_bios_getset_dac_palette_width): New function.
35768 (grub_vbe_bios_get_dac_palette_width)
35769 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
35770 grub_vbe_bios_getset_dac_palette_width()).
35771
35772 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
35773 check for return status.
35774 (grub_vbe_get_video_mode_info): When getting information for a packed
35775 mode (<= 8 bpp), obtain DAC palette width using
35776 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
35777 {red,green,blue}_mark_size.
35778
222671b2 357792009-08-04 Felix Zielcke <fzielcke@z-51.de>
35780
ecb1a6d9 35781 * commands/search.c (options): Fix help output to match actual code.
222671b2 35782
f84114f5 357832009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
35784
35785 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
35786 of homegrown code.
35787
bd288a20 357882009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 35789
35790 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
35791 on XFS or ReiserFS.
35792
8aab5e25 357932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
35794
35795 Support Apple partition map with sector size different from 512 bytes.
35796
35797 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
35798 (apple_partition_map_iterate): Respect 'aheader.blocksize'
35799 and 'apart.partmap_size'.
35800
6ad6258a 358012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
358022009-08-01 Robert Millan <rmh.grub@aybabtu.com>
35803
35804 Fix cpuid command.
35805
35806 * commands/i386/cpuid.c (options): New variable.
35807 (grub_cmd_cpuid): Return real error.
35808 (GRUB_MOD_INIT(cpuid)): Declare options.
35809
67459bc6 358102009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
35811
35812 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
35813 valid.
35814
fbc6ab54 358152009-07-31 Bean <bean123ch@gmail.com>
35816
35817 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
35818 log2_inode.
35819 (grub_fshelp_node): Move inode field to the end.
35820 (grub_xfs_data): Remove inode field.
35821 (grub_xfs_inode_block): Calculate inode size using sblock.
35822 (grub_xfs_inode_offset): Likewise.
35823 (grub_xfs_read_inode): Calculate inode size using sblock.
35824 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
35825 (grub_xfs_iterate_dir): Calculate inode size using sblock.
35826 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
35827 to match inode size.
35828 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
35829 not accessible when data is null.
35830 (grub_xfs_open): Likewise.
35831
f45d6cfc 358322009-07-31 Bean <bean123ch@gmail.com>
35833
35834 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
35835 Don't change pv->disk if it's already set.
35836
35837 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
35838 (grub_raid_register): ... here.
35839 (grub_raid_rescan): Removed.
35840
35841 * include/grub/raid.h (grub_raid_rescan): Removed.
35842
35843 * util/grub-fstest.c: Remove include file <grub/raid.h>.
35844 (fstest): Replace grub_raid_rescan with module fini function followed
35845 by init function.
35846
35847 * util/grub-probe.c: Add include file <grub/raid.h>.
35848 (probe_raid_level): New function.
35849 (probe): Detect abstraction by walking the disk device, support two
35850 level of abstraction (LVM on RAID) when detecting partition map.
35851
24443b5a 358522009-07-31 Pavel Roskin <proski@gnu.org>
35853
35854 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
35855 to grub_zalloc(), it was erroneous.
35856 Reported by Bean <bean123ch@gmail.com>
35857
a275d9e7 358582009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
35859
35860 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 35861 embedding zone, not only the first one.
a275d9e7 35862
56c5a47f 358632009-07-29 Joe Auricchio <jauricchio@gmail.com>
35864
35865 * term/gfxterm.c (clear_char): New function.
35866 (grub_virtual_screen_setup): Use clear_char.
35867 (scroll_up): Likewise.
35868 (grub_virtual_screen_cls): Likewise.
35869
67bb323a 358702009-07-29 Felix Zielcke <fzielcke@z-51.de>
35871
35872 * util/deviceiter.c (get_acceleraid_disk_name): New static
35873 function.
35874 (grub_util_iterate_devices): Handle Accelraid devices.
35875 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
35876
388a7c75 358772009-07-28 Robert Millan <rmh.grub@aybabtu.com>
35878
35879 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
35880 separator for the suggested gfxpayload string (';' collides with the
35881 parser and needs escaping).
35882
3bb7abcf 358832009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
35884
35885 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
35886 Clear direction flag before jumping to OS.
35887 (grub_multiboot2_real_boot): Likewise.
35888
2ddd36d7 358892009-07-28 Felix Zielcke <fzielcke@z-51.de>
35890
35891 * util/i386/pc/grub-install: Fix parsing of --disk-module
35892 option.
35893
c521b62b 358942009-07-28 Felix Zielcke <fzielcke@z-51.de>
35895
35896 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
35897 when embedding.
35898
880e0a0c 358992009-07-26 Felix Zielcke <fzielcke@z-51.de>
35900
35901 * util/grub-mkconfig.in (package_version): New variable.
35902 Use it do display the version.
35903
2366e356 359042009-07-25 Felix Zielcke <fzielcke@z-51.de>
35905
35906 * kern/file.c (grub_file_open): Revert to previous check with
35907 grub_errno.
35908
7ad8c80e 359092009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35910
35911 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
35912 from help line. It's out of sync with code.
35913
72b9658b 359142009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
35915
35916 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
35917 entries on failed boot.
35918
77435277 359192009-07-25 Felix Zielcke <fzielcke@z-51.de>
35920
35921 * kern/file.c (grub_file_open): Fix an error check.
35922
fcaa8b21 359232009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
35924
35d16c74 35925 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
35926 partition map couldn't be identified.
fcaa8b21 35927
48904cd1 359282009-07-23 Pavel Roskin <proski@gnu.org>
35929
ef3c317f 35930 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
35931 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
35932 case of little endian words becomes just an optimization.
35933 Respect const modifier.
ad8ea1f4 35934 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 35935
48904cd1 35936 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
35937 to avoid loss of upper bits if align is unsigned and shorter
35938 than addr.
35939
260c9a89 359402009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35941
35942 UUID support for UFS
35943
35944 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
35945 (grub_ufs_uuid): New function.
35946 (grub_ufs_fs): add .uuid
35947
f76ce889 359482009-07-21 Pavel Roskin <proski@gnu.org>
35949
35950 * kern/dl.c (grub_dl_check_header): Make static.
35951
6a6cbcaf 359522009-07-21 Felix Zielcke <fzielcke@z-51.de>
35953
35954 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
35955 add drivemap for Vista. It breaks Windows 7.
35956
cffcddb2 359572009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
35958
35959 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
35960 128 bytes
35961
1ef44b80 359622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
35963
35964 Add BFS support
35965
35966 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
35967 (grub_fstest_SOURCES): Likewise.
35968 (pkglib_MODULES): Add befs.mod.
35969 (befs_mod_SOURCES): New variable.
35970 (befs_mod_CFLAGS): Likewise.
35971 (befs_mod_LDFLAGS): Likewise.
35972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35973 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35974 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35975 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35976 (grub_setup_SOURCES): Likewise.
35977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35978 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35979 (grub_setup_SOURCES): Likewise.
35980 * fs/befs.c: New file.
35981 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
35982 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
35983 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
35984 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
35985 (B_KEY_INDEX_ALIGN): New declaration.
35986 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
35987 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
35988 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
35989 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
35990 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
35991 (grub_afs_mount) [MODE_BFS]: Likewise.
35992 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
35993 (grub_afs_fs): Use GRUB_AFS_FSNAME
35994 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
35995 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
35996 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
35997 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
35998
4f253044 359992009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36000
36001 * util/getroot.c (find_root_device): Add support for MacOSX.
36002 * util/hostdisk.c: Likewise.
36003
57a55913 360042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36005
36006 * font/font.c (find_glyph): Check whether a font is present to avoid
36007 segmentation fault.
75421ca9 36008
360092009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 36010
36011 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36012
e98cd0c2 360132009-07-20 Pavel Roskin <proski@gnu.org>
36014
36015 * configure.ac: Trim excessively wordy excuses.
36016
1d2d169a 360172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36018
36019 Add symlink, mtime and label support to AtheFS.
36020
36021 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36022 (grub_afs_iterate_dir): Handle symlinks.
36023 (grub_afs_open): Use grub_afs_read_symlink.
36024 (grub_afs_dir): Likewise.
36025 Pass mtime.
36026 (grub_afs_label): New function.
36027 (grub_afs_fs): Add grub_afs_label.
36028 (grub_afs_read_symlink): New function.
36029
186f3189 360302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36031
36032 Fix AtheFS support.
36033
36034 * fs/afs.c: Fix comments style.
36035 (grub_afs_blockrun): Declare as packed.
36036 (grub_afs_datastream): Likewise.
36037 (grub_afs_bnode): Likewise.
36038 (grub_afs_btree): Likewise.
36039 (grub_afs_sblock): Likewise.
36040 Declare `name' as char.
36041 (grub_afs_inode): Declare as packed.
36042 Change void *vnode to grub_uint32_t unused.
36043 (grub_afs_iterate_dir): Check that key_size is positive.
36044 (grub_afs_mount): Don't read superblock twice.
75421ca9 36045 (grub_afs_dir): Don't free node in case of error,
186f3189 36046 grub_fshelp_find_file already handles this.
36047 (grub_afs_open): Likewise.
36048
5680109e 360492009-07-19 Pavel Roskin <proski@gnu.org>
36050
36051 * Makefile.in: Remove LIBLZO and enable_lzo.
36052 * conf/i386-pc.rmk: Remove lzo support.
36053 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36054 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36055 support.
36056 * kern/i386/pc/lzo1x.S: Remove.
36057 * kern/i386/pc/startup.S: Remove lzo support.
36058 * util/i386/pc/grub-mkimage.c: Likewise.
36059
ac70fa32 360602009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36061
36062 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36063 * fs/xfs.c (grub_xfs_dir): Likewise.
36064 * fs/afs.c (grub_afs_dir): Likewise.
36065 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36066 (grub_iso9660_open): Likewise.
36067 * fs/jfs.c (grub_jfs_open): Likewise.
36068 * fs/ext2.c (grub_ext2_dir): Likewise.
36069 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36070 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 36071
eab58da2 360722009-07-16 Pavel Roskin <proski@gnu.org>
36073
d2838156 36074 * configure.ac: Never add "-c" to CFLAGS.
36075
55c70904 36076 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36077
43e6200c 36078 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36079 grub_cv_cc_efiemu should be used.
36080
ce7a733d 36081 * configure.ac: Typo fixes.
36082
eab58da2 36083 * kern/mm.c (grub_zalloc): New function.
36084 (grub_debug_zalloc): Likewise.
36085 * include/grub/mm.h: Declare grub_zalloc() and
36086 grub_debug_zalloc().
36087 * util/misc.c (grub_zalloc): New function.
36088 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36089 instead of grub_malloc(), remove unneeded initializations.
36090 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36091 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36092 * commands/parttool.c (grub_cmd_parttool): Likewise.
36093 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36094 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36095 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36096 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36097 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36098 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36099 (grub_cmd_efiemu_pnvram): Likewise.
36100 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36101 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36102 (grub_iso9660_iterate_dir): Likewise.
36103 * fs/jfs.c (grub_jfs_opendir): Likewise.
36104 * fs/ntfs.c (list_file): Likewise.
36105 (grub_ntfs_mount): Likewise.
36106 * kern/disk.c (grub_disk_open): Likewise.
36107 * kern/dl.c (grub_dl_load_core): Likewise.
36108 * kern/elf.c (grub_elf_file): Likewise.
36109 * kern/env.c (grub_env_context_open): Likewise.
36110 (grub_env_set): Likewise.
36111 (grub_env_set_data_slot): Likewise.
36112 * kern/file.c (grub_file_open): Likewise.
36113 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36114 * loader/i386/multiboot.c (grub_module): Likewise.
36115 * loader/xnu.c (grub_xnu_create_key): Likewise.
36116 (grub_xnu_create_value): Likewise.
36117 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36118 (read_config_file): Likewise.
36119 * normal/menu_entry.c (make_screen): Likewise.
36120 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36121 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36122 * script/sh/script.c (grub_script_parse): Likewise.
36123 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36124 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36125 * video/readers/png.c (grub_png_output_byte): Likewise.
36126 (grub_video_reader_png): Likewise.
36127
830afef7 361282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 36129
36130 Enable all targets that can be built by default
36131
830afef7 36132 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 36133 grub-mkfont and grub-fstest if they can be built
36134
ee293aee 361352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36136
36137 Fix hang and segmentation fault in grub-emu-usb
36138
36139 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36140 * util/usb.c (grub_libusb_devices): likewise
36141 (grub_libusb_init): rename to ...
36142 (GRUB_MOD_INIT (libusb)):...this
36143 (grub_libusb_fini): rename to ..
36144 (GRUB_MOD_FINI (libusb)):...this
36145 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36146 * include/grub/disk.h (grub_raid_init): removed, it's useless
36147 (grub_raid_fini): likewise
36148 (grub_lvm_init): likewise
36149 (grub_lvm_fini): likewise
36150 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36151 by grub_init_all
36152
94414221 361532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36154
36155 Fix libusb
36156
36157 * Makefile.in (LIBUSB): new macro
36158 * genmk.rb (Utility/print_tail): new method
36159 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36160 (top level): call util.print_tail at the end.
36161
59ade63d 361622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36163
36164 Make FreeBSD accept zpool.cache
36165
36166 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36167 type is /boot/zfs/zpool.cache
36168
a58da8c7 361692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36170
36171 Fix 64-bit efiemu
36172
36173 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36174 correct wrong typedef
36175 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36176
20591577 361772009-07-15 Pavel Roskin <proski@gnu.org>
36178
560ca572 36179 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36180 * kern/disk.c (struct grub_disk_cache): Likewise.
36181
e8e8e4fd 36182 * commands/probe.c (options): Typo fix.
36183
fde24e10 36184 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36185 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36186 accordingly.
36187 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36188
379c54c1 36189 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36190 the end of "Error" to make the message more readable.
36191
7bd8f5bf 36192 * boot/i386/pc/boot.S (kernel_segment): Remove.
36193 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36194 for destination.
36195
40b132c5 36196 * boot/i386/pc/boot.S (boot_version): Remove.
36197 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36198 Remove.
36199
20591577 36200 * include/grub/i386/pc/boot.h: Sort all offsets.
36201 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36202 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36203 * boot/i386/pc/boot.S: Assert location of every offset listed in
36204 include/grub/i386/pc/boot.h.
36205
2df32b2c 362062009-07-13 Pavel Roskin <proski@gnu.org>
36207
44b5d879 36208 * include/grub/i386/coreboot/machine.h: Rename
36209 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36210 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36211 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36212
17dc3751 36213 * kern/dl.c: Force native word size to suppress warnings when
36214 compiling grub-emu.
36215
2df32b2c 36216 * kern/device.c (grub_device_iterate): Change struct part_ent to
36217 hold the name, not a pointer to it. Use one grub_malloc() per
36218 partition, not two. Free partition_name if grub_malloc() fails.
36219 Set ents to NULL only before grub_partition_iterate() is called.
36220
75c59f59 362212009-07-11 Bean <bean123ch@gmail.com>
36222
36223 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36224 childname.
36225
0ae1bf88 362262009-07-10 Bean <bean123ch@gmail.com>
362272009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36228
36229 * kern/ieee1275/openfw.c (grub_children_iterate)
36230 (grub_devalias_iterate): Fix size evaluation for property or path
36231 strings, which was broken since r2132.
36232
8279cade 362332009-07-07 Pavel Roskin <proski@gnu.org>
36234
7d8a52d3 36235 * commands/search.c (search_file): Merge into ...
36236 (search_fs): ... this. Accept search type as argument.
36237 (grub_cmd_search): Pass search type to search_fs().
36238
25f9a05a 36239 * include/grub/util/console.h: New file.
36240 * util/console.c: Use it instead of grub/machine/console.h.
36241 * util/grub-emu.c: Likewise.
36242
8279cade 36243 * lib/arg.c (find_long_option): Remove.
36244 (find_long): Add `len' argument, make `s' const char *.
36245 (grub_arg_parse): Parse long options in place, not in a
36246 temporary buffer.
36247
4a11b60f 362482009-07-06 Pavel Roskin <proski@gnu.org>
36249
99f68041 36250 * commands/search.c (search_fs): Fix potential NULL pointer
36251 dereference.
36252
4a11b60f 36253 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36254 function pointer.
36255
e110f4de 362562009-07-06 Daniel Mierswa <impulze@impulze.org>
36257
36258 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36259 comparison.
36260
46eeb6a2 362612009-07-05 Pavel Roskin <proski@gnu.org>
36262
bab74958 36263 * include/grub/i386/linux.h (struct linux_kernel_params):
36264 Restore padding3, it's still needed.
36265
46eeb6a2 36266 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36267 FreeBSD.
36268 * util/osdetect.lua: Likewise.
36269
b4a1dc79 362702009-07-05 Bean <bean123ch@gmail.com>
36271
36272 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36273
36274 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36275 (grub_lua_getenv): Likewise.
36276 (grub_lua_setenv): Likewise.
36277 (save_errno): New function.
36278 (push_result): Likewise.
36279 (grub_lua_enum_device): Likewise.
36280 (grub_lua_enum_file): Likewise.
36281 (grub_lua_file_open): Likewise.
36282 (grub_lua_file_close): Likewise.
36283 (grub_lua_file_seek): Likewise.
36284 (grub_lua_file_read): Likewise.
36285 (grub_lua_file_getline): Likewise.
36286 (grub_lua_file_getsize): Likewise.
36287 (grub_lua_file_getpos): Likewise.
36288 (grub_lua_file_eof): Likewise.
36289 (grub_lua_file_exist): Likewise.
36290 (grub_lua_add_menu): Likewise.
36291
36292 * script/lua/grub_lua.h (isupper): New inline function.
36293 (islower): Likewise.
36294 (ispunct): Likewise.
36295 (isxdigit): Likewise.
36296 (strcspn): Change to normal function.
36297 (strpbkr): New function declaration.
36298 (memchr): Likewise.
36299
36300 * script/lua/grub_main.c (scan_str): New function.
36301 (strcspn): Likewise.
36302 (strpbrk): Likewise.
36303 (memchr): Likewise.
36304
36305 * script/lua/linit.c (lualibs): Enable the string library.
36306
36307 * util/osdetect.lua: New file.
36308
2da92295 363092009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36310
36311 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36312 `capabilities' member.
36313
b2582ec9 363142009-07-02 Pavel Roskin <proski@gnu.org>
36315
36316 * genparttoollist.sh: Add missing newline at the end.
36317
32622956 363182009-07-01 Pavel Roskin <proski@gnu.org>
36319
87a7339e 36320 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36321
d23af54e 36322 * util/hostdisk.c (open_device): Remove `const' from
36323 `sysctl_size', as sysctlbyname() can change it (in this case it
36324 doesn't actually happen).
36325
c94b18a9 36326 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36327 using signed long int constants.
36328
c6cd3ef0 36329 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36330 constant to avoid a warning on FreeBSD.
36331
0df63420 36332 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36333 where it's needed.
36334
999577f1 36335 * Makefile.in: Install include/grub/machine symlink.
36336
6f41557f 36337 * Makefile.in: When installing symlinks, use "cp -fR", which
36338 works on FreeBSD and MacOSX.
36339 From Yves Blusseau <cl7m42e02@sneakemail.com>
36340
c8d22988 36341 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36342 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36343
1b96e952 36344 * util/misc.c: Move grub_reboot() and grub_halt() ...
36345 * util/grub-emu.c: ... here. Make main_env static.
36346 * include/grub/util/misc.h: Remove main_env.
36347
2ef0084d 36348 * kern/mm.c: Use correct format to print size_t.
36349
32622956 36350 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36351 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36352 * kern/powerpc/dl.c: Likewise.
36353 * kern/sparc64/dl.c: Likewise.
36354 * kern/x86_64/dl.c: Likewise.
36355
3f7f0cd0 363562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36357
36358 Fix grub-emu build on sparc64-ieee1275.
36359
75421ca9 36360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 36361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36362
211d06b5 363632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36364
36365 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36366 (grub_reboot, grub_halt): New functions.
36367
36368 * util/i386/pc/misc.c: Delete. Update all users.
36369 * util/sparc64/ieee1275/misc.c: Likewise.
36370 * util/powerpc/ieee1275/misc.c: Likewise.
36371
aaf53e3c 363722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36373
36374 * conf/i386.rmk (setjmp_mod_SOURCES)
36375 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36376 * conf/common.rmk (setjmp_mod_SOURCES)
36377 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36378 to use $(target_cpu).
36379 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36380 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36381 * conf/powerpc-ieee1275.rmk: Likewise.
36382 * conf/sparc64-ieee1275.rmk: Likewise.
36383
36384 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36385 $(target_cpu) for kern/$(target_cpu)/dl.c.
36386 * conf/i386-efi.rmk: Likewise.
36387 * conf/i386-ieee1275.rmk: Likewise.
36388 * conf/x86_64-efi.rmk: Likewise.
36389 * conf/i386-coreboot.rmk: Likewise.
36390 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36391 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36392 kern/$(target_cpu)/cache.S.
36393 * conf/sparc64-ieee1275.rmk: Likewise.
36394
a337130b 363952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36396
36397 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36398 type to `grub_uint8_t', and adjust `padding9' accordingly.
36399
c6fe4d53 364002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36401
b09db61d 36402 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36403
c6fe4d53 36404 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36405 assembly in final jump, using register constraints.
36406
b09db61d 36407 (grub_linux_boot): For text mode, initialize `have_vga' using
36408 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36409
36410 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36411 right before the final jump.
36412
36413 Set `video_mode' to 0x3.
36414
36415 Document initialization of `video_page', `video_mode' and
36416 `video_ega_bx'.
36417
28333ad0 364182009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36419
36420 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36421 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 36422 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 36423
02164e1b 364242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36425
36426 Fix build on Debian / sparc.
36427
36428 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36429
18b6c557 364302009-06-28 Pavel Roskin <proski@gnu.org>
36431
85f2aab6 36432 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36433 fix a warning.
36434
18b6c557 36435 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36436
ad760f81 364372009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36438
36439 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36440 `err'.
36441
87a4623b 364422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36443
36444 Revert r2338.
36445
36446 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36447 file can't be opened. grub_file_open() is already supposed to set
75421ca9 36448 grub_errno / grub_errmsg appropriately.
87a4623b 36449 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36450
8231fb77 364512009-06-27 Pavel Roskin <proski@gnu.org>
364522009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36453
36454 * include/grub/dl.h: Include grub/elf.h.
36455 (struct grub_dl): Add symtab field.
36456 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
36457 GRUB_MODULES_MACHINE_READONLY.
36458 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
36459 of the header for read-only modules.
36460 (grub_dl_unload): Free mod->symtab for read-only modules.
36461 * kern/i386/dl.c: Use mod->symtab.
36462 * kern/powerpc/dl.c: Likewise.
36463 * kern/sparc64/dl.c: Likewise.
36464 * kern/x86_64/dl.c: Likewise.
36465
36466 * conf/i386-qemu.rmk: New file.
36467 * kern/i386/qemu/startup.S: Likewise.
36468 * kern/i386/qemu/mmap.c: Likewise.
36469 * boot/i386/qemu/boot.S: Likewise.
36470 * include/grub/i386/qemu/time.h: Likewise.
36471 * include/grub/i386/qemu/serial.h: Likewise.
36472 * include/grub/i386/qemu/kernel.h: Likewise.
36473 * include/grub/i386/qemu/console.h: Likewise.
36474 * include/grub/i386/qemu/boot.h: Likewise.
36475 * include/grub/i386/qemu/init.h: Likewise.
36476 * include/grub/i386/qemu/machine.h: Likewise.
36477 * include/grub/i386/qemu/loader.h: Likewise.
36478 * include/grub/i386/qemu/memory.h: Likewise.
36479
36480 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
36481 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
36482 [qemu] (pkglib_IMAGES): Add `boot.img'.
36483 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
36484 [qemu] (boot_img_FORMAT): New variables.
36485 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
36486 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
36487 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
36488 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
36489 [qemu] (kernel_img_FORMAT): New variables.
36490
36491 * configure.ac: Recognise `i386-qemu'.
36492
36493 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
36494 (for no compression).
36495 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
36496 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
36497 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
36498 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
36499 ifdefs).
36500
97fe384e 365012009-06-27 Pavel Roskin <proski@gnu.org>
36502
36503 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
36504 read.
36505 * efiemu/prepare32.c: Likewise.
36506 * efiemu/prepare64.c: Likewise.
36507
c402ab17 365082009-06-26 Pavel Roskin <proski@gnu.org>
36509
36510 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
36511 * include/grub/elf.h: Define symbols without "32" or "64" based
36512 on GRUB_TARGET_WORDSIZE.
36513 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
36514 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
36515 ELF definitions.
36516 * efiemu/loadcore64.c: Likewise.
36517 * loader/i386/bsd32.c: Likewise.
36518 * loader/i386/bsd64.c: Likewise.
36519 * kern/dl.c: Remove own ELF definitions.
36520 * util/i386/efi/grub-mkimage.c: Likewise.
36521
9bbdfd4d 365222009-06-23 Robert Millan <rmh.grub@aybabtu.com>
36523
36524 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
36525 segment 0x0 unconditionally, because the reference generated by
36526 GAS is an absolute address.
36527
a42ce6e9 365282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36529
36530 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
36531 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
36532
c952cf92 365332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36534
36535 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
36536 indexes. Check for -f explicitly.
cc3752ad 36537 (search_file): Improve error message.
36538 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 36539
132a0a59 365402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36541
36542 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
36543 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
36544
387a140c 365452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36546
36547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
36548 * conf/i386-ieee1275.rmk: Likewise.
36549 * conf/i386-coreboot.rmk: Likewise.
36550
36551 * kern/i386/pc/startup.S (grub_stop): Remove function.
36552 * kern/i386/ieee1275/startup.S: Likewise.
36553 * kern/i386/coreboot/startup.S: Likewise.
36554 * kern/i386/misc.S (grub_stop): New function.
36555
41da9665 365562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36557
36558 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
36559 * kern/i386/realmode.S (real_to_prot): ... to here.
36560
bf337234 365612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
36562
36563 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
36564 with `kernel.img'.
36565 (kernel_elf_SOURCES): Rename to ...
36566 (kernel_img_SOURCES): ... this.
36567 (kernel_elf_HEADERS): Rename to ...
36568 (kernel_img_HEADERS): ... this. Update all users.
36569 (kernel_elf_ASFLAGS): Rename to ...
36570 (kernel_img_ASFLAGS): ... this.
36571 (kernel_elf_CFLAGS): Rename to ...
36572 (kernel_img_CFLAGS): ... this.
36573 (kernel_elf_LDFLAGS): Rename to ...
36574 (kernel_img_LDFLAGS): ... this.
36575 * conf/i386-coreboot.rmk: Likewise.
36576 * conf/powerpc-ieee1275.rmk: Likewise.
36577
36578 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
36579 with "kernel.img".
36580
f52196ff 365812009-06-21 Pavel Roskin <proski@gnu.org>
36582
c3cee413 36583 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
36584 to match nested functions.
36585 * loader/sparc64/ieee1275/linux.c: Likewise.
36586
f52196ff 36587 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
36588
58750afc 365892009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36590
36591 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
36592 all i386 platforms.
36593
15355c7d 365942009-06-21 Robert Millan <rmh.grub@aybabtu.com>
36595
36596 Fix asm file handling on ELF, and remove workarounds.
36597
36598 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 36599 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 36600 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
36601 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
36602
3f3ec72b 366032009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
36604
36605 Load BSD ELF modules
36606
36607 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
36608 and loader/i386/bsd64.c
36609 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
36610 (FREEBSD_MODTYPE_ELF_MODULE): New definition
36611 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
36612 (grub_freebsd_load_elfmodule32): New declaration
36613 (grub_freebsd_load_elfmoduleobj64): Likewise
36614 (grub_freebsd_load_elf_meta32): Likewise
36615 (grub_freebsd_load_elf_meta64): Likewise
36616 (grub_freebsd_add_meta): Likewise
36617 (grub_freebsd_add_meta_module): Likewise
36618 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
36619 (grub_freebsd_add_meta_module): Likewise and move module-specific
36620 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
36621 (grub_cmd_freebsd): Add elf-kernel specific parts
36622 based on grub_freebsd_add_meta_module
36623 (grub_cmd_freebsd_module): Add type parsing moved from
36624 grub_freebsd_add_meta_module
36625 (grub_cmd_freebsd_module_elf): New function
36626 (cmd_freebsd_module_elf): New variable
36627 (GRUB_MOD_INIT): Register freebsd_module_elf
36628 * loader/i386/bsd32.c: New file
36629 * loader/i386/bsd64.c: Likewise
36630 * loader/i386/bsdXX.c: Likewise
36631 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
36632 (grub_elf64_load): Likewise
36633 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
36634 All users updated
36635 (grub_elf64_load_hook_t): Likewise
36636
0db15301 366372009-06-21 Colin Watson <cjwatson@ubuntu.com>
36638
36639 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
36640 variable.
36641 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
36642 don't write a menu entry for recovery mode.
36643
546796c1 366442009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36645
36646 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
36647 after it's no longer needed.
36648
cd7310d5 366492009-06-20 Robert Millan <rmh.grub@aybabtu.com>
36650
36651 * include/grub/i386/loader.h (grub_linux_prot_size)
36652 (grub_linux_tmp_addr, grub_linux_real_addr)
36653 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
36654 GRUB_MACHINE_PCBIOS.
36655 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
36656 common grub_util_info() call to ...
36657 (generate_image): ... here.
36658 Fix use of uninitialized memory, comparison of signed with
36659 unsigned integers and memory leak.
36660 Remove bogus module address message.
36661
ab32d3b5 366622009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
36663
36664 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
36665 grub_raid_register
36666 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
36667
024ef597 366682009-06-19 Pavel Roskin <proski@gnu.org>
36669
36670 * configure.ac: Remove stray AC_MSG_CHECKING.
36671
3ac72b51 366722009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
36673
36674 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 36675
e14cd814 366762009-06-18 Pavel Roskin <proski@gnu.org>
36677
36678 * conf/common.rmk: Add fs_file.mod.
36679 * disk/fs_file.c: New file.
36680 * include/grub/disk.h (enum grub_disk_dev_id): Add
36681 GRUB_DISK_DEVICE_FILE_ID.
36682
26586d98 366832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36684
36685 Fix build with Apple's toolchain. Part 2
36686
36687 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
36688 a fake start
36689
26de2bcd 366902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36691
36692 Fix build with Apple's toolchain. Part 1
36693
36694 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
36695 for long calls
36696 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 36697 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 36698 Apple's toolchain
36699
09b3490b 367002009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
36701
36702 Fix warnings
36703
36704 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
36705 (decomp_block): initialize ch
36706 use grub_memcpy instead of memcpy
36707
c22a006a 367082009-06-17 Pavel Roskin <proski@gnu.org>
36709
d3638678 36710 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
36711 version, use declarations needed to use vga_text as the startup
36712 console.
36713
c22a006a 36714 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
36715 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
36716 the kernel.
36717 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
36718 and grub_at_keyboard_fini(), it's done on module load and
36719 unload.
36720
05b129e0 367212009-06-17 Felix Zielcke <fzielcke@z-51.de>
36722
36723 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
36724 file can't be found.
36725 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36726
cf24ed9e 367272009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36728
36729 Fix newline handling
36730
36731 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 36732 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 36733 (grub_script_yylex): don't segfault on unterminated script
36734 newline terminates command and variable
36735
74aa8e4b 367362009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
36737
36738 avoid double grub_adjust_range call. Bug reported by David Simner
36739
36740 * kern/disk.c (grub_disk_write): change to raw disk access before
36741 calling disk_read
36742
1bd265f3 367432009-06-17 Colin Watson <cjwatson@ubuntu.com>
36744
36745 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
36746 spaces, for the benefit of help2man.
36747 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36748
a2d08c06 367492009-06-16 Pavel Roskin <proski@gnu.org>
36750
36751 * kern/i386/halt.c: Include grub/machine/init.h.
36752 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
36753
b97bcb19 367542009-06-16 Felix Zielcke <fzielcke@z-51.de>
36755
36756 * util/grub.d/30_os-prober.in: Use ${root} in the generated
36757 drivemap menuentry.
36758
0644f96c 367592009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
36760
36761 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
36762 `echo' command.
36763
3ef17a2e 367642009-06-16 Pavel Roskin <proski@gnu.org>
36765
36766 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
36767 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
36768 save %dx, we only need %dl and we never change it.
36769 * boot/i386/pc/cdboot.S: Don't set the root drive.
36770 * boot/i386/pc/pxeboot.S: Likewise.
36771 * include/grub/i386/pc/boot.h: Remove
36772 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
36773 GRUB_BOOT_MACHINE_DRIVE_CHECK.
36774 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
36775 * kern/i386/pc/init.c (make_install_device): Remove references
36776 to grub_root_drive.
36777 * kern/i386/pc/startup.S: Likewise.
36778 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
36779
693fe637 367802009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36781
36782 xnu_uuid command
36783
36784 * commands/xnu_uuid.c: new file
36785 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
36786 (xnu_uuid_mod_SOURCES): new variable
36787 (xnu_uuid_mod_CFLAGS): likewise
36788 (xnu_uuid_mod_LDFLAGS): likewise
36789 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36790 * conf/i386-ieee1275.rmk: likewise
36791 * conf/i386-pc.rmk: likewise
36792 * conf/powerpc-ieee1275.rmk: likewise
36793 * conf/sparc64-ieee1275.rmk: likewise
36794 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
36795
c9da87d0 367962009-06-16 Pavel Roskin <proski@gnu.org>
36797
36798 * configure.ac: Avoid '==' in test command, it's not portable.
36799
9c6f4596 368002009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
36801
36802 Probe command
36803
36804 * commands/probe.c: new file
36805 * conf/common.rmk (pkglib_MODULES): add probe.mod
36806 (probe_mod_SOURCES): new variable
36807 (probe_mod_CFLAGS): likewise
36808 (probe_mod_LDFLAGS): likewise
36809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
36810 * conf/i386-ieee1275.rmk: likewise
36811 * conf/i386-pc.rmk: likewise
36812 * conf/powerpc-ieee1275.rmk: likewise
36813 * conf/sparc64-ieee1275.rmk: likewise
36814
70b7f9fd 368152009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
36816
36817 Fix handling of string like \"hello\" and "a
36818 b"
36819
36820 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
36821 (grub_script_yylex): fix parsing of quoting, escaping and newline
36822
71c79a6b 368232009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
36824
dd74360c 36825 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 36826 handling
dd74360c 36827
0644f96c 368282009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 36829
36830 * util/grub-mkconfig.in: Fix parsing of --output option.
36831
e40893c3 368322009-06-12 Pavel Roskin <proski@gnu.org>
36833
36834 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
36835 genmk.rb don't need to be generated or installed.
36836
3a1acfe2 368372009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
36838
36839 * commands/i386/pc/drivemap_int13h.S: add more comments
36840
3a4575d4 368412009-06-11 Pavel Roskin <proski@gnu.org>
36842
0658e928 36843 * Makefile.in (uninstall): Uninstall manuals.
36844
ca0388f0 36845 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
36846 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
36847 and update-grub_lib in two places.
36848 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
36849
e3b27c39 36850 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
36851 a compiler warning.
36852
3a4575d4 36853 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
36854 `entry_lo' to fix variable shadowing.
36855
af1f4f55 368562009-06-11 Christian Franke <franke@computer.org>
36857
36858 * kern/misc.c (__enable_execute_stack): Add missing return type
36859 to prevent gcc warning.
36860
5225e649 368612009-06-11 Felix Zielcke <fzielcke@z-51.de>
36862
36863 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
36864
7d83bd47 368652009-06-11 Pavel Roskin <proski@gnu.org>
36866
c1cb63ba 36867 * Makefile.in: Don't rely on any scripts being executable.
36868 Always use $(SHELL) to run shell scripts.
36869
7d83bd47 36870 * configure.ac: Always define ___main if using -nostdlib. This
36871 fixes tests on Cygwin.
36872
948f48e7 368732009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
36874
36875 UDF fix
36876
7d83bd47 36877 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 36878 is in bytes and not in blocks
7d83bd47 36879
8ada9bc1 368802009-06-11 Pavel Roskin <proski@gnu.org>
36881
36882 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
36883 warning.
36884
25ad2323 368852009-06-11 Felix Zielcke <fzielcke@z-51.de>
36886
36887 * util/grub.d/30_os-prober.in: Fix a comment. Source
36888 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
36889 to set the root device. Place drivemap command in the generated
36890 chain entry.
36891
e65acb0c 368922009-06-11 Pavel Roskin <proski@gnu.org>
36893
36894 * configure.ac: Remove host_m32. Issues with 64-bit utilities
36895 have long been resolved.
36896
f285fe2d 368972009-06-11 Colin Watson <cjwatson@ubuntu.com>
36898
bd47b0b5 36899 * util/grub.d/10_linux.in: Capitalise "Linux".
36900
f285fe2d 36901 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
36902
a0c62e4e 369032009-06-11 Pavel Roskin <proski@gnu.org>
36904
b6783cb2 36905 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
36906 fix a gcc warning and ensure that the function won't ever exit.
36907
dde032e8 36908 * kern/i386/ieee1275/init.c: Add missing prototype for
36909 grub_stop_floppy().
36910
22cd079d 36911 * loader/ieee1275/multiboot2.c [__i386__]: Include
36912 grub/cpu/multiboot.h.
36913
a0c62e4e 36914 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
36915 casts to short - they are not portable and cause warnings. Fix
36916 use of uninitialized values in input_buf. Use ARRAY_SIZE.
36917
63963d17 369182009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
36919
36920 Drivemap fixes
36921
36922 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
36923 new function
36924 (grub_get_root_biosnumber_saved): new variable
36925 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
36926 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 36927 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 36928 %dx after the call if necessary
36929 * conf/common.rmk (pkglib_MODULES): remove boot.mod
36930 (boot_mod_SOURCES): remove
36931 (boot_mod_CFLAGS): remove
36932 (boot_mod_LDFLAGS): remove
36933 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
36934 (boot_mod_SOURCES): new variable
36935 (boot_mod_CFLAGS): likewise
36936 (boot_mod_LDFLAGS): likewise
36937 * conf/i386-efi.rmk: likewise
36938 * conf/i386-ieee1275.rmk: likewise
36939 * conf/i386-pc.rmk: likewise
36940 * conf/powerpc-ieee1275.rmk: likewise
36941 * conf/sparc64-ieee1275.rmk: likewise
36942 * conf/x86_64-efi.rmk: likewise
36943 * include/grub/i386/pc/biosnum.h: new file
36944 * lib/i386/pc/biosnum.c: likewise
36945 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
36946 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
36947 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 36948
33abf7ae 369492009-06-10 Pavel Roskin <proski@gnu.org>
36950
5ac35b35 36951 * io/gzio.c (test_header): Don't reuse one buffer for all data.
36952 Use separate variables. Read only the file size at the end, but
36953 not the checksum that we don't use.
36954
5c5215d5 36955 * kern/file.c (grub_file_read): Use void pointer for the buffer.
36956 Adjust all callers.
36957
27d5fef7 36958 * kern/ieee1275/openfw.c: Remove libc includes.
36959 * kern/ieee1275/cmain.c: Likewise.
36960 * include/grub/ieee1275/ieee1275.h: Likewise.
36961
33abf7ae 36962 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
36963 compiler warnings.
36964
19d50c2b 369652009-06-10 Felix Zielcke <fzielcke@z-51.de>
36966
36967 * Makefile.in: Remove all trailing whitespace.
36968 * conf/i386-pc.rmk: Likewise.
36969 * conf/powerpc-ieee1275.rmk: Likewise.
36970 * conf/sparc64-ieee1275.rmk: Likewise.
36971 * docs/grub.texi: Likewise.
36972 * docs/texinfo.tex: Likewise.
36973 * disk/fs_uuid.c: Likewise.
36974 * disk/lvm.c: Likewise.
36975 * disk/scsi.c: Likewise.
36976 * disk/ata.c: Likewise.
36977 * disk/ieee1275/ofdisk.c: Likewise.
36978 * disk/i386/pc/biosdisk.c: Likewise.
36979 * disk/host.c: Likewise.
36980 * disk/raid.c: Likewise.
36981 * disk/efi/efidisk.c: Likewise.
36982 * disk/usbms.c: Likewise.
36983 * disk/memdisk.c: Likewise.
36984 * disk/loopback.c: Likewise.
36985 * kern/powerpc/dl.c: Likewise.
36986 * kern/device.c: Likewise.
36987 * kern/dl.c: Likewise.
36988 * kern/sparc64/dl.c: Likewise.
36989 * kern/ieee1275/ieee1275.c: Likewise.
36990 * kern/term.c: Likewise.
36991 * kern/fs.c: Likewise.
36992 * kern/i386/dl.c: Likewise.
36993 * kern/i386/pc/startup.S: Likewise.
36994 * kern/i386/pc/init.c: Likewise.
36995 * kern/i386/pc/mmap.c: Likewise.
36996 * kern/i386/pc/lzo1x.S: Likewise.
36997 * kern/i386/ieee1275/init.c: Likewise.
36998 * kern/i386/realmode.S: Likewise.
36999 * kern/i386/tsc.c: Likewise.
37000 * kern/partition.c: Likewise.
37001 * kern/corecmd.c: Likewise.
37002 * kern/file.c: Likewise.
37003 * kern/efi/efi.c: Likewise.
37004 * kern/efi/init.c: Likewise.
37005 * kern/efi/mm.c: Likewise.
37006 * kern/main.c: Likewise.
37007 * kern/err.c: Likewise.
37008 * kern/env.c: Likewise.
37009 * kern/disk.c: Likewise.
37010 * kern/generic/millisleep.c: Likewise.
37011 * kern/generic/rtc_get_time_ms.c: Likewise.
37012 * kern/misc.c: Likewise.
37013 * kern/parser.c: Likewise.
37014 * genmk.rb: Likewise.
37015 * configure.ac: Likewise.
37016 * boot/i386/pc/diskboot.S: Likewise.
37017 * boot/i386/pc/pxeboot.S: Likewise.
37018 * boot/i386/pc/boot.S: Likewise.
37019 * boot/i386/pc/lnxboot.S: Likewise.
37020 * boot/i386/pc/cdboot.S: Likewise.
37021 * parttool/pcpart.c: Likewise.
37022 * video/readers/tga.c: Likewise.
37023 * video/video.c: Likewise.
37024 * video/bitmap.c: Likewise.
37025 * lib/envblk.c: Likewise.
37026 * lib/i386/setjmp.S: Likewise.
37027 * fs/xfs.c: Likewise.
37028 * fs/afs.c: Likewise.
37029 * fs/fat.c: Likewise.
37030 * fs/ntfs.c: Likewise.
37031 * fs/udf.c: Likewise.
37032 * fs/affs.c: Likewise.
37033 * fs/iso9660.c: Likewise.
37034 * fs/hfs.c: Likewise.
37035 * fs/fshelp.c: Likewise.
37036 * fs/ext2.c: Likewise.
37037 * fs/jfs.c: Likewise.
37038 * fs/reiserfs.c: Likewise.
37039 * fs/hfsplus.c: Likewise.
37040 * fs/minix.c: Likewise.
37041 * fs/cpio.c: Likewise.
37042 * fs/sfs.c: Likewise.
37043 * fs/ufs.c: Likewise.
37044 * efiemu/prepare.c: Likewise.
37045 * efiemu/loadcore_common.c: Likewise.
37046 * efiemu/runtime/efiemu.sh: Likewise.
37047 * efiemu/runtime/efiemu.S: Likewise.
37048 * efiemu/runtime/efiemu.c: Likewise.
37049 * efiemu/pnvram.c: Likewise.
37050 * efiemu/main.c: Likewise.
37051 * efiemu/i386/pc/cfgtables.c: Likewise.
37052 * efiemu/i386/loadcore64.c: Likewise.
37053 * efiemu/i386/loadcore32.c: Likewise.
37054 * efiemu/loadcore.c: Likewise.
37055 * efiemu/symbols.c: Likewise.
37056 * efiemu/mm.c: Likewise.
37057 * include/grub/autoefi.h: Likewise.
37058 * include/grub/datetime.h: Likewise.
37059 * include/grub/term.h: Likewise.
37060 * include/grub/hfs.h: Likewise.
37061 * include/grub/lvm.h: Likewise.
37062 * include/grub/i386/tsc.h: Likewise.
37063 * include/grub/i386/linux.h: Likewise.
37064 * include/grub/i386/xnu.h: Likewise.
37065 * include/grub/i386/efiemu.h: Likewise.
37066 * include/grub/i386/pc/biosdisk.h: Likewise.
37067 * include/grub/i386/pc/memory.h: Likewise.
37068 * include/grub/i386/pc/vbe.h: Likewise.
37069 * include/grub/parttool.h: Likewise.
37070 * include/grub/video.h: Likewise.
37071 * include/grub/memory.h: Likewise.
37072 * include/grub/fs.h: Likewise.
37073 * include/grub/partition.h: Likewise.
37074 * include/grub/xnu.h: Likewise.
37075 * include/grub/efi/api.h: Likewise.
37076 * include/grub/efi/pe32.h: Likewise.
37077 * include/grub/efi/memory.h: Likewise.
37078 * include/grub/multiboot.h: Likewise.
37079 * include/grub/usbdesc.h: Likewise.
37080 * include/grub/multiboot2.h: Likewise.
37081 * include/grub/acpi.h: Likewise.
37082 * include/grub/efiemu/efiemu.h: Likewise.
37083 * include/grub/disk.h: Likewise.
37084 * include/grub/ieee1275/ieee1275.h: Likewise.
37085 * include/grub/net.h: Likewise.
37086 * include/grub/machoload.h: Likewise.
37087 * include/grub/macho.h: Likewise.
37088 * include/multiboot.h: Likewise.
37089 * genmoddep.awk: Likewise.
37090 * normal/main.c: Likewise.
37091 * normal/menu_entry.c: Likewise.
37092 * normal/menu_viewer.c: Likewise.
37093 * normal/completion.c: Likewise.
37094 * normal/cmdline.c: Likewise.
37095 * normal/misc.c: Likewise.
37096 * normal/datetime.c: Likewise.
37097 * bus/usb/usbtrans.c: Likewise.
37098 * bus/usb/ohci.c: Likewise.
37099 * bus/usb/uhci.c: Likewise.
37100 * bus/usb/usb.c: Likewise.
37101 * mmap/efi/mmap.c: Likewise.
37102 * mmap/i386/pc/mmap_helper.S: Likewise.
37103 * mmap/i386/pc/mmap.c: Likewise.
37104 * mmap/i386/mmap.c: Likewise.
37105 * mmap/i386/uppermem.c: Likewise.
37106 * mmap/mmap.c: Likewise.
37107 * commands/acpi.c: Likewise.
37108 * commands/echo.c: Likewise.
37109 * commands/blocklist.c: Likewise.
37110 * commands/loadenv.c: Likewise.
37111 * commands/usbtest.c: Likewise.
37112 * commands/boot.c: Likewise.
37113 * commands/parttool.c: Likewise.
37114 * commands/search.c: Likewise.
37115 * commands/cat.c: Likewise.
37116 * commands/i386/pc/play.c: Likewise.
37117 * commands/i386/pc/drivemap.c: Likewise.
37118 * commands/i386/pc/vbeinfo.c: Likewise.
37119 * commands/i386/pc/acpi.c: Likewise.
37120 * commands/i386/pc/vbetest.c: Likewise.
37121 * commands/ls.c: Likewise.
37122 * commands/cmp.c: Likewise.
37123 * commands/test.c: Likewise.
37124 * commands/efi/acpi.c: Likewise.
37125 * commands/gptsync.c: Likewise.
37126 * commands/help.c: Likewise.
37127 * partmap/amiga.c: Likewise.
37128 * partmap/apple.c: Likewise.
37129 * partmap/acorn.c: Likewise.
37130 * partmap/pc.c: Likewise.
37131 * partmap/sun.c: Likewise.
37132 * partmap/gpt.c: Likewise.
37133 * script/sh/lexer.c: Likewise.
37134 * script/sh/function.c: Likewise.
37135 * font/font.c: Likewise.
37136 * font/font_cmd.c: Likewise.
37137 * loader/powerpc/ieee1275/linux.c: Likewise.
37138 * loader/efi/chainloader.c: Likewise.
37139 * loader/multiboot_loader.c: Likewise.
37140 * loader/macho.c: Likewise.
37141 * loader/i386/multiboot.c: Likewise.
37142 * loader/i386/linux.c: Likewise.
37143 * loader/i386/pc/linux.c: Likewise.
37144 * loader/i386/pc/multiboot2.c: Likewise.
37145 * loader/i386/pc/chainloader.c: Likewise.
37146 * loader/i386/pc/xnu.c: Likewise.
37147 * loader/i386/bsd_trampoline.S: Likewise.
37148 * loader/i386/efi/linux.c: Likewise.
37149 * loader/i386/multiboot_elfxx.c: Likewise.
37150 * loader/i386/bsd_helper.S: Likewise.
37151 * loader/i386/bsd.c: Likewise.
37152 * loader/i386/linux_trampoline.S: Likewise.
37153 * loader/i386/xnu_helper.S: Likewise.
37154 * loader/i386/xnu.c: Likewise.
37155 * loader/i386/bsd_pagetable.c: Likewise.
37156 * loader/i386/multiboot_helper.S: Likewise.
37157 * loader/xnu.c: Likewise.
37158 * loader/xnu_resume.c: Likewise.
37159 * io/gzio.c: Likewise.
37160 * term/efi/console.c: Likewise.
37161 * term/terminfo.c: Likewise.
37162 * term/ieee1275/ofconsole.c: Likewise.
37163 * term/i386/pc/serial.c: Likewise.
37164 * term/i386/pc/vesafb.c: Likewise.
37165 * term/i386/pc/vga.c: Likewise.
37166 * term/usb_keyboard.c: Likewise.
37167 * term/gfxterm.c: Likewise.
37168 * aclocal.m4: Likewise.
37169 * util/lvm.c: Likewise.
37170 * util/grub.d/30_os-prober.in: Likewise.
37171 * util/grub.d/10_hurd.in: Likewise.
37172 * util/console.c: Likewise.
37173 * util/grub-macho2img.c: Likewise.
37174 * util/grub-probe.c: Likewise.
37175 * util/hostfs.c: Likewise.
37176 * util/i386/pc/grub-mkimage.c: Likewise.
37177 * util/i386/pc/grub-setup.c: Likewise.
37178 * util/i386/efi/grub-mkimage.c: Likewise.
37179 * util/grub-mkconfig.in: Likewise.
37180 * util/raid.c: Likewise.
37181 * util/resolve.c: Likewise.
37182 * util/grub-mkdevicemap.c: Likewise.
37183 * util/grub-emu.c: Likewise.
37184 * util/getroot.c: Likewise.
37185 * util/hostdisk.c: Likewise.
37186 * util/usb.c: Likewise.
37187 * util/grub-editenv.c: Likewise.
37188 * util/misc.c: Likewise.
37189
d2d49665 371902009-06-10 Felix Zielcke <fzielcke@z-51.de>
37191
37192 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37193 `genparttoollist.sh'.
37194 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37195 Add `*.sh' to the list find searches for and change `mdate.sh'
37196 to `mdate-sh'.
37197
fe052e37 371982009-06-10 Pavel Roskin <proski@gnu.org>
37199
2763ac18 37200 * include/grub/multiboot2.h: Provide compatibility defines for
37201 multiboot2.h.
37202 * include/multiboot2.h: Include stdint.h only if needed, using
37203 angle brackets.
37204 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37205 grub/multiboot2.h.
37206 * loader/ieee1275/multiboot2.c: Likewise.
37207 * loader/multiboot2.c: Likewise.
37208 * loader/multiboot_loader.c: Likewise.
37209
437e6adc 37210 * configure.ac: Use -nostdlib when probing for the target. It
37211 should not be required to have libc for the target.
37212
06a6836c 37213 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37214 they fail without libc headers for the target.
37215 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37216 exports.
37217 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37218 preprocessor conditionals.
37219
fe052e37 37220 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37221 build system doesn't need to be aware of the tar.c internals.
37222
afd22553 372232009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37224
afd22553 37225 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37226
6b787c4f 372272009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37228
37229 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37230 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37231
372322009-06-09 Felix Zielcke <fzielcke@z-51.de>
37233
37234 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37235 aren't available if ata.mod gets used.
6b787c4f 37236
473d1e45 372372009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37238
473d1e45 37239 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37240 initialising controller.
473d1e45 37241 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37242
255a27d4 372432009-06-08 Felix Zielcke <fzielcke@z-51.de>
37244
37245 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37246 to choose between ata and biosdisk module on i386-pc.
37247
473d1e45 372482009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 37249
d55842d8 37250 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37251 Subclass and Programming Interface fields in terms of the 3 byte
37252 Class Code register.
37253 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37254
fa5db0b1 37255 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37256 interface is OHCI. Add grub_dprintf for symmetry with
37257 bus/usb/uhci.c.
37258 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37259 interface is UHCI. Add interf variable for programming
37260 interface. Print interface with class/subclass.
37261
c0947beb 37262 * bus/usb/ohci.c: Set interf with correct field.
37263
69da8877 37264 * bus/usb/uhci.c: Remove unneeded doubled lines.
37265 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37266 Remove whitespace inside comment.
37267
9e172e30 372682009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37269
37270 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37271 as fallback an equivalent option without depth.
37272
de65ee2b 372732009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37274
37275 Not fail if unable to retrieve C/H/S on LBA disks
37276
473d1e45 37277 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 37278 if unable to retrieve C/H/S on LBA disks
37279
b57ea2c9 372802009-06-08 Pavel Roskin <proski@gnu.org>
37281
37282 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37283 about aliasing.
37284
af361263 372852009-06-08 Felix Zielcke <fzielcke@z-51.de>
37286
37287 * Makefile.in (uninstall): Remove all $lib_DATA files.
37288
4c9ec6b3 372892009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37290
37291 Bugfix: install on partitionless device
37292
37293 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37294 is a whole disk
37295
e76fc924 372962009-06-08 Felix Zielcke <fzielcke@z-51.de>
37297
37298 * Makefile.in (uninstall): Remove all $include_DATA files.
37299
ba5a0d05 373002009-06-08 Felix Zielcke <fzielcke@z-51.de>
37301
37302 * commands/true.c: New file. Implement the true and false commands.
37303 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37304 (true_mod_SOURCES): New variable.
37305 (true_mod_CFLAGS): Likewise.
37306 (true_mod_LDFLAGS): Likewise.
37307
c8048e32 373082009-06-05 Colin D Bennett <colin@gibibit.com>
37309
37310 Optimized font character lookup using binary search instead of linear
37311 search. Fonts now are required to have the character index ordered by
37312 code point.
37313
37314 * font/font.c (load_font_index): Verify that fonts have ordered
37315 character indices.
37316 (find_glyph): Use binary search instead of linear search to find a
37317 character in a font.
37318
408305be 373192009-06-05 Michael Scherer <misc@mandriva.org>
37320
37321 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37322 uses case sensitive btree.
37323 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37324 only for case insensitive filesystems.
37325
8ee1e0d9 373262009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37327
37328 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37329 * conf/common.rmk (search_mod_CFLAGS): likewise
37330
a9966eb1 373312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37332
473d1e45 37333 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 37334 compensate a compiler bug
37335
9e7100fb 373362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37337
473d1e45 37338 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 37339 instead of '\b'
473d1e45 37340
ede21d71 373412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37342
37343 Definitions for creating asm symbols with Apple's CC
37344
37345 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37346 [APPLE_CC] (VARIABLE): likewise
37347
9dbf7653 373482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37349
37350 Disable lnxboot.img when compiled
37351 with Apple's CC
37352
37353 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37354 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37355 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37356 [! APPLE_CC] (CODE_LENG): skip
37357 [! APPLE_CC] (setup_sects): likewise
37358 [! APPLE_CC]: skip filling
473d1e45 37359
e93cdc3d 373602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37361
37362 Address in trampolines based on 32-bit registers when compiled
37363 with Apple's CC
37364
473d1e45 37365 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 37366 for addresses
37367 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37368
6c688477 373692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37370
37371 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37372
37373 * kern/misc.c [APPLE_CC] (memcpy): new function
37374 [APPLE_CC] (memmove): likewise
37375 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 37376 (memcpy): define alias conditionally on !APPLE_CC
6c688477 37377 (memset): likewise
37378 (abort): likewise
37379 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37380 APPLE_CC are defined
37381 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37382 (grub_assert_fail): make prototype conditional
37383
e37ffc5c 373842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37385
37386 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37387
473d1e45 37388 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37389 grub-macho2img
e37ffc5c 37390 (CLEANFILES): add grub-macho2img
37391 (grub_macho2img_SOURCES): new variable
37392 * kern/i386/pc/startup.S (bss_start): new variable
37393 (bss_end): likewise
37394 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37395 * util/grub-macho2img.c: new file
37396
cf00df31 373972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37398
37399 Use objconv when compiling with Apple's CC
37400
37401 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37402 (efiemu64.o): likewise
37403 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37404 when compiling with Apple's CC
37405 (efiemu64_s.o): likewise
37406 * configure.ac: check for objconv when compiling with Apple's CC
37407 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 37408
d119a20c 374092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37410
37411 Define segment as well as section when compiling with
37412 Apple's CC
37413
37414 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37415 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37416 (efiemu_convert_pointer): likewise
37417 (efiemu_set_virtual_address_map): likewise
37418 (efiemu_convert_pointer): likewise
37419 (efiemu_getcrc32): likewise
37420 (init_crc32_table): likewise
37421 (reflect): likewise
37422 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37423 (GRUB_MOD_DEP): likewise
473d1e45 37424
c8600122 374252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37426
37427 Allow a compilation without -mcmodel=large
37428
37429 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37430 when compiled without -mcmodel=large
473d1e45 37431 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 37432 without -mcmodel=large
473d1e45 37433 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 37434 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 37435
e8df1d4e 374362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37437
37438 Remove nested functions in efiemu core
37439
37440 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 37441
cc6c3ac1 374422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37443
37444 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37445
37446 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37447 temporary storage
473d1e45 37448 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37449 using Apple's CC
cc6c3ac1 37450 (grub_cpu_is_tsc_supported): likewise
37451 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 37452
3e325901 374532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37454
37455 Absolute addressing through constant with Apple's cc
37456
37457 * kern/i386/pc/startup.S: Define necessary constants
37458 and address through it when using ABS with Apple's CC
37459 * boot/i386/pc/diskboot.S: likewise
37460 * boot/i386/pc/boot.S: likewise
37461 * boot/i386/pc/lnxboot.S: likewise
37462 * boot/i386/pc/cdboot.S: likewise
37463 * mmap/i386/pc/mmap_helper.S: likewise
37464 * commands/i386/pc/drivemap_int13h.S: likewise
37465
2b167a72 374662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37467
37468 Check if compiler is apple cc
37469
37470 * Makefile.in (ASFLAGS): new variable
37471 (TARGET_ASFLAGS): likewise
37472 (TARGET_MODULE_FORMAT): likewise
37473 (TARGET_APPLE_CC): likewise
37474 (OBJCONV): likewise
37475 (TARGET_IMG_CFLAGS): likewise
37476 (TARGET_CPPFLAGS): add includedir
37477 * configure.ac: call grub_apple_cc and grub_apple_target_cc
37478 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
37479 Check for linker script only if compiler isn't Apple's CC
37480 (TARGET_MODULE_FORMAT): set
37481 (TARGET_APPLE_CC): likewise
37482 (TARGET_ASFLAGS): likewise
37483 (ASFLAGS): likewise
37484 Check for objcopy only if compiler isn't Apple's CC
37485 Check for BSS symbol only if compiler isn't Apple's CC
37486 * genmk.rb: adapt nm options if we use Apple's utils
37487 * aclocal.m4 (grub_apple_cc): new test
37488 (grub_apple_target_cc): likewise
473d1e45 37489
fb14123e 374902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37491
37492 Simplify sed expressions and improve awk
37493
37494 * Makefile.in (install-local): simplify sed expression
37495 * gencmdlist.sh: likewise
37496 * genmoddep.awk: avoid adding module as a dependency of itself
37497
5b889789 374982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37499
37500 Add missing start symbols
37501
37502 * boot/i386/pc/boot.S: add start
fb14123e 37503 * boot/i386/pc/pxeboot.S: likewise
473d1e45 37504
fd2bf2e3 375052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37506
37507 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 37508
37509 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 37510 (relocate_addresses): consider both r_addend and value at offset
37511 (make_mods_section): zerofill modinfo and header
37512 (convert_elf): write prefix here
473d1e45 37513
5389763d 375142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37515
37516 Use .asciz instead of .string
37517
37518 * i386/pc/diskboot.S: use .asciz instead of .string
37519 * i386/pc/boot.S: likewise
37520 * include/grub/dl.h (GRUB_MOD_DEP): likewise
37521 (GRUB_MOD_NAME): likewise
473d1e45 37522
3eb5ed4e 375232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37524
37525 gfxpayload support
37526
37527 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
37528 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
37529 (grub_video_setup): remove
37530 (grub_video_set_mode): new prototype
37531 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
37532 (vid_mode): remove
37533 (linux_vesafb_res): compile only on PCBIOS
37534 (grub_linux_boot): support gfxpayload
37535 * loader/i386/pc/xnu.c (video_hook): new function
37536 (grub_xnu_set_video): support gfxpayload
37537 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
37538 (DEFAULT_VIDEO_HEIGHT): likewise
37539 (DEFAULT_VIDEO_FLAGS): likewise
37540 (DEFAULT_VIDEO_MODE): new definition
37541 (video_hook): new function
37542 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 37543 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 37544 loading xnu
37545 * video/video.c (grub_video_setup): removed
473d1e45 37546 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 37547 grub_video_setup
37548
4b0e1143 375492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37550
37551 Avoid calling biosdisk in drivemap
37552
37553 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
37554 (revparse_biosdisk): likewise
37555 (list_mappings): derive name from id directly
37556 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 37557
fda6cb98 375582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37559
37560 Script fixes
37561
37562 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
37563 (grub_lexer_param): add tokenonhold
37564 (grub_script_create_cmdline): remove cmdline. All callers updated
37565 (grub_script_function_create): make functionname
37566 grub_script_arg. All callers updated
37567 (grub_script_execute_argument_to_string): new prototype
37568 * kern/parser.c (state_transitions): reorder
37569 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 37570 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 37571 make global
37572 (grub_script_execute_cmdline): use new format
37573 * script/sh/function.c (grub_script_function_create): make functionname
37574 grub_script_arg. All callers updated
473d1e45 37575 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 37576 (grub_script_yylex): remove
37577 (grub_script_yylex2): renamed to ...
37578 (grub_script_yylex): ...renamed
37579 parse the expressions like a${b}c
37580 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
37581 (GRUB_PARSER_TOKEN_VAR): remove
37582 (GRUB_PARSER_TOKEN_NAME): likewise
37583 ("if"): declare as typeless
37584 ("while"): likewise
37585 ("function"): likewise
37586 ("else"): likewise
37587 ("then"): likewise
37588 ("fi"): likewise
37589 (text): remove
37590 (argument): likewise
37591 (script): accept empty scripts and make exit on error
37592 (arguments): use GRUB_PARSER_TOKEN_ARG
37593 (function): likewise
37594 (command): move error handling to script
37595 (menuentry): move grub_script_lexer_ref before
473d1e45 37596 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 37597 argument. All callers updated
37598
f4448a07 375992009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37600
37601 Prevent GRUB from probing floppies during boot.
37602
37603 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
37604 * commands/search.c (options): Add --no-floppy.
37605 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
37606 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
37607 --no-floppy when searching for UUIDs.
37608
2bf5885a 376092009-06-04 Robert Millan <rmh.grub@aybabtu.com>
37610
37611 Simplify the code duplication in commands/search.c.
37612
37613 * commands/search.c (search_label, search_fs_uuid): Merge into ...
37614 (search_fs): ... this. Update all users.
37615
f6fd460a 376162009-06-03 Felix Zielcke <fzielcke@z-51.de>
37617
37618 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
37619
cbb3c83e 376202009-05-28 Pavel Roskin <proski@gnu.org>
37621
57788cfd 37622 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
37623 Remove the original symlink explicitly.
37624
cbb3c83e 37625 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
37626 just one slash. That's how grub_fshelp_find_file() does it.
37627
cd0d5e30 376282009-05-26 Pavel Roskin <proski@gnu.org>
37629
f0f8bbe2 37630 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
37631 to `str'.
37632
cd0d5e30 37633 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
37634 possibly unused.
37635
8c2cab51 376362009-05-25 Christian Franke <franke@computer.org>
37637
37638 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
37639 register.
37640 (grub_atapi_identify): Add wait after drive select.
37641 (grub_ata_identify): Do more strict status register check before
37642 calling grub_atapi_identify (). Suppress error message if status
37643 register is 0x00 after command failure. Add status register
37644 check after PIO read to avoid bogus identify due to stuck DRQ.
37645 Thanks to Pavel Roskin for testing.
37646 (grub_device_initialize): Remove unsafe status register check.
37647 Thanks to 'phcoder' for problem report and patch.
37648 Prevent sign extension in debug message.
37649
230c0ad6 376502009-05-23 Colin D Bennett <colin@gibibit.com>
37651
37652 Cleaned up `include/grub/normal.h'. Grouped prototypes by
37653 definition file, and functions defined in `normal/menu.c' have had
37654 their prototypes moved to `include/grub/menu.h' for consistency.
37655
37656 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
37657 from normal.h.
37658 (grub_menu_get_entry): Likewise.
37659 (grub_menu_get_timeout): Likewise.
37660 (grub_menu_set_timeout): Likewise.
37661 (grub_menu_execute_entry): Likewise.
37662 (grub_menu_execute_with_fallback): Likewise.
37663 (grub_menu_entry_run): Likewise.
37664
37665 * include/grub/normal.h: Re-ordered and grouped function
37666 prototypes by file that the function is defined in.
37667 (grub_menu_execute_callback): Removed; moved to menu.h.
37668 (grub_menu_get_entry): Likewise.
37669 (grub_menu_get_timeout): Likewise.
37670 (grub_menu_set_timeout): Likewise.
37671 (grub_menu_execute_entry): Likewise.
37672 (grub_menu_execute_with_fallback): Likewise.
37673 (grub_menu_entry_run): Likewise.
37674 (grub_menu_addentry): Renamed from this ...
37675 (grub_normal_add_menu_entry): ... to this.
37676
37677 * normal/main.c (grub_menu_addentry): Renamed from this ...
37678 (grub_normal_add_menu_entry): ... to this.
37679
37680 * script/sh/execute.c (grub_script_execute_menuentry): Update
37681 reference to renamed grub_menu_addentry function.
37682
861f03a5 376832009-05-23 Felix Zielcke <fzielcke@z-51.de>
37684
37685 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
37686
96b1619a 376872009-05-22 Pavel Roskin <proski@gnu.org>
37688
bf6a5fb2 37689 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
37690 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
37691 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
37692 compiling for the i386 targets, but not for the utilities.
37693
96b1619a 37694 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
37695 to grub_uint8_t.
37696 (grub_root_drive): Likewise.
37697 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
37698 remove alignment.
37699 (grub_root_drive): Change size to byte.
37700 (grub_start_addr): Remove.
37701 (grub_end_addr): Likewise.
37702 (grub_apm_bios_info): Likewise.
37703
b729776b 377042009-05-21 Felix Zielcke <fzielcke@z-51.de>
37705
37706 * normal/i386: Remove.
37707 * normal/powerpc: Likewise.
37708 * normal/sparc64: Likewise.
37709 * normal/x86_64: Likewise.
37710
0a15ce80 377112009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
37712
37713 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 37714 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 37715 * loader/i386/xnu_helper.S: Likewise
d6da58e6 37716
33db9015 377172009-05-18 Colin D Bennett <colin@gibibit.com>
37718
d6da58e6 37719 Display error messages when parsing a Lua statement fails.
37720 Previously, executing a syntactically invalid statement like
37721 ")foo" or "bar;" would silently fail.
33db9015 37722
37723 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 37724 (grub_lua_parse_line): Improved reporting of Lua parser and
37725 execution errors.
33db9015 37726
46422c89 377272009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37728
37729 Remove -Werror which causes build to fail on some systems
37730
37731 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
37732 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
37733 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 37734
22f53a96 377352009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
37736
37737 trampoline for linux on 64-bit platform
37738
18f547ad 37739 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
37740 loader/i386/efi/linux_trampoline.S
37741 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 37742 declaration
d6da58e6 37743 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
37744 here
22f53a96 37745 * loader/i386/linux_trampoline.S: moved here
d6da58e6 37746 * loader/i386/efi/linux.c (allocate_pages): reserve space for
37747 trampoline
22f53a96 37748 (jumpvector): removed
37749 (grub_linux_trampoline_start): new declaration
37750 (grub_linux_trampoline_end): likewise
37751 (grub_linux_boot): use trampoline when on 64-bit platform
37752 * loader/i386/linux.c: likewise
37753
cb5a0f40 377542009-05-16 Pavel Roskin <proski@gnu.org>
37755
37756 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
37757 const to avoid a warning.
37758 (grub_lua_setenv): Likewise.
37759 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
37760 lmsg to fix a warning.
37761
334f2c28 377622009-05-16 Felix Zielcke <fzielcke@z-51.de>
37763
37764 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 37765 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37766 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
37767 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37768 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37769 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
37770 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
37771 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 37772
59e5d3ec 377732009-05-16 Felix Zielcke <fzielcke@z-51.de>
37774
37775 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
37776
9d87a1ba 377772009-05-16 Bean <bean123ch@gmail.com>
37778
37779 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
37780 (lua_mod_SOURCES): New variable.
37781 (lua_mod_CFLAGS): Likewise.
37782 (lua_mod_LDFLAGS): Likewise.
37783
37784 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
37785 (setjmp_mod_SOURCES): New variable.
37786 (setjmp_mod_CFLAGS): Likewise.
37787 (setjmp_LDFLAGS): Likewise.
37788
37789 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
37790 (setjmp_mod_SOURCES): New variable.
37791 (setjmp_mod_CFLAGS): Likewise.
37792 (setjmp_LDFLAGS): Likewise.
37793
37794 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37795 (setjmp_mod_SOURCES): New variable.
37796 (setjmp_mod_CFLAGS): Likewise.
37797 (setjmp_LDFLAGS): Likewise.
37798
37799 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
37800 (setjmp_mod_SOURCES): New variable.
37801 (setjmp_mod_CFLAGS): Likewise.
37802 (setjmp_LDFLAGS): Likewise.
37803
37804 * normal/i386/setjmp.S: Moved from here ...
37805 * lib/i386/setjmp.S: ... Moved here
37806 * normal/x86_64/setjmp.S: Moved from here ...
37807 * lib/x86_64/setjmp.S: ... Moved here
37808 * normal/powerpc/setjmp.S: Moved from here ...
37809 * lib/powerpc/setjmp.S: ... Moved here
37810 * normal/sparc64/setjmp.S: Moved from here ...
37811 * lib/sparc64/setjmp.S: ... Moved here
37812
37813 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
37814 returns_twice in mingw.
37815
37816 * script/lua/grub_lib.c: New file.
37817 * script/lua/grub_lib.h: Likewise.
37818 * script/lua/grub_lua.h: Likewise.
37819 * script/lua/grub_main.c: Likewise.
37820 * script/lua/lapi.c: Likewise.
37821 * script/lua/lapi.h: Likewise.
37822 * script/lua/lauxlib.c: Likewise.
37823 * script/lua/lauxlib.h: Likewise.
37824 * script/lua/lbaselib.c: Likewise.
37825 * script/lua/lcode.c: Likewise.
37826 * script/lua/lcode.h: Likewise.
37827 * script/lua/ldblib.c: Likewise.
37828 * script/lua/ldebug.c: Likewise.
37829 * script/lua/ldebug.h: Likewise.
37830 * script/lua/ldo.c: Likewise.
37831 * script/lua/ldo.h: Likewise.
37832 * script/lua/ldump.c: Likewise.
37833 * script/lua/lfunc.c: Likewise.
37834 * script/lua/lfunc.h: Likewise.
37835 * script/lua/lgc.c: Likewise.
37836 * script/lua/lgc.h: Likewise.
37837 * script/lua/linit.c: Likewise.
37838 * script/lua/liolib.c: Likewise.
37839 * script/lua/llex.c: Likewise.
37840 * script/lua/llex.h: Likewise.
37841 * script/lua/llimits.h: Likewise.
37842 * script/lua/lmathlib.c: Likewise.
37843 * script/lua/lmem.c: Likewise.
37844 * script/lua/lmem.h: Likewise.
37845 * script/lua/loadlib.c: Likewise.
37846 * script/lua/lobject.c: Likewise.
37847 * script/lua/lobject.h: Likewise.
37848 * script/lua/lopcodes.c: Likewise.
37849 * script/lua/lopcodes.h: Likewise.
37850 * script/lua/loslib.c: Likewise.
37851 * script/lua/lparser.c: Likewise.
37852 * script/lua/lparser.h: Likewise.
37853 * script/lua/lstate.c: Likewise.
37854 * script/lua/lstate.h: Likewise.
37855 * script/lua/lstring.c: Likewise.
37856 * script/lua/lstring.h: Likewise.
37857 * script/lua/lstrlib.c: Likewise.
37858 * script/lua/ltable.c: Likewise.
37859 * script/lua/ltable.h: Likewise.
37860 * script/lua/ltablib.c: Likewise.
37861 * script/lua/ltm.c: Likewise.
37862 * script/lua/ltm.h: Likewise.
37863 * script/lua/lua.h: Likewise.
37864 * script/lua/luaconf.h: Likewise.
37865 * script/lua/lualib.h: Likewise.
37866 * script/lua/lundump.c: Likewise.
37867 * script/lua/lundump.h: Likewise.
37868 * script/lua/lvm.c: Likewise.
37869 * script/lua/lvm.h: Likewise.
37870 * script/lua/lzio.c: Likewise.
37871 * script/lua/lzio.h: Likewise.
37872
5e898c9d 378732009-05-16 Bean <bean123ch@gmail.com>
37874
37875 * include/grub/kernel.h (grub_module_header_types): Add type
37876 OBJ_TYPE_CONFIG.
37877
37878 * kern/main.c (grub_load_config): New function.
37879 (grub_main): Call grub_load_config to read boot config.
37880
37881 * grub-mkimage (generate_image): New parameter config_path.
37882 (options): New option --config.
37883 (main): Parse --config option, and pass it to generate_image.
37884
cf353a47 378852009-05-14 Christian Franke <franke@computer.org>
37886
37887 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
37888 This fixes build on Cygwin.
37889
3834887f 378902009-05-14 Pavel Roskin <proski@gnu.org>
37891
37892 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
37893 jump. This saves two bytes, so the typical case of 2 swapped
37894 drives would fit 32 bytes.
37895
8090fc01 378962009-05-13 Pavel Roskin <proski@gnu.org>
37897
ac963883 37898 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
37899 grub_uint32_t to avoid a warning.
37900
8090fc01 37901 * loader/i386/linux.c (allocate_pages): When assigning
37902 real_mode_mem, cast through grub_size_t to fix a warning. The
37903 code already makes sure that the value would fit a pointer.
37904 (grub_linux_setup_video): Cast render_target->data to
37905 grub_size_t to fix a warning.
37906
18f547ad 379072009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 37908
37909 * commands/i386/pc/drivemap.c: New file - implement drivemap
37910 command.
37911 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
37912 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
37913
6f6a8b28 379142009-05-13 Pavel Roskin <proski@gnu.org>
37915
37916 * util/i386/pc/grub-setup.c (setup): Remove unused variable
37917 embedding_area_exists.
37918
15fbf4c4 379192009-05-13 Robert Millan <rmh.grub@aybabtu.com>
37920
37921 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
37922 it easier to understand / work with.
59978c8a 37923 Improve warning messages for cases where there's no embedding area,
37924 or when it is too small (or core.img too large).
15fbf4c4 37925
238e871f 379262009-05-13 Pavel Roskin <proski@gnu.org>
37927
0ab3a9a4 37928 * loader/i386/pc/multiboot2.c: Add necessary includes for
37929 grub_multiboot2_real_boot().
37930
a2c8c5f8 37931 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
37932 PX record is always little-endian. We only need the lower 2
37933 bytes of the mode.
37934
faec96af 37935 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
37936 facilitate code reuse.
37937 (grub_cpio_mount): Use "struct head", not a char buffer. This
37938 fixes a warning reported by gcc 4.4.
37939
238e871f 37940 * kernel/disk.c (grub_disk_read): Use void pointer for the
37941 buffer.
37942 (grub_disk_write): Use const void pointer for the buffer.
37943 Adjust all callers. Remove unnecessary casts.
37944
901d2f0c 379452009-05-10 Robert Millan <rmh.grub@aybabtu.com>
37946
37947 * util/i386/pc/grub-install.in: Update copyright year.
37948
18f547ad 379492009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 37950
37951 gptsync
37952
37953 * commands/gptsync.c: new file
37954 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
37955 (gptsync_mod_SOURCES): new variable
37956 (gptsync_mod_CFLAGS): likewise
37957 (gptsync_mod_LDFLAGS): likewise
18f547ad 37958 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 37959 new definition
37960 (GRUB_PC_PARTITION_TYPE_HFS): likewise
37961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
37962 * conf/i386-ieee1275.rmk: likewise
37963 * conf/i386-pc.rmk: likewise
37964 * conf/powerpc-ieee1275.rmk: likewise
37965
b4ba690a 379662009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
37967
37968 Fixed grub-emu
37969
37970 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
37971 (grub_dl_ref): likewise
37972
317e1a44 379732009-05-08 Robert Millan <rmh.grub@aybabtu.com>
37974
37975 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
37976 split in two functions (one for msdos and one for gpt).
37977
041b8094 379782009-05-08 Pavel Roskin <proski@gnu.org>
37979
752473c2 37980 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
37981 not modified.
37982
041b8094 37983 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
37984 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
37985 Initialize them with -1. Add sanity check for bad1. Eliminate
37986 nerr variable.
37987
172800ce 379882009-05-08 David S. Miller <davem@davemloft.net>
37989
37990 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
37991
29aa5e81 379922009-05-06 Robert Millan <rmh.grub@aybabtu.com>
37993
37994 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 37995 existence.
29aa5e81 37996
96613b62 379972009-05-05 Felix Zielcke <fzielcke@z-51.de>
37998
37999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 38000 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 38001
eef73c8a 380022009-05-05 David S. Miller <davem@davemloft.net>
38003
38004 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38005
119494b5 380062009-05-05 Pavel Roskin <proski@gnu.org>
38007
38008 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38009 of grub_dl_ref() and grub_dl_unref().
38010 * commands/parttool.c: Remove preprocessor conditionals around
38011 grub_dl_ref() and grub_dl_unref().
38012 * fs/affs.c: Likewise.
38013 * fs/afs.c: Likewise.
38014 * fs/cpio.c: Likewise.
38015 * fs/ext2.c: Likewise.
38016 * fs/fat.c: Likewise.
38017 * fs/hfs.c: Likewise.
38018 * fs/hfsplus.c: Likewise.
38019 * fs/iso9660.c: Likewise.
38020 * fs/jfs.c: Likewise.
38021 * fs/minix.c: Likewise.
38022 * fs/ntfs.c: Likewise.
38023 * fs/reiserfs.c: Likewise.
38024 * fs/sfs.c: Likewise.
38025 * fs/udf.c: Likewise.
38026 * fs/ufs.c: Likewise.
38027 * fs/xfs.c: Likewise.
38028 * include/grub/dl.h: Likewise.
38029 * loader/xnu.c: Likewise.
38030
de5fd76e 380312009-05-04 Pavel Roskin <proski@gnu.org>
38032
38033 * commands/acpi.c: Remove unused variable my_mod.
38034 * partmap/amiga.c: Likewise.
38035 * partmap/apple.c: Likewise.
38036 * partmap/gpt.c: Likewise.
38037 * partmap/pc.c: Likewise.
38038 * partmap/sun.c: Likewise.
38039 * term/gfxterm.c: Likewise.
38040 * term/i386/pc/vesafb.c: Likewise.
38041 * term/i386/pc/vga.c: Likewise.
38042
983598ad 380432009-05-04 David S. Miller <davem@davemloft.net>
38044
38045 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38046 pointer args to grub_ieee1275_get_property().
38047
8aadec43 38048 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38049
9554b15e 38050 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38051 devices, and do not traverse down under controller nodes.
38052
67e23c90 38053 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38054 (grub_ofdisk_open): Use it to un-escape "," characters.
38055 * kern/disk.c (find_part_sep): New.
38056 (grub_disk_open): Use it to find the first non-escaped ','
38057 character in the disk name.
38058 * util/ieee1275/devicemap.c (escape_of_path): New.
38059 (grub_util_emit_devicemap_entry): Use it.
38060 * util/sparc64/ieee1275/grub-install.in: Update script to
38061 strip partition specifiers properly by not triggering on
38062 '\' escaped ',' characters.
38063
74bfdd2f 380642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38065
38066 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38067 to 0x300.
38068 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38069 resolutions.
38070 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38071 on documentation from Wikipedia).
38072
4241d2b1 380732009-05-04 Pavel Roskin <proski@gnu.org>
38074
38075 * disk/ata.c: Spelling fixes.
38076 * disk/raid.c: Likewise.
38077 * disk/usbms.c: Likewise.
38078 * disk/dmraid_nvidia.c: Likewise.
38079 * kern/ieee1275/openfw.c: Likewise.
38080 * kern/ieee1275/init.c: Likewise.
38081 * kern/ieee1275/cmain.c: Likewise.
38082 * boot/i386/pc/cdboot.S: Likewise.
38083 * video/readers/png.c: Likewise.
38084 * video/i386/pc/vbe.c: Likewise.
38085 * fs/udf.c: Likewise.
38086 * fs/hfs.c: Likewise.
38087 * fs/reiserfs.c: Likewise.
38088 * efiemu/runtime/efiemu.c: Likewise.
38089 * efiemu/main.c: Likewise.
38090 * efiemu/mm.c: Likewise.
38091 * include/grub/elf.h: Likewise.
38092 * include/grub/xnu.h: Likewise.
38093 * include/grub/usbdesc.h: Likewise.
38094 * include/grub/usb.h: Likewise.
38095 * include/grub/script_sh.h: Likewise.
38096 * include/grub/lib/LzmaEnc.h: Likewise.
38097 * include/grub/efiemu/efiemu.h: Likewise.
38098 * include/grub/command.h: Likewise.
38099 * normal/menu.c: Likewise.
38100 * normal/main.c: Likewise.
38101 * normal/datetime.c: Likewise.
38102 * bus/usb/uhci.c: Likewise.
38103 * mmap/i386/uppermem.c: Likewise.
38104 * mmap/mmap.c: Likewise.
38105 * commands/acpi.c: Likewise.
38106 * commands/test.c: Likewise.
38107 * partmap/apple.c: Likewise.
38108 * font/font.c: Likewise.
38109 * loader/sparc64/ieee1275/linux.c: Likewise.
38110 * loader/macho.c: Likewise.
38111 * loader/i386/bsd_trampoline.S: Likewise.
38112 * loader/i386/bsd.c: Likewise.
38113 * loader/xnu.c: Likewise.
38114 * term/i386/pc/vesafb.c: Likewise.
38115 * term/usb_keyboard.c: Likewise.
38116 * util/resolve.c: Likewise.
38117 * util/getroot.c: Likewise.
38118
0cfc0083 381192009-05-04 Felix Zielcke <fzielcke@z-51.de>
38120
38121 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38122
7c1d00cd 381232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38124
38125 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38126 build error.
38127
b01f0548 381282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38129
38130 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38131 parameter only available on BIOS.
38132
ecc3eb22 381332009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38134
38135 Removed wrong semicolon in declaration
38136
38137 * grub/misc.h (grub_dprintf): remove semicolon
38138
112972a9 381392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38140
38141 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38142 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38143 is done by grub_cmd_linux() now).
38144 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38145 restore video to text mode.
38146 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38147 indicates lack of "vga=" parameter. "vga=0" is mapped to
38148 `GRUB_LINUX_VID_MODE_NORMAL'.
38149
afd5c115 381502009-05-04 Felix Zielcke <fzielcke@z-51.de>
38151
38152 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38153 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38154 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38155 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38156 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38157 `grub_script.tab.c'.
38158
38159 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38160 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38162 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38164
faa517ce 38165 * Makefile.in: Remove duplicated 2008 in Copyright line.
38166
ae0c0bdc 381672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38168
473d1e45 38169 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 38170 unconditionally.
38171 * include/grub/util/misc.h (grub_util_warn): New declaration.
38172
38173 * util/i386/pc/grub-install.in: Understand --force and pass it down
38174 to grub-setup.
38175
38176 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38177 down to setup().
38178 (setup): Improve error messages and add warnings when requested to
38179 install in odd layouts. Refuse to install using blocklists unless
38180 --force was set.
38181
18f547ad 381822009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38183
38184 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38185
6d260daa 381862009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38187
38188 Updated copyright year
38189
38190 * fs/hfsplus.c: updated copyright year
18f547ad 38191
69f853f8 381922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38193
38194 HFS+ UUID
38195
18f547ad 38196 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38197 in the space previously used by unused3
38198 (grub_hfsplus_uuid): new function
38199 (grub_hfsplus_fs): added uuid field
38200
4c402e73 382012009-05-03 Pavel Roskin <proski@gnu.org>
38202
38203 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38204 suppress warnings. It's no longer needed.
38205 * disk/host.c: Likewise.
38206 * disk/ata_pthru.c: Likewise.
38207 * disk/loopback.c: Likewise.
38208 * hook/datehook.c: Likewise.
38209 * parttool/pcpart.c: Likewise.
38210 * fs/i386/pc/pxe.c: Likewise.
38211 * fs/ntfscomp.c: Likewise.
38212 * efiemu/main.c: Likewise.
38213 * mmap/mmap.c: Likewise.
38214 * commands/crc.c: Likewise.
38215 * commands/hexdump.c: Likewise.
38216 * commands/hdparm.c: Likewise.
38217 * commands/acpi.c: Likewise.
38218 * commands/echo.c: Likewise.
38219 * commands/minicmd.c: Likewise.
38220 * commands/blocklist.c: Likewise.
38221 * commands/memrw.c: Likewise.
38222 * commands/loadenv.c: Likewise.
38223 * commands/usbtest.c: Likewise.
38224 * commands/lsmmap.c: Likewise.
38225 * commands/boot.c: Likewise.
38226 * commands/parttool.c: Likewise.
38227 * commands/configfile.c: Likewise.
38228 * commands/search.c: Likewise.
38229 * commands/ieee1275/suspend.c: Likewise.
38230 * commands/cat.c: Likewise.
38231 * commands/i386/pc/pxecmd.c: Likewise.
38232 * commands/i386/pc/play.c: Likewise.
38233 * commands/i386/pc/halt.c: Likewise.
38234 * commands/i386/pc/vbeinfo.c: Likewise.
38235 * commands/i386/pc/vbetest.c: Likewise.
38236 * commands/lspci.c: Likewise.
38237 * commands/date.c: Likewise.
38238 * commands/handler.c: Likewise.
38239 * commands/ls.c: Likewise.
38240 * commands/test.c: Likewise.
38241 * commands/cmp.c: Likewise.
38242 * commands/efi/loadbios.c: Likewise.
38243 * commands/efi/fixvideo.c: Likewise.
38244 * commands/halt.c: Likewise.
38245 * commands/help.c: Likewise.
38246 * commands/reboot.c: Likewise.
38247 * hello/hello.c: Likewise.
38248 * script/sh/main.c: Likewise.
38249 * loader/xnu.c: Likewise.
38250 * term/terminfo.c: Likewise.
38251 * term/i386/pc/serial.c: Likewise.
38252 * term/usb_keyboard.c: Likewise.
38253
515b5079 382542009-05-03 David S. Miller <davem@davemloft.net>
38255
38256 * normal/menu.c: Include grub/parser.h
38257
dfc31a22 382582009-05-03 Pavel Roskin <proski@gnu.org>
38259
2fee74f1 38260 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38261 not char*.
38262 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38263 Suggested by Javier Martín <lordhabbit@gmail.com>
38264
dfc31a22 38265 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38266 efiemu??.o doesn't exist.
38267 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38268 copying.
38269
18f547ad 382702009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 38271
38272 FreeBSD 64-bit support
38273
18f547ad 38274 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 38275 and loader/i386/bsd_trampoline.S
38276 (bsd_mod_ASFLAGS): new variable
38277 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38278 (FREEBSD_MODTYPE_KERNEL64): likewise
38279 (grub_bsd64_trampoline_start): likewise
38280 (grub_bsd64_trampoline_end): likewise
38281 (grub_bsd64_trampoline_selfjump): likewise
38282 (grub_bsd64_trampoline_gdt): likewise
38283 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38284 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38285 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38286 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 38287 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 38288 of "attrib" member
38289 * loader/i386/bsd_pagetable.c: new file
38290 * loader/i386/bsd_trampoline.S: likewise
38291 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38292 (ALIGN_VAR): likewise
38293 (entry_hi): new variable
38294 (kern_end_mdofs): likewise
38295 (is_64bit): likewise
38296 (grub_freebsd_add_meta): use ALIGN_VAR
38297 (grub_e820_mmap): new declaration
38298 (grub_freebsd_add_mmap): new function
38299 (grub_freebsd_add_meta_module): support 64 bit kernels
38300 (grub_freebsd_list_modules): use ALIGN_VAR
38301 (gdt_descriptor): new declaration
38302 (grub_freebsd_boot): support 64 bit kernels
38303 (grub_bsd_elf64_hook): new function
38304 (grub_bsd_load_elf): support elf64
38305
038c5720 383062009-05-03 Bean <bean123ch@gmail.com>
38307
38308 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38309 after we get the result of if statement.
38310
fc45fb58 383112009-05-03 Bean <bean123ch@gmail.com>
38312
38313 * Makefile.in (enable_efiemu): New variable.
38314
38315 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38316 set.
38317 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38318 path.
38319 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38320 path, add -mno-red-zone option.
38321 (efiemu64_s.o): Likewise.
38322 (efiemu64.o): Use macro $^ for source file.
38323
38324 * configure.ac (--enable-efiemu): New option.
38325
bbee0f2b 383262009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38327
38328 xnu support
38329
38330 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38331 (pkglib_MODULES): add xnu.mod
38332 (xnu_mod_SOURCES): new variable
38333 (xnu_mod_CFLAGS): likewise
38334 (xnu_mod_LDFLAGS): likewise
38335 (xnu_mod_ASFLAGS): likewise
38336 * conf/i386-pc.rmk: likewise
38337 * conf/x86_64-efi.rmk: likewise
7dd4a573 38338 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 38339 new declaration
38340 * include/grub/i386/macho.h: new file
38341 * include/grub/i386/xnu.h: likewise
38342 * include/grub/macho.h: likewise
38343 * include/grub/machoload.h: likewise
38344 * include/grub/x86_64/macho.h: likewise
38345 * include/grub/x86_64/xnu.h: likewise
38346 * include/grub/xnu.h: likewise
38347 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38348 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38349 * loader/i386/efi/xnu.c: new file
38350 * loader/i386/pc/xnu.c: likewise
38351 * loader/i386/xnu.c: likewise
38352 * loader/i386/xnu_helper.S: likewise
38353 * loader/macho.c: likewise
38354 * loader/xnu.c: likewise
38355 * loader/xnu_resume.c: likewise
38356 * util/grub-dumpdevtree: likewise
38357 * include/grub/i386/pit.h: include grub/err.h
38358 (grub_pit_wait): export
38359 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 38360
5caf964d 383612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38362
38363 Efiemu
7dd4a573 38364
5caf964d 38365 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 38366 _linux_efi, linux_efi.
38367 new files in grub-emu
5caf964d 38368 new targets efiemu32.o and efiemu64.o
38369 * loader/linux_normal_efiemu.c: likewise
38370 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 38371 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 38372 files to copy
38373 * include/grub/autoefi.h: new file
7dd4a573 38374 * include/grub/i386/efiemu.h: likewise
5caf964d 38375 * include/grub/i386/pc/efiemu.h: likewise
38376 * include/grub/efi/api.h: add LL suffix when necessary
38377 new definitions relating to tables
38378 * include/grub/efiemu/efiemu.h: new file
38379 * include/grub/efiemu/runtime.h: likewise
38380 * efiemu/prepare.c: likewise
38381 * efiemu/loadcore_common.c: likewise
38382 * efiemu/loadcore64.c: likewise
38383 * efiemu/runtime/efiemu.sh: likewise
38384 * efiemu/runtime/efiemu.S: likewise
38385 * efiemu/runtime/efiemu.c: likewise
38386 * efiemu/runtime/config.h: likewise
38387 * efiemu/prepare32.c: likewise
38388 * efiemu/main.c: likewise
38389 * efiemu/modules/pnvram.c: likewise
38390 * efiemu/modules/i386: likewise
38391 * efiemu/modules/i386/pc: likewise
38392 * efiemu/modules/acpi.c: likewise
38393 * efiemu/i386/pc/cfgtables.c: likewise
38394 * efiemu/i386/loadcore64.c: likewise
38395 * efiemu/i386/loadcore32.c: likewise
38396 * efiemu/prepare64.c: likewise
38397 * efiemu/loadcore.c: likewise
38398 * efiemu/symbols.c: likewise
38399 * efiemu/mm.c: likewise
38400 * efiemu/loadcore32.c: likewise
7dd4a573 38401
384022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 38403
38404 ACPI spoofing
38405
38406 * commands/acpi.c: new file
38407 * commands/i386/pc/acpi.c: likewise
38408 * commands/efi/acpi.c: likewise
38409 * include/grub/acpi.h: likewise
38410 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38411 (acpi_mod_SOURCES): new variable
38412 (acpi_mod_CFLAGS): likewise
38413 (acpi_mod_LDFLAGS): likewise
38414 * conf/i386-efi.rmk: likewise
38415 * conf/x86_64-efi.rmk: likewise
38416
7dd4a573 384172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 38418
38419 Missing part from mmap patch
38420
38421 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38422 (grub_mmap_unregister)
38423 (grub_mmap_free_and_unregister): use grub_mmap_register
38424
7dd4a573 384252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 38426
38427 Mmap services
38428
38429 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38430 * loader/i386/linux.c (find_mmap_size): likewise
38431 (allocate_pages): likewise
38432 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38433 (grub_fill_multiboot_mmap): likewise
38434 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38435 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38436 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38437 (OPENBSD_MMAP_RESERVED): likewise
38438 * include/grub/i386/pc/memory.h: include grub/memory.h
38439 (grub_lower_mem): removed
38440 (grub_upper_mem): likewise
38441 (GRUB_MACHINE_MEMORY_ACPI): new definition
38442 (GRUB_MACHINE_MEMORY_NVS): likewise
38443 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38444 (GRUB_MACHINE_MEMORY_HOLE): likewise
38445 (grub_machine_mmap_register): likewise
38446 (grub_machine_mmap_unregister): likewise
38447 (grub_machine_get_upper): likewise
38448 (grub_machine_get_lower): likewise
38449 (grub_machine_get_post64): likewise
38450 * include/grub/i386/efi/memory.h: new file
38451 * include/grub/x86_64/efi/memory.h: likewise
38452 * include/grub/efi/memory.h: likewise
38453 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
38454 (mmap_mod_SOURCES): new variable
38455 (mmap_mod_LDFLAGS): likewise
38456 (mmap_mod_ASFLAGS): likewise
38457 * conf/i386-coreboot.rmk: likewise
38458 * conf/i386-ieee1275.rmk: likewise
38459 * conf/i386-efi.rmk: likewise
38460 * conf/x86_64-efi.rmk: likewise
38461 * include/grub/types.h (UINT_TO_PTR): new macro
38462 (PTR_TO_UINT32): likewise
38463 (PTR_TO_UINT64): likewise
38464 * include/grub/memory.h: new file
38465 * mmap/i386/pc/mmap.c: likewise
38466 * mmap/i386/pc/mmap_helper.S: likewise
38467 * mmap/i386/uppermem.c: likewise
38468 * mmap/mmap.c: likewise
38469 * mmap/efi/mmap.c: likewise
7dd4a573 38470 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 38471 grub_upper_mem
38472 * kern/i386/pc/init.c (grub_lower_mem): removed variable
38473 (grub_upper_mem): likewise
38474 (grub_machine_init): don't use grub_upper_mem,
38475 make grub_lower_mem local
38476 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
38477 grub_mmap_iterate and grub_mmap_get_upper
38478 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
38479
d558e6b5 384802009-05-02 Bean <bean123ch@gmail.com>
38481
38482 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
38483 script/sh/parser.y.
38484 (pkglib_MODULES): Add normal.mod and sh.mod.
38485 (normal_SOURCES): New variable.
38486 (normal_mod_CFLAGS): Likewise.
38487 (normal_mod_LDFLAGS): Likewise.
38488 (sh_mod_SOURCES): Likewise.
38489 (sh_mod_CFLAGS): Likewise.
38490 (sh_mod_LDFLAGS): Likewise.
38491
38492 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
38493 script/sh/lexer.c_DEPENDENCIES.
38494 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
38495 kern/rescue_reader.c and kern/rescue_parser.c.
38496 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
38497 (grub_emu_SOURCES): Change source files.
38498 (pkglib_MODULES): Remove normal.mod.
38499 (normal_SOURCES): Removed.
38500 (normal_mod_CFLAGS): Likewise.
38501 (normal_mod_LDFLAGS): Likewise.
38502 * conf/i386-coreboot.rmk: Likewise.
38503 * conf/i386-efi.rmk: Likewise.
38504 * conf/i386-ieee1276.rmk: Likewise.
38505 * conf/powerpc-ieee1275.rmk: Likewise.
38506 * conf/sparc64-ieee1275.rmk: Likewise.
38507 * conf/x86_64-efi.rmk: Likewise.
38508
38509 * include/grub/command.h (grub_command_execute): New inline function.
38510
38511 * include/grub/menu.h (grub_menu_entry): Removed commands field.
38512
38513 * include/grub/normal.h: Remove <grub/setjmp.h>.
38514 (grub_fs_module_list): Moved to normal/autofs.c.
38515 (grub_exit_env): Removed.
38516 (grub_command_execute): Likewise.
38517 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
38518 parameter script.
38519 (read_command_list): New function declaration.
38520 (read_fs_list): Likewise.
38521
38522 * include/parser.h: Include <grub/reader.h>.
38523 (grub_parser_split_cmdline): Change type of getline parameter.
38524 (grub_parser): New structure.
38525 (grub_parser_class): New variable.
38526 (grub_parser_execute): New function declaration.
38527 (grub_register_rescue_parser): Likewise.
38528 (grub_parser_register): New inline function.
38529 (grub_parser_unregister): Likewise.
38530 (grub_parser_get_current): Likewise.
38531 (grub_parser_set_current): Likewise.
38532
38533 * include/grub/reader.h: New file.
38534 * kern/reader.c: Likewise.
38535 * kern/rescue_parser.c: Likewise.
38536 * kern/rescue_reader.c: Likewise.
38537 * normal/autofs.c: Likewise.
38538 * normal/dyncmd.c: Likewise.
38539
38540 * include/grub/rescue.h: Removed.
38541 * normal/command.h: Likewise.
38542
38543 * include/grub/script.h: Moved to ...
38544 * include/grub/script_sh.h: ... Moved here.
38545 * normal/execute.c: Moved to ...
38546 * script/sh/execute.c: ... Moved here.
38547 * normal/function.c: Moved to ...
38548 * script/sh/function.c: ... Moved here.
38549 * normal/lexer.c: Moved to ...
38550 * script/sh/lexer.c: ... Moved here.
38551 * normal/parser.y: Moved to ...
38552 * script/sh/parser.y: ... Moved here.
38553 * normal/script.c: Moved to ...
38554 * script/sh/script.c: ... Moved here.
38555
38556 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
38557 <grub/reader.h>.
38558 (grub_exit_env): Removed.
38559 (fs_module_list): Moved to normal/autofs.c.
38560 (grub_file_getline): Don't handle comment here.
38561 (free_menu): Skip removed field entry->commands.
38562 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
38563 script parameter.
38564 (read_config_file): Removed nested parameter, change getline function.
38565 (grub_enter_normal_mode): Removed.
38566 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
38567 (read_command_list): Likewise.
38568 (autoload_fs_module): Moved to normal/autofs.c.
38569 (read_fs_list): Likewise.
38570 (reader_nested): New variable.
38571 (grub_normal_execute): Run parser.sh to switch to sh parser.
38572 (grub_cmd_rescue): Removed.
38573 (cmd_normal): Removed.
38574 (grub_cmd_normal): Unregister itself at the beginning. Don't register
38575 rescue command.
38576 (grub_cmdline_run): New function.
38577 (grub_normal_reader_init): Likewise.
38578 (grub_normal_read_line): Likewise.
38579 (grub_env_write_pager): Likewise.
38580 (cmdline): New variable.
38581 (grub_normal_reader): Likewise.
38582 (GRUB_MOD_INIT): Register normal reader and set as current, register
38583 pager hook, register normal command with grub_register_command_prio,
38584 so that it won't show up in command.lst.
38585 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
38586 grub_fs_autoload_hook.
38587
38588 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
38589 (grub_menu_execute_entry): Replace grub_script_execute with
38590 grub_parser_execute, change parameter to grub_command_execute.
38591
38592 * normal/menu_text.c: Remove <grub/script.h>.
38593
38594 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
38595 and <grub/parser.h>.
38596 (run): Change editor_getline to use new parser interface. Change
38597 parameter to grub_command_execute.
38598
38599 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
38600 <grub/reader.h> and <grub/parser.h>.
38601 (grub_load_normal_mode): Execute normal command.
38602 (grub_main): Call grub_register_core_commands,
38603 grub_register_rescue_parser and grub_register_rescue_reader, use
38604 grub_reader_loop to enter input loop.
38605
7dd4a573 38606 * kern/parser.c (grub_parser_split_cmdline): Change type of
38607 getline parameter.
d558e6b5 38608 (grub_parser_class): New variable.
38609 (grub_parser_execute): New function.
38610
38611 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
38612 * loader/multiboot2.c: Likewise.
38613 * loader/sparc64/ieee1275/linux.c: Likewise.
38614
38615 * util/grub-emu.c (read_command_list): New dummy function.
38616
18db813d 386172009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38618
38619 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
38620 count to 16 for CCISS and IDA.
38621
6c67de15 386222009-05-02 Robert Millan <rmh.grub@aybabtu.com>
38623
38624 * normal/menu_text.c (grub_wait_after_message): Print a newline
38625 after waiting for user input.
38626
38627 * loader/i386/linux.c: Include `<grub/normal.h>'.
38628 (grub_cmd_linux): Improve the error message about `ask' mode, by
38629 waiting for user input so it's not missed (we can do this, since
38630 user requested interaction).
38631
d9dc87b0 386322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38633
38634 Added missing lst to grub-mkrescue
38635
38636 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
38637 and ${input_dir}/parttool.lst
38638
ac8a2baa 386392009-04-30 David S. Miller <davem@davemloft.net>
38640
ad22a610 38641 * util/hostdisk.c (device_is_wholedisk): New function.
38642 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
38643 zero only if device_is_wholedisk() returns true.
38644
6966215d 38645 * util/hostdisk.c (convert_system_partition_to_system_disk):
38646 Handle virtual disk devices named /dev/vdiskX as found on sparc
38647 and powerpc.
38648
ac8a2baa 38649 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
38650 lettered partition specifier is found, convert to numbered.
38651
979b4fb4 386522009-04-29 David S. Miller <davem@davemloft.net>
38653
e2bf39b2 38654 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
38655 * include/grub/sparc64/ieee1275/memory.h: Likewise.
38656
3c64e104 38657 * normal/command.c: Add missing newline at end of file.
38658
979b4fb4 38659 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
38660 warnings.
38661 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
38662 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
38663 grub_ofdisk_read): Likewise, and deal similarly with the fact that
38664 ihandles have a 32-bit type but need to be stored in a "void *".
38665
136d9f82 386662009-04-28 Pavel Roskin <proski@gnu.org>
38667
9459c306 38668 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
38669 not disk. Adjust all dependencies.
2e08a26a 38670 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 38671 grub_disk_close().
38672
136d9f82 38673 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
38674 parent's partition, don't copy it by reference, as it gets freed
38675 on close.
38676
7dd4a573 386772009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 38678
38679 Preboot hooks support
38680
38681 * commands/boot.c (struct grub_preboot_t): new declaration
38682 (preboots_head): new variable
38683 (preboots_tail): likewise
38684 (grub_loader_register_preboot_hook): new function
38685 (grub_loader_unregister_preboot_hook): likewise
38686 (grub_loader_set): launch preboot hooks
38687 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
38688 (grub_loader_register_preboot_hook): new declaration
38689 (grub_loader_unregister_preboot_hook): likewise
38690
5af922b5 386912009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
38692
38693 Warning fix
38694
7dd4a573 38695 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 38696 calling grub_dprintf
38697
a5562c30 386982009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
38699
38700 Bug and warning fixes
38701
7dd4a573 38702 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 38703 declaration
38704 * commands/test.c (test_parse): fixed bug with file tests and corrected
38705 declaration of find_file
38706
4006f85c 387072009-04-26 Pavel Roskin <proski@gnu.org>
38708
38709 * Makefile.in: Don't install empty manual pages if help2man is
38710 missing. Use help2man option for output, not shell redirection.
38711
5c77c3de 387122009-04-26 David S. Miller <davem@davemloft.net>
38713
38714 * util/grub-mkdevicemap.c (make_device_map): Add missing
38715 NESTED_FUNC_ATTR to process_device().
38716
033b10a8 387172009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38718
38719 Test command
38720
38721 * commands/test.c: rewritten to use bash-like test
38722
e4343593 387232009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
38724
38725 Parttool autoloading and improvements
38726
7dd4a573 38727 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 38728 (parttool.lst): new target
38729 * genmk.rb: generate parttool-*
38730 (CLEANFILES): add #{parttool}
38731 (PARTTOOLFILES): new variable
38732 * genparttoollist.sh: new file
7dd4a573 38733 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 38734 (grub_pcpart_type): likewise
38735 * commands/parttool.c (helpmsg): new variable
38736 (grub_cmd_parttool): output help if not enough arguments are supplied
38737 autoload modules
38738 (GRUB_MOD_INIT(parttool)): use helpmsg
38739
0d312500 387402009-04-24 David S. Miller <davem@davemloft.net>
38741
7dd4a573 38742 Avoiding opening same device multiple times in device iterator.
0d312500 38743
38744 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 38745 and use it to build a list of partitions in iterate_disk() and
0d312500 38746 iterate_partition().
38747
ac20caff 38748 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
38749 on disk->data.
38750
0dcf7495 38751 * disk/ieee1275/nand.c (grub_nand_iterate): Return
38752 grub_devalias_iterate() result instead of unconditional 0.
38753 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
38754 Also, capture hook return value, either directly or via
38755 grub_children_iterate(), and propagate to caller.
38756 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
38757 grub_children_iterate): Return value is now 'int' instead of
38758 'grub_err_t'.
38759 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
38760 like a proper iterator, stopping when hooks return non-zero.
38761 (grub_devalias_iterate): Likewise.
38762
c8c08833 387632009-04-23 David S. Miller <davem@davemloft.net>
38764
38765 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
38766
f01005a8 387672009-04-22 David S. Miller <davem@davemloft.net>
38768
38769 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
38770 is larger than address_cells, use that value for address_cells too.
38771
4e8269da 38772 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
38773 IEEE1275_MAX_PATH_LEN): Define.
38774 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
38775 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
38776 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
38777 'devtype'. Explicitly NULL terminate devalias expansion.
38778
a1447506 38779 * util/sparc64/ieee1275/misc.c: New file.
38780 * util/sparc64/ieee1275/grub-setup.c: New file.
38781 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
38782 * util/sparc64/ieee1275/grub-mkimage.c: New file.
38783 * util/sparc64/ieee1275/grub-install.in: New file.
38784 * util/ieee1275/ofpath.c: New file.
38785 * util/ieee1275/devicemap.c: New file.
38786 * util/devicemap.c: New file.
38787 * util/deviceiter.c: New file.
38788 * kern/sparc64/ieee1275/init.c: New file.
38789 * include/grub/util/ofpath.h: New file.
38790 * include/grub/util/deviceiter.h: New file.
38791 * util/grub-mkdevicemap.c: Include deviceiter.h.
38792 Implement using grub_util_emit_devicemap_entry and
38793 grub_util_iterate_devices.
38794 * conf/i386-corebook.rmk: Build util/deviceiter.c and
38795 util/devicemap.c into grub-mkdevicemap
38796 * conf/i386-efi.rmk: Likewise.
38797 * conf/i386-ieee1275.rmk: Likewise.
38798 * conf/i386-pc.rmk: Likewise.
38799 * conf/powerpc-ieee1275.rmk: Likewise.
38800 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
38801 images and installation utilities. Build kernel as image
38802 instead of as elf binary. Use common rules as much as possible.
38803
7dd4a573 388042009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 38805
38806 Correct GPT definition
38807
7dd4a573 38808 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 38809 of "attrib" member
38810
c6c5219f 388112009-04-19 Felix Zielcke <fzielcke@z-51.de>
38812
38813 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
38814
0552ff9f 388152009-04-19 David S. Miller <davem@davemloft.net>
38816
38817 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
38818 (grub_rescue_cmd_linux): Rename to...
38819 (grub_cmd_linux): and fix prototype.
38820 (grub_rescue_cmd_initrd): Rename to...
38821 (grub_cmd_initrd): and fix prototype.
38822 (cmd_linux, cmd_initrd): New.
38823 (GRUB_MOD_INIT(linux)): Use grub_register_command().
38824 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
38825
d1a282fc 388262009-04-17 Pavel Roskin <proski@gnu.org>
38827
07c5039f 38828 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
38829 format.
38830 (grub_ohci_transfer): Likewise.
38831
b012002d 38832 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
38833
1bc09c35 38834 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
38835 return without a value. Fix inconsistent indentation.
38836
e0ff9126 38837 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
38838 match struct grub_fs.
38839
d1a282fc 38840 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
38841 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
38842 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38843 * commands/lspci.c (grub_lspci_iter): Likewise.
38844
a96df3f2 388452009-04-16 Bean <bean123ch@gmail.com>
38846
38847 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
38848 value.
38849
41bb0fe9 388502009-04-15 Pavel Roskin <proski@gnu.org>
38851
38852 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
38853 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
38854 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
38855 definitions.
38856
596c6970 388572009-04-15 Felix Zielcke <fzielcke@z-51.de>
38858
38859 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 38860 that no multiple data or metadata areas are supported and `Unknown
596c6970 38861 metadata header'.
38862
7dd4a573 388632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 38864
38865 Move loader out of the kernel
38866
38867 * kern/loader.c: moved to ...
38868 * commands/boot.c: ... moved here
38869 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
38870 * commands/boot.c (grub_cmd_boot): moved here. All users updated
38871 * include/grub/kernel.h (grub_machine_fini): export
38872 * include/grub/loader.h (grub_loader_is_loaded): update declaration
38873 (grub_loader_set): likewise
38874 (grub_loader_unset): likewise
38875 (grub_loader_boot): likewise
38876 * conf/common.rmk: new module boot.mod
38877 (pkglib_MODULES): add boot.mod
38878 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
38879 (grub_emu_SOURCES): likewise
38880 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
38881 (grub_emu_SOURCES): likewise
38882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
38883 (grub_emu_SOURCES): likewise
38884 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
38885 (grub_emu_SOURCES): likewise
38886 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
38887 (grub_emu_SOURCES): likewise
7dd4a573 38888 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
38889 (grub_emu_SOURCES): likewise
0d5d5653 38890 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 38891 (grub_emu_SOURCES): likewise
0d5d5653 38892
7dd4a573 388932009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 38894
38895 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 38896
5999d619 38897 * kern/misc.c (grub_itoa): Removed function
38898 (grub_ltoa): likewise
38899 (grub_vsprintf): use grub_lltoa
38900
7dd4a573 389012009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 38902
38903 Restore grub-emu
38904
38905 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
38906 * conf/i386-coreboot.rmk: likewise
38907 * conf/i386-ieee1275.rmk: likewise
38908 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38909
20318222 389102009-04-15 Felix Zielcke <fzielcke@z-51.de>
38911
38912 * INSTALL: Add that `./autogen.sh' needs to be run before
38913 `./configure.'.
38914
d05f0df3 389152009-04-14 Bean <bean123ch@gmail.com>
38916
38917 * Makefile.in (pkglib_DATA): Add handler.lst.
38918 (handler.lst): New rule.
38919
38920 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
38921 * conf/i386-coreboot.rmk: Likewise.
38922 * conf/i386-ieee1275.rmk: Likewise.
38923 * conf/i386-efi.rmk: Likewise.
38924 * conf/x86_64-efi.rmk: Likewise.
38925 * conf/powerpc-ieee1275.rmk: Likewise.
38926 * conf/sparc64-ieee1275.rmk: Likewise.
38927
38928 * genhandlerlist.sh: New file.
38929
38930 * genmk.rb: Add rules to generate handler.lst.
38931
38932 * include/grub/normal.h (grub_file_getline): New function definition.
38933 (read_handler_list): Likewise.
38934 (free_handler_list): Likewise.
38935
38936 * include/grub/term.h (grub_term_register_input): Add name parameter
38937 for auto generation of handler.lst.
38938 (grub_term_register_output): Likewise.
38939
38940 * normal/handler.c: New file.
38941
38942 * normal/main.c (get_line): Renamed to grub_file_getline.
38943 (read_config_file): Use the newly renamed grub_file_getline.
38944 (read_command_list): Likewise.
38945 (read_fs_list): Likewise.
38946 (grub_normal_execute): Call read_handler_list to parse handler.lst.
38947 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
38948
38949 * term/efi/console.c (grub_console_init): Add name parameter for auto
38950 generation of handler.lst.
38951 * term/gfxterm.c: Likewise.
38952 * term/i386/pc/at_keyboard.c: Likewise.
38953 * term/i386/pc/console.c: Likewise.
38954 * term/i386/pc/serial.c: Likewise.
38955 * term/i386/pc/vesafb.c: Likewise.
38956 * term/i386/pc/vga.c: Likewise.
38957 * term/i386/pc/vga_text.c: Likewise.
38958 * term/ieee1275/ofconsole.c: Likewise.
38959 * term/usb_keyboard.c: Likewise.
38960
33c846be 389612009-04-14 Bean <bean123ch@gmail.com>
38962
38963 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
38964 properly with null character.
38965
4484e01e 389662009-04-14 Felix Zielcke <fzielcke@z-51.de>
38967
38968 * configure: Remove.
38969 * config.h.in: Likewise.
f93d668e 38970 * stamp-h.in: Likewise.
4484e01e 38971 * DISTLIST: Likewise.
38972 * conf/common.mk: Likewise.
38973 * conf/i386-coreboot.mk: Likewise.
38974 * conf/i386-efi.mk: Likewise.
38975 * conf/i386-ieee1275.mk: Likewise.
38976 * conf/i386.mk: Likewise.
38977 * conf/i386-pc.mk: Likewise.
38978 * conf/powerpc-ieee1275.mk: Likewise.
38979 * conf/sparc64-ieee1275.mk: Likewise.
38980 * conf/x86_64-efi.mk: Likewise.
38981
38982 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
38983 develop on GRUB.
38984
7dd4a573 389852009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 38986 David S. Miller <davem@davemloft.net>
38987
38988 * util/hostdisk.c (make_device_name): Fix buffer length
38989 calculations.
38990
e25b5a8c 389912009-04-14 Felix Zielcke <fzielcke@z-51.de>
38992
38993 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
38994 <sys/param.h> and <sys/sysctl.h>.
38995 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
38996 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
38997 opening the device and reset them afterwards.
38998
1f1f580c 389992009-04-13 Pavel Roskin <proski@gnu.org>
39000
39001 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39002 Reported by John Stanley <jpsinthemix@verizon.net>
39003
7ebc2d6b 390042009-04-13 Robert Millan <rmh@aybabtu.com>
39005
39006 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 39007 that name for menuentries when appropriate.
7ebc2d6b 39008
d8ba3667 390092009-04-13 Felix Zielcke <fzielcke@z-51.de>
39010
39011 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39012
cba416eb 390132009-04-13 Robert Millan <rmh@aybabtu.com>
39014
39015 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39016 to Linux, simply abort telling the user it's no longer supported.
39017
a547a745 390182009-04-13 Felix Zielcke <fzielcke@z-51.de>
39019
39020 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 39021 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 39022 `freebsd_loadenv' only when devices.hints exist.
39023
232a769c 390242009-04-13 Pavel Roskin <proski@gnu.org>
39025
39026 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39027
c3012039 390282009-04-13 Felix Zielcke <fzielcke@z-51.de>
39029
39030 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39031 partition number.
39032 (grub_drive): Likewise.
39033
234022fe 390342009-04-13 David S. Miller <davem@davemloft.net>
39035
39036 * kern/sparc64/ieee1275/ieee1275.c: New file.
39037 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39038 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39039 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39040 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39041 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39042 grub_ieee1275_alloc_physmem): Declare new exported functions.
39043
d8e1836c 39044 * include/grub/sparc64/ieee1275/loader.h: New file.
39045 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39046 * include/grub/sparc64/kernel.h: Likewise.
39047 * loader/sparc64/ieee1275/linux.c: Likewise.
39048
96bd81ec 39049 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39050 (grub_fstest_SOURCES): Likewise.
39051
6a4737e5 39052 * util/hostdisk.c (make_device_name): Do not make any assumptions
39053 about the length of drive names.
39054
1d7a72fd 39055 * kern/dl.c (grub_dl_load_file): Close file immediately when
39056 we are done using it.
39057
56bc2471 390582009-04-12 David S. Miller <davem@davemloft.net>
39059
39060 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39061 values. Noticed by Pavel Roskin.
39062
df38d0bb 39063 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39064 target compiler.
7dd4a573 39065
e382e93a 39066 * genmk.rb: Add more flexible image type specification, also
39067 pass --strip-unneeded to objcopy.
39068 * conf/i386-pc.rmk: Use *_FORMAT.
39069 * conf/i386-pc.mk: Rebuilt.
39070
f5dbbca9 39071 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39072 (OFDISK_HASH_SZ): Define.
39073 (ofdisk_hash): New hash table.
39074 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39075 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39076 instead of device phandle which is not unique.
39077
91c88b12 39078 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39079 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39080 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39081 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39082 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39083 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39084 GRUB_KERNEL_MACHINE_DATA_END): Define.
39085 (grub_kernel_image_size, grub_total_module_size): Declare.
39086
5b5d4aa5 390872009-04-12 Pavel Roskin <proski@gnu.org>
39088
7dd4a573 39089 * configure.ac: Change the logic when we check for target tools.
39090 Do it when the target is specified and it's different from the
39091 specified value of the host.
5b5d4aa5 39092
c91e1793 390932009-04-11 Felix Zielcke <fzielcke@z-51.de>
39094
39095 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39096 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39097 GNU/kFreeBSD. Check if a device is a character device. Use
39098 DIOCGMEDIASIZE to get the size.
39099 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39100 support for GNU/kFreeBSD.
39101 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39102 is a character device instead of a block device. Add support for
39103 FreeBSD device names.
39104
39105 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39106 is a character device instead of a block device.
39107
39108 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39109 is a character device instead of a block device.
39110
b1ac8644 391112009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39112
39113 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39114 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39115 FreeBSD. Check if a device is a character device. Use
39116 DIOCGMEDIASIZE to get the size.
39117 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39118 support for FreeBSD.
39119 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39120 is a character device instead of a block device. Add support for
39121 FreeBSD device names.
39122
39123 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39124 a character device instead of a block device.
39125 (grub_util_check_char_device): New function.
39126
39127 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39128 a character device instead of a block device.
39129
39130 * include/grub/util/getroot.h (grub_util_check_char_device): New
39131 prototype.
39132
a3f7515a 391332009-04-11 David S. Miller <davem@davemloft.net>
39134
39135 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39136 static libgcc.
39137 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39138 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39139 function, if present.
39140 (__bswapdi2): Likewise.
39141
0d44993d 39142 * include/grub/sparc64/ieee1275/boot.h: New file.
39143 * boot/sparc64/ieee1275/boot.S: Likewise.
39144 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39145
ed3d2bc2 39146 * kern/misc.c (grub_ltoa): New function.
39147 (grub_vsprintf): Use it to format 'long' integers.
39148
d3bfb59c 391492009-04-10 David S. Miller <davem@davemloft.net>
39150
39151 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39152 slots are of type grub_ieee1275_cell_t.
39153 (grub_nand_read): Likewise.
39154 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39155 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39156 macros are used to compare values in arg/ret block of the call.
39157 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39158 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39159 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39160 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39161 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39162 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39163 grub_ieee1275_close, grub_ieee1275_set_property,
39164 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39165 grub_ieee1275_cell_t.
39166 * kern/ieee1275/openfw.c (grub_map): Likewise.
39167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39168 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39169
450e2238 39170 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39171 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39172 (grub_devalias_iterate): Likewise.
39173
7dd4a573 391742009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 39175
39176 UFS improvements
39177
39178 * fs/ufs.c (INODE_NBLOCKS): new definition
39179 (struct grub_ufs_dirent): added fields for non-BSD dirents
39180 (grub_ufs_get_file_block): fixed double indirect handling
39181 (grub_ufs_lookup_symlink): use more robust way to determine whether
39182 symlink is inline
39183 (grub_ufs_find_file): support for non-BSD dirents
39184 (grub_ufs_dir): support for non-BSD dirents
39185
e7e6862a 391862009-04-10 Bean <bean123ch@gnail.com>
39187
39188 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39189 attribute, otherwise the size would be wrong for i386 platform.
39190
39191 * include/grub/pci.h (grub_pci_read_word): New inline function.
39192 (grub_pci_read_byte): Likewise.
39193 (grub_pci_write): Likewise.
39194 (grub_pci_write_word): Likewise.
39195 (grub_pci_write_byte): Likewise.
39196
39197 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39198
39199 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39200 (find_framebuf): Scan pci to locate the frame buffer address.
39201
39202 * commands/efi/fixvideo.c: New file.
39203
39204 * commands/efi/loadbios.c: Likewise.
39205
39206 * commands/memrw.c: Likewise.
39207
39208 * util/grub-dumpbios.in: Likewise.
39209
39210 * conf/common.rmk (grub-dumpbios): New utility.
39211 (pkglib_MODULES): New module memrw.mod.
39212 (memrw_mod_SOURCE): New macro.
39213 (memrw_mod_CFLAGS): Likewise.
39214 (memrw_mod_LDFLAGS): Likewise.
39215
7dd4a573 39216 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39217 fixvideo.mod.
39218 (loadbios_mod_SOURCE): New macro.
39219 (loadbios_mod_CFLAGS): Likewise.
39220 (loadbios_mod_LDFLAGS): Likewise.
39221 (fixvideo_mod_SOURCE): Likewise.
39222 (fixvideo_mod_CFLAGS): Likewise.
39223 (fixvideo_mod_LDFLAGS): Likewise.
39224
7dd4a573 39225 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39226 fixvideo.mod.
39227 (loadbios_mod_SOURCE): New macro.
39228 (loadbios_mod_CFLAGS): Likewise.
39229 (loadbios_mod_LDFLAGS): Likewise.
39230 (fixvideo_mod_SOURCE): Likewise.
39231 (fixvideo_mod_CFLAGS): Likewise.
39232 (fixvideo_mod_LDFLAGS): Likewise.
39233
af63ada2 392342009-04-08 Felix Zielcke <fzielcke@z-51.de>
39235
39236 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39237
c2cdde70 392382009-04-07 David S. Miller <davem@davemloft.net>
39239
39240 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39241 support for R_SPARC_OLO10 relocations. Fix compile warning for
39242 R_SPARC_WDISP30 case.
ea3f72cf 39243 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39244
761319cf 392452009-04-06 Pavel Roskin <proski@gnu.org>
39246
1007d1f5 39247 * include/grub/misc.h (ARRAY_SIZE): New macro.
39248 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39249 New macro.
39250 * loader/i386/linux.c (allocate_pages): Use free_pages().
39251 (grub_linux_unload): Don't use free_pages().
39252 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39253 wrong index. Treat all other modes as text modes.
39254 (grub_cmd_linux): Initialize vid_mode unconditionally to
39255 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39256
761319cf 39257 * commands/help.c (print_command_help): Use cmd->prio, not
39258 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39259
ea761d40 392602009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 39261
ea761d40 39262 Parttool
39263
39264 * parttool/pcpart.c: new file
39265 * commands/parttool.c: likewise
39266 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39267 (parttool_mod_SOURCES): new variable
39268 (parttool_mod_CFLAGS): likewise
39269 (parttool_mod_LDFLAGS): likewise
39270 (pcpart_mod_SOURCES): likewise
39271 (pcpart_mod_CFLAGS): likewise
39272 (pcpart_mod_LDFLAGS): likewise
7dd4a573 39273 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 39274 and parttool/pcpart.c
39275 * conf/i386-efi.rmk: likewise
39276 * conf/i386-ieee1275.rmk: likewise
39277 * conf/i386-pc.rmk: likewise
39278 * conf/powerpc-ieee1275.rmk: likewise
39279 * conf/sparc64-ieee1275.rmk: likewise
39280 * conf/x86_64-ieee1275.rmk: likewise
39281
05aaebfb 392822009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39283
39284 Support for mtime and further expandability of dir command
39285
39286 * include/grub/lib/datetime.h: moved to ...
7dd4a573 39287 * include/grub/datetime.h: ... moved here and added
05aaebfb 39288 declaration of grub_unixtime2datetime. All users updated
7dd4a573 39289 * include/grub/fs.h: new syntax for dir and mtime functions in
39290 struct grub_fs
05aaebfb 39291 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39292 and GRUB_FSHELP_FLAGS_MASK
39293 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39294 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39295 (grub_ext2_mtime): new function
39296 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39297 (grub_hfsplus_mtime): new function
39298 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39299 (GRUB_UFS_ATTR_FILE): likewise
39300 (GRUB_UFS_ATTR_LNK): likewise
39301 (struct grub_ufs_sblock): new fields mtime
39302 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39303 all users updated
39304 (grub_ufs_dir): mtime support
39305 (grub_ufs_mtime): new function
39306 * fs/affs.c (grub_affs_dir): use new dir syntax
39307 * fs/afs.c (grub_afs_dir): likewise
39308 * fs/cpio.c (grub_cpio_dir): likewise
39309 * fs/fat.c (grub_fat_find_dir): likewise
39310 * fs/hfs.c (grub_hfs_dir): likewise
39311 * fs/iso9660.c (grub_iso9660_dir): likewise
39312 * fs/jfs.c (grub_jfs_dir): likewise
39313 * fs/minix.c (grub_minix_dir): likewise
39314 * fs/ntfs.c (grub_ntfs_dir): likewise
39315 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39316 * fs/sfs.c (grub_sfs_dir): likewise
39317 * fs/xfs.c (grub_xfs_dir): likewise
39318 * util/hostfs.c (grub_hostfs_dir): likewise
39319 * lib/datetime.c: moved to ...
39320 * normal/datetime.c: ... moved here
39321 (grub_unixtime2datetime): new function
39322 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 39323 * normal/completion.c (iterate_dir): use new dir syntax
39324 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 39325 last modification time of a volume
7dd4a573 39326 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 39327 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 39328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 39329 (normal_mod_SOURCES): likewise
39330 (datetime_mod_SOURCES): Removed lib/datetime.c
39331 * conf/i386-efi.rmk: likewise
7dd4a573 39332 * conf/i386-ieee1275.rmk: likewise
05aaebfb 39333 * conf/i386-pc.rmk: likewise
39334 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39335 * conf/sparc64-ieee1275.rmk: likewise
39336 * conf/x86_64-efi.rmk: likewise
05aaebfb 39337
8a7e1a14 393382009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39339
39340 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 39341
39342 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 39343 on grub_fat_find_dir
39344 (grub_fat_find_dir): use grub_fat_iterate_dir
39345 (grub_fat_label): likewise
39346
04186a9c 393472009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39348
7dd4a573 39349 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 39350 and command.h
39351 remove extraneous kernel_elf_HEADERS
39352
da4c0bb6 393532009-04-04 Bean <bean123ch@gnail.com>
39354
39355 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39356
39357 * util/misc.c: Likewise.
39358
54ad9555 393592009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39360
39361 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39362 instead of grub_printf.
39363
7a6bf9f2 393642009-04-03 Robert Millan <rmh@aybabtu.com>
39365
39366 * loader/i386/linux.c (grub_linux_setup_video): Fill
39367 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39368 values from `mode info' structure instead of hardcoded
39369 values.
39370
3fcc2083 393712009-04-01 Pavel Roskin <proski@gnu.org>
39372
39373 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39374 unused now.
39375 * genmk.rb: Likewise.
39376 * configure.ac: Likewise.
39377
5ec9740b 393782009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39379
39380 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39381 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39382
5270cec8 393832009-04-01 David S. Miller <davem@davemloft.net>
39384
39385 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 39386 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 39387 (grub_setjmp): Mark with 'returns_twice' attribute.
39388 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39389 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39390 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39391
9c3dd854 393922009-04-01 Robert Millan <rmh@aybabtu.com>
39393
39394 Reapply fix from 2008-07-28 which was accidentally reverted; also
39395 perform the same fix to a similar check in same function.
39396
39397 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39398 with the same number are found, just use issue a warning with
39399 grub_dprintf(), as this error has been reported to be non-fatal.
39400
0d818b7e 394012009-03-31 Pavel Roskin <proski@gnu.org>
39402
39403 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39404 for cross-compilation.
39405
95646d92 394062009-03-30 Robert Millan <rmh@aybabtu.com>
39407
39408 Fix i386-ieee1275 build.
39409
39410 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39411 Remove declaration.
39412
6a003ed1 394132009-03-30 Pavel Roskin <proski@gnu.org>
39414
39415 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39416 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39417 zero-terminated, rely only on the strlen value. Fix comparison
39418 of strings differing in length.
39419
92f33540 394202009-03-30 Robert Millan <rmh@aybabtu.com>
39421
39422 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39423 checking for abi version. Improve error messages on BIOS to notify
39424 user about `linux16' command.
39425
a8c48fd5 394262009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39427
f968172e 39428 Leak fixes
a8c48fd5 39429
f968172e 39430 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39431 in case of collision
39432 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 39433
9c323f09 394342009-03-29 Robert Millan <rmh@aybabtu.com>
39435
39436 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39437 set `vid_mode' accordingly.
39438 (grub_linux_boot): Process `vid_mode' and set video mode.
39439
ae68f423 394402009-03-29 Robert Millan <rmh@aybabtu.com>
39441
39442 * util/grub.d/10_linux.in (linux_entry): New function.
39443 Factorize generation of Linux boot entries.
39444
5709cfc4 394452009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39446
39447 Make the format of Environment Block plain text. The boot loader
39448 part is not tested well yet.
7dd4a573 39449
5709cfc4 39450 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39451 (buffer): Removed.
39452 (envblk): Likewise.
39453 (usage): Remove "info" and "clear". Add "unset". Update the
39454 description of "set", as this does not delete variables any
39455 longer.
39456 (create_envblk_file): Complete rewrite.
39457 (open_envblk_file): Likewise.
39458 (cmd_info): Removed.
39459 (cmd_list): Likewise.
39460 (cmd_set): Likewise.
39461 (cmd_clear): Likewise.
39462 (list_variables): New function.
39463 (write_envblk): Likewise.
39464 (set_variables): Likewise.
39465 (unset_variables): Likewise.
39466 (main): Complete rewrite.
39467
39468 * commands/loadenv.c (buffer): Removed.
39469 (envblk): Likewise.
39470 (open_envblk_file): New function.
39471 (read_envblk_file): Complete rewrite.
39472 (grub_cmd_load_env): Likewise.
39473 (grub_cmd_list_env): Likewise.
39474 (struct blocklist): New struct.
39475 (free_blocklists): New function.
39476 (check_blocklists): Likewise.
39477 (write_blocklists): Likewise.
39478 (grub_cmd_save_env): Complete rewrite.
39479
39480 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
39481 a plain text signature.
39482 (GRUB_ENVBLK_MAXLEN): Removed.
39483 (struct grub_envblk): Complete rewrite.
39484 (grub_envblk_find): Removed.
39485 (grub_envblk_insert): Likewise.
39486 (grub_envblk_open): New prototype.
39487 (grub_envblk_set): Likewise.
39488 (grub_envblk_delete): Put const to VALUE.
39489 (grub_envblk_iterate): Put const to NAME and VALUE.
39490 (grub_envblk_close): New prototype.
39491 (grub_envblk_buffer): New inline function.
39492 (grub_envblk_size): Likewise.
39493
39494 * lib/envblk.c: Include grub/mm.h.
39495 (grub_env_find): Removed.
39496 (grub_envblk_open): New function.
39497 (grub_envblk_close): Likewise.
39498 (escaped_value_len): Likewise.
39499 (find_next_line): Likewise.
39500 (grub_envblk_insert): Removed.
39501 (grub_envblk_set): New function.
39502 (grub_envblk_delete): Complete rewrite.
39503 (grub_envblk_iterate): Likewise.
39504
a9368fd3 395052009-03-28 Robert Millan <rmh@aybabtu.com>
39506
39507 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
39508 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
39509 variables. Use 16-bit loader.
39510 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
39511 loader.
39512 * kern/i386/loader.S (grub_linux_boot): Rename to ...
39513 (grub_linux16_boot): ... this. Update all users.
39514 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
39515 (grub_linux_boot): ... this. Update all users.
39516
39517 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
39518 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
39519 commands to `linux16' and `initrd16'.
39520 (GRUB_MOD_FINI(linux)): Rename to ...
39521 (GRUB_MOD_FINI(linux16)): ... this.
39522
e4dd5a7e 395232009-03-24 Pavel Roskin <proski@gnu.org>
39524
39525 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
39526 not just for compilation.
39527
c04d6e05 395282009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
39529
39530 Move multiboot helper out of kernel
39531
39532 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
39533 `loader/i386/multiboot_helper.S'.
39534 * conf/i386-coreboot.rmk: Likewise
39535 * conf/i386-ieee1275.rmk: Likewise
39536
39537 * kern/i386/loader.S: Move multiboot helpers from here...
39538 * loader/i386/multiboot_helper.S: ...moved here
39539 * include/grub/i386/loader.h: Move declarations of multiboot
39540 helpers from here...
39541 * include/grub/i386/multiboot.h: ...moved here
39542 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
39543
42a5b3fc 395442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39545
39546 * kern/env.c (grub_env_context_open): Added an argument to specify
39547 whether a new context inherits exported variables from current
39548 one. This is useful when making a sandbox to interpret a config
39549 file.
39550 All callers updated.
39551
39552 * include/grub/env.h (grub_env_context_open): Updated the prototype.
39553
b28bbc4e 395542009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39555
39556 * kern/env.c (grub_env_context_close): Fix memory leaks.
39557
f04f02e4 395582009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
39559
39560 * normal/main.c (grub_normal_execute): Added an argument
39561 BATCH to specify if an interactive interface should be provided
39562 after reading a config file.
39563 All callers updated.
39564 (read_command_list): Prevent being executed twice.
39565 (read_fs_list): Likewise.
39566
42a5b3fc 39567 * include/grub/normal.h (grub_normal_execute): Updated the
39568 prototype.
f04f02e4 39569
41473ac2 395702009-03-22 Pavel Roskin <proski@gno.org>
39571
fbc00b0c 39572 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
39573 _start.
39574 * kern/i386/pc/startup.S: Likewise.
39575 * kern/i386/efi/startup.S: Likewise.
39576 * kern/i386/ieee1275/startup.S: Likewise.
39577 * kern/i386/coreboot/startup.S: Likewise.
39578 * kern/x86_64/efi/startup.S: Likewise.
39579
41473ac2 39580 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
39581 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
39582 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
39583
2274cc8f 395842009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
39585
39586 Bugfixes in multiboot for bugs uncovered by solaris kernel.
39587
39588 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
39589 limit detection.
39590 Use vaddr of correct segment for entry_point.
39591
b1b797cb 395922009-03-21 Bean <bean123ch@gmail.com>
39593
39594 * commands/blocklist.c: Add include file <grub/command.h>, remove
39595 <grub/normal.h> and <grub/arg.h>.
39596 (grub_cmd_blocklist): Use the new command interface.
39597 (GRUB_MOD_INIT): Likewise.
39598 (GRUB_MOD_FINI): Likewise.
39599 * commands/boot.c: Likewise.
39600 * commands/cat.c: Likewise.
39601 * commands/cmp.c: Likewise.
39602 * commands/configfile.c: Likewise.
39603 * commands/crc.c: Likewise.
39604 * commands/echo.c: Likewise.
39605 * commands/halt.c: Likewise.
39606 * commands/handler.c: Likewise.
39607 * commands/hdparm.c: Likewise.
39608 * commands/help.c: Likewise.
39609 * commands/hexdump.c: Likewise.
39610 * commands/loadenv.c: Likewise.
39611 * commands/ls.c: Likewise.
39612 * commands/lsmmap.c: Likewise.
39613 * commands/lspci.c: Likewise.
39614 * commands/loadenv.c: Likewise.
39615 * commands/read.c: Likewise.
39616 * commands/reboot.c: Likewise.
39617 * commands/search.c: Likewise.
39618 * commands/sleep.c: Likewise.
39619 * commands/test.c: Likewise.
39620 * commands/usbtest.c: Likewise.
39621 * commands/videotest.c: Likewise.
39622 * commands/i386/cpuid.c: Likewise.
39623 * commands/i386/pc/halt.c: Likewise.
39624 * commands/i386/pc/play.c: Likewise.
39625 * commands/i386/pc/pxecmd.c: Likewise.
39626 * commands/i386/pc/vbeinfo.c: Likewise.
39627 * commands/i386/pc/vbetest.c: Likewise.
39628 * commands/ieee1275/suspend.c: Likewise.
39629 * disk/loopback.c: Likewise.
39630 * font/font_cmd.c: Likewise.
39631 * hello/hello.c: Likewise.
39632 * loader/efi/appleloader.c: Likewise.
39633 * loader/efi/chainloader.c: Likewise.
39634 * loader/i386/bsd.c: Likewise.
39635 * loader/i386/efi/linux.c: Likewise.
39636 * loader/i386/ieee1275/linux.c: Likewise.
39637 * loader/i386/linux.c: Likewise.
39638 * loader/i386/pc/chainloader.c: Likewise.
39639 * loader/i386/pc/linux.c: Likewise.
39640 * loader/powerpc/ieee1275/linux.c: Likewise.
39641 * loader/multiboot_loader.c: Likewise.
39642 * term/gfxterm.c: Likewise.
39643 * term/i386/pc/serial.c: Likewise.
39644 * term/terminfo.c: Likewise.
39645
39646 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
39647 * term/i386/pc/vga.c: Likewise.
39648 * video/readers/jpeg.c: Likewise.
39649 * video/readers/png.c: Likewise.
39650 * video/readers/tga.c: Likewise.
39651
39652 * util/grub-fstest (cmd_loopback): Removed.
39653 (cmd_blocklist): Likewise.
39654 (cmd_ls): Likewise.
39655 (grub_register_command): Likewise.
39656 (grub_unregister_command): Likewise.
39657 (execute_command): Use grub_command_find to locate command and execute
39658 it.
39659
39660 * include/grub/efi/chainloader.h: Removed.
39661 * loader/efi/chainloader_normal.c: Likewise.
39662 * loader/i386/bsd_normal.c: Likewise.
39663 * loader/i386/pc/chainloader_normal.c: Likewise.
39664 * loader/i386/pc/multiboot_normal.c: Likewise.
39665 * loader/linux_normal.c: Likewise.
39666 * loader/multiboot_loader_normal.c: Likewise.
39667 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39668
39669 * gencmdlist.sh: Scan new registration command grub_register_extcmd
39670 and grub_register_command_p1.
39671
39672 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
39673 kern/command.c, lib/arg.c and commands/extcmd.c.
39674 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
39675 (minicmd_mod_SOURCES): New variable.
39676 (minicmd_mod_CFLAGS): Likewise.
39677 (minicmd_mod_LDFLAGS): Likewise.
39678 (extcmd_mod_SOURCES): Likewise.
39679 (extcmd_mod_CFLAGS): Likewise.
39680 (extcmd_mod_LDFLAGS): Likewise.
39681 (boot_mod_SOURCES): Removed.
39682 (boot_mod_CFLAGS): Likewise.
39683 (boot_mod_LDFLAGS): Likewise.
39684
39685 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
39686 kern/corecmd.c.
39687 (kernel_img_HEADERS): Add command.h.
39688 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
39689 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
39690 and lib/arg.c.
39691 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
39692 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
39693 remove the corresponding normal mode command.
39694 (normal_mod_SOURCES): Remove normal/arg.c.
39695 * conf/i386-coreboot.rmk: Likewise.
39696 * conf/i386-efi.rmk: Likewise.
39697 * conf/i386-ieee1275.rmk: Likewise.
39698 * conf/powerpc-ieee1275.rmk: Likewise.
39699 * conf/x86_64-efi.rmk: Likewise.
39700
39701 * include/grub/arg.h: Move from here ...
39702 * include/grub/lib/arg.h: ... to here.
39703
39704 * normal/arg.c: Move from here ...
39705 * lib/arg.c: ... to here.
39706
39707 * commands/extcmd.c: New file.
39708 * commands/minicmd.c: Likewise.
39709 * include/grub/command.h: Likewise.
39710 * include/grub/extcmd.h: Likewise.
39711 * kern/command.c: Likewise.
39712 * kern/corecmd.c: Likewise.
39713
39714 * kern/list.c (grub_list_iterate): Return int instead of void.
39715 (grub_list_insert): New function.
39716 (grub_prio_list_insert): Likewise.
39717
39718 * kern/rescue.c (grub_rescue_command): Removed.
39719 (grub_rescue_command_list): Likewise.
39720 (grub_rescue_register_command): Likewise.
39721 (grub_rescue_unregister_command): Likewise.
39722 (grub_rescue_cmd_boot): Move to minicmd.c
39723 (grub_rescue_cmd_help): Likewise.
39724 (grub_rescue_cmd_info): Likewise.
39725 (grub_rescue_cmd_boot): Likewise.
39726 (grub_rescue_cmd_testload): Likewise.
39727 (grub_rescue_cmd_dump): Likewise.
39728 (grub_rescue_cmd_rmmod): Likewise.
39729 (grub_rescue_cmd_lsmod): Likewise.
39730 (grub_rescue_cmd_exit): Likewise.
39731 (grub_rescue_print_devices): Moved to corecmd.c.
39732 (grub_rescue_print_files): Likewise.
39733 (grub_rescue_cmd_ls): Likewise.
39734 (grub_rescue_cmd_insmod): Likewise.
39735 (grub_rescue_cmd_set): Likewise.
39736 (grub_rescue_cmd_unset): Likewise.
7d074e3c 39737 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 39738 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 39739 commands, remove grub_rescue_register_command calls.
b1b797cb 39740
7d074e3c 39741 * normal/command.c (grub_register_command): Removed.
b1b797cb 39742 (grub_unregister_command): Likewise.
39743 (grub_command_find): Likewise.
39744 (grub_iterate_commands): Likewise.
39745 (rescue_command): Likewise.
39746 (export_command): Moved to corecmd.c.
39747 (set_command): Removed.
39748 (unset_command): Likewise.
39749 (insmod_command): Likewise.
39750 (rmmod_command): Likewise.
39751 (lsmod_command): Likewise.
39752 (grub_command_init): Likewise.
39753
39754 * normal/completion.c (iterate_command): Use cmd->prio to check for
39755 active command.
39756 (complete_arguments): Use grub_extcmd_t structure to find options.
39757 (grub_normal_do_completion): Change function grub_iterate_commands to
39758 grub_command_iterate.
39759
39760 * normal/execute.c (grub_script_execute_cmd): No need to parse
39761 argument here.
39762
39763 * normal/main.c (grub_dyncmd_dispatcher): New function.
39764 (read_command_list): Register unload commands as dyncmd.
39765 (grub_cmd_normal): Use new command interface, register rescue,
39766 unregister normal at entry, register normal, unregister rescue at exit.
39767
39768 * include/grub/list.h (grub_list_test_t): New type.
39769 (grub_list_iterate): Return int instead of void.
39770 (grub_list_insert): New function.
39771 (GRUB_AS_NAMED_LIST_P): New macro.
39772 (GRUB_AS_PRIO_LIST): Likewise.
39773 (GRUB_AS_PRIO_LIST_P): Likewise.
39774 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
39775 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
39776 (grub_prio_list): New structure.
39777 (grub_prio_list_insert): New function.
39778 (grub_prio_list_remove): New inline function.
39779
39780 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
39781 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
39782 (GRUB_COMMAND_FLAG_MENU): Likewise.
39783 (GRUB_COMMAND_FLAG_BOTH): Likewise.
39784 (GRUB_COMMAND_FLAG_TITLE): Likewise.
39785 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
39786 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
39787 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
39788 (grub_command): Likewise.
39789 (grub_register_command): Likewise.
39790 (grub_command_find): Likewise.
39791 (grub_iterate_commands): Likewise.
39792 (grub_command_init): Likewise.
39793 (grub_arg_parse): Likewise.
39794 (grub_arg_show_help): Likewise.
39795
39796 * include/grub/rescue.h (grub_rescue_register_command): Removed.
39797 (grub_rescue_unregister_command): Likewise.
39798
39799 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
39800 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
39801 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
39802
39803 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
39804 grub_rescue_cmd_initrd.
39805 * include/grub/i386/loader.h: Likewise.
39806 * include/grub/x86_64/loader.h: Likewise.
39807
39808 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
39809
1f4147aa 398102009-03-21 Bean <bean123ch@gmail.com>
39811
39812 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
39813 instead of stat in mingw environment.
39814
39815 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
39816
39817 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
39818
39819 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
39820 AC_CONFIG_LINKS.
39821
2156d5ba 398222009-03-21 Bean <bean123ch@gmail.com>
39823
39824 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
39825 out of range error.
39826
177b82ca 398272009-03-18 Michel Dänzer <michel@daenzer.net>
39828
39829 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
39830 checking inode flags for EXT4_EXTENTS_FLAG.
39831
14aad807 398322009-03-18 Robert Millan <rmh@aybabtu.com>
39833
39834 * loader/i386/linux.c: Include `<grub/video.h>' and
39835 `<grub/i386/pc/vbe.h>'..
39836 (grub_linux_setup_video): New function. Loosely based on the EFI one.
39837 (grub_linux32_boot): Attempt to configure video settings with
39838 grub_linux_setup_video().
39839 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
39840 to avoid grub_console_fini() which would step out of graphical mode
39841 unconditionally.
39842
8cf83a27 398432009-03-14 Robert Millan <rmh@aybabtu.com>
39844
39845 Fix build on powerpc.
39846 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
39847
40164e75 398482009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
39849
39850 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
39851 background image command.
39852
c58bc32a 398532009-03-12 Colin D Bennett <colin@gibibit.com>
39854
39855 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
39856 (grub_gfxterm_putchar): Extract pairs of identical calls to
39857 draw_cursor out of conditional blocks.
39858
5415144a 398592009-03-11 Pavel Roskin <proski@gnu.org>
39860
39861 * fs/hfs.c (grub_hfs_strncasecmp): New function.
39862 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
39863
6394042e 398642009-03-11 Robert Millan <rmh@aybabtu.com>
39865
39866 * loader/i386/multiboot_elfxx.c
39867 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
39868
b7b50e5f 398692009-03-11 Felix Zielcke <fzielcke@z-51.de>
39870
39871 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
39872 `kern/handler.c'.
39873
1ca7fc96 398742009-03-11 Robert Millan <rmh@aybabtu.com>
39875
39876 * loader/i386/multiboot.c (code_size): New variable.
39877 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 39878 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 39879 4-byte alignment to MBI and others by increasing
7d074e3c 39880 `boot_loader_name_length' appropriately.
1ca7fc96 39881
39882 * loader/i386/multiboot_elfxx.c
39883 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
39884
a83ea1d2 398852009-03-09 Felix Zielcke <fzielcke@z-51.de>
39886
39887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
39888 `fs/ext2.c'.
39889
aa9f3bff 398902009-03-08 Robert Millan <rmh@aybabtu.com>
39891
39892 Make loader/i386/linux.c usable on i386-pc again.
39893
39894 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
39895 memory to heap.
39896 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
39897 `#error' stanza.
39898
d8b3b60e 398992009-03-07 Bean <bean123ch@gmail.com>
39900
39901 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
39902 allocation.
39903
b362c9e9 399042009-03-06 Robert Millan <rmh@aybabtu.com>
39905
39906 Fix display issue on terminals with screen size other than 80x25
39907 (e.g. gfxterm with resolution higher than 640x480).
39908
39909 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 39910 position relative to the center of the terminal instead of relying
b362c9e9 39911 on a hardcoded offset.
39912
9304eef1 399132009-03-04 Robert Millan <rmh@aybabtu.com>
39914
39915 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
39916 installed.
39917
39918 * Makefile.in (host_kernel): New variable.
39919 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
39920 scripts instead of just the windows one.
39921 * configure.ac: Initialize and AC_SUBST `host_kernel'.
39922
eabc95fb 399232009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 39924
39925 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
39926 `kern/handler.c'.
39927 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39930 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39933
ceb1223c 399342009-03-04 Felix Zielcke <fzielcke@z-51.de>
39935
39936 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
39937 or if there's no space for the disk label and print the partition number on a
39938 invalid magic.
39939
4910684a 399402009-03-04 Felix Zielcke <fzielcke@z-51.de>
39941
39942 * util/misc.c: Include <time.h>.
39943 (grub_millisleep): New function.
39944
7e9ca17a 399452009-03-04 Bean <bean123ch@gmail.com>
39946
39947 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
39948 another option -mno-red-zone.
39949
39950 * commands/handler.c: Change module description.
39951
39952 * kern/handler.c: Add missing space at the end of description line.
39953
39954 * kern/list.c: Likewise.
39955
f501677c 399562009-03-03 Robert Millan <rmh@aybabtu.com>
39957
39958 Move more components to the relocation area, and fix mbi pointer
39959 handling to use the destination rather than the origin (thanks to
39960 Vladimir Serbinenko for spotting).
39961
39962 * loader/i386/multiboot.c (mbi_dest): New variable.
39963 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
39964 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
39965 relocation area.
39966
9902d047 399672009-03-01 Bean <bean123ch@gmail.com>
39968
50fb7002 39969 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 39970 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
39971 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
39972 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
39973
39974 * loader/i386/efi/linux.c (acpi_guid): New variable.
39975 (acpi_guid): Likewise.
39976 (EBDA_SEG_ADDR): New constant.
39977 (LOW_MEM_ADDR): Likewise.
39978 (FAKE_EBDA_SEG): Likewise.
39979 (fake_bios_data): New function.
39980 (grub_linux_boot): Call fake_bios_data.
39981
71b9f361 399822009-03-01 Bean <bean123ch@gmail.com>
39983
39984 * commands/terminal.c: Removed.
39985
39986 * commands/handler.c: New file.
39987
39988 * include/grub/list.h: Likewise.
39989
39990 * include/grub/handler.h: Likewise.
39991
39992 * kern/list.c: Likewise.
39993
39994 * kern/handler.c: Likewise.
39995
39996 * kern/term.h: Include header file <grub/handler.h>.
39997 (grub_term_input): Move next field to the beginning.
39998 (grub_term_output): Likewise.
39999 (grub_term_input_class): New variable.
40000 (grub_term_output_class): Likewise.
40001 (grub_term_register_input): Changed to inline function.
40002 (grub_term_register_output): Likewise.
40003 (grub_term_unregister_input): Likewise.
40004 (grub_term_unregister_output): Likewise.
40005 (grub_term_set_current_input): Likewise.
40006 (grub_term_set_current_output): Likewise.
40007 (grub_term_get_current_input): Likewise.
40008 (grub_term_get_current_output): Likewise.
40009 (grub_term_iterate_input): Removed.
40010 (grub_term_iterate_output): Likewise.
40011
40012 * kern/term.c (grub_term_list_input): Removed.
40013 (grub_term_list_output): Likewise.
40014 (grub_term_input_class): New variable.
40015 (grub_term_output_class): Likewise.
50fb7002 40016 (grub_cur_term_input): Change variable as macro.
71b9f361 40017 (grub_cur_term_output): Likewise.
40018 (grub_term_register_input): Removed.
40019 (grub_term_register_output): Likewise.
40020 (grub_term_unregister_input): Likewise.
40021 (grub_term_unregister_output): Likewise.
40022 (grub_term_set_current_input): Likewise.
40023 (grub_term_set_current_output): Likewise.
40024 (grub_term_iterate_input): Likewise.
40025 (grub_term_iterate_output): Likewise.
40026 (grub_term_get_current_input): Likewise.
40027 (grub_term_get_current_output): Likewise.
40028
40029 * util/grub-editenv.c: Include header file <grub/handler.h>.
40030 (grub_term_get_current_input): Removed.
40031 (grub_term_get_current_output): Likewise.
40032 (grub_term_input_class): New variable.
50fb7002 40033 (grub_term_output_class): Likewise.
71b9f361 40034
40035 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40036 (grub_term_get_current_output): Likewise.
40037 (grub_term_input_class): New variable.
50fb7002 40038 (grub_term_output_class): Likewise.
71b9f361 40039
40040 * util/grub-probe.c (grub_term_get_current_input): Removed.
40041 (grub_term_get_current_output): Likewise.
40042 (grub_term_input_class): New variable.
50fb7002 40043 (grub_term_output_class): Likewise.
71b9f361 40044
40045 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40046 (grub_term_get_current_output): Likewise.
40047 (grub_term_input_class): New variable.
50fb7002 40048 (grub_term_output_class): Likewise.
71b9f361 40049
40050 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40051 (terminal_mod_SOURCES): Likewise.
40052 (terminal_mod_CFLAGS): Likewise.
40053 (terminal_mod_LDFLAGS): Likewise.
40054
40055 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40056 handler.c.
40057 (kernel_img_SOURCES): Add list.c and handler.c.
40058 (kernel_img_HEADERS): Add list.h and handler.h.
40059
40060 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40061 handler.c.
40062 (kernel_mod_SOURCES): Add list.c and handler.c.
40063 (kernel_mod_HEADERS): Add list.h and handler.h.
40064
40065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40066 handler.c.
40067 (kernel_elf_SOURCES): Add list.c and handler.c.
40068 (kernel_elf_HEADERS): Add list.h and handler.h.
40069
40070 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40071 handler.c.
40072 (kernel_elf_SOURCES): Add list.c and handler.c.
40073 (kernel_elf_HEADERS): Add list.h and handler.h.
40074
40075 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40076 handler.c.
40077 (kernel_mod_SOURCES): Add list.c and handler.c.
40078 (kernel_mod_HEADERS): Add list.h and handler.h.
40079
40080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40081 handler.c.
40082 (kernel_elf_SOURCES): Add list.c and handler.c.
40083 (kernel_elf_HEADERS): Add list.h and handler.h.
40084
8a31787f 400852009-02-27 Robert Millan <rmh@aybabtu.com>
40086
40087 Factorize elf32 / elf64 code in Multiboot loader. This will
40088 prevent it from getting out of sync again.
40089
40090 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40091 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40092 grub_multiboot_load_elf64): Move from here ...
40093 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40094 grub_multiboot_load_elf): ... to here (new file).
40095
51cd3dfc 400962009-02-27 Robert Millan <rmh@aybabtu.com>
40097
40098 * util/grub.d/10_linux.in: Rename "single-user mode" to
40099 "recovery mode".
40100
6e8c9c3a 401012009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40102
40103 Don't leak in SCSI code.
40104 * disk/scsi.c (grub_scsi_close): free `scsi'.
40105
4b6bf4f9 401062009-02-27 Robert Millan <rmh@aybabtu.com>
40107
40108 * loader/i386/pc/multiboot.c: Move from here ...
40109 * loader/i386/multiboot.c: ... to here. Update all users.
40110
b9413424 401112009-02-27 Robert Millan <rmh@aybabtu.com>
40112
40113 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40114 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40115
50fb7002 401162009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 40117
40118 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40119 b-tree.
40120
8cc50345 401212009-02-27 Robert Millan <rmh@aybabtu.com>
40122
40123 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40124 `0x' qualifier as 0 when base is specified as parameter).
40125
6e09b8b7 401262009-02-24 Bean <bean123ch@gmail.com>
40127
40128 * configure.ac: Check for -mcmodel=large in x86_64 target.
40129
40130 * include/grub/efi/api.h (efi_call_10): New macro.
40131 (efi_wrap_10): New function.
40132
40133 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40134 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40135 (GRUB_PE32_REL_BASED_LOW): Likewise.
40136 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40137 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40138 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40139 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40140 (GRUB_PE32_REL_BASED_REL): Likewise.
40141 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40142 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40143 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40144
40145 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40146 issue.
40147
40148 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40149 (efi_wrap_10): New function.
40150
40151 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40152
40153 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40154 MB/MBP model (NV chipset).
40155 (devdata_devs): Add devpath_5 to the list.
40156
40157 * load/i386/efi/linux.c (video_base): Remove variable.
40158 (RGB_MASK): New macro.
40159 (RGB_MAGIC): Likewise.
40160 (LINE_MIN): Likewise.
40161 (LINE_MAX): Likewise.
40162 (FBTEST_STEP): Likewise.
40163 (FBTEST_COUNT): Likewise.
40164 (fb_list): New variable.
40165 (grub_find_video_card): Remove function.
40166 (find_framebuf): New function.
40167 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40168 line length.
40169
40170 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40171 problem for x86_64.
40172
74b21bee 401732009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40174
40175 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40176
40177 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40178 coding tool name.
40179
a455f472 401802009-02-22 Robert Millan <rmh@aybabtu.com>
40181
40182 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40183 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40184 in our relocation, instead of using it directly from heap. Also
40185 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40186
6374daf3 401872009-02-21 Robert Millan <rmh@aybabtu.com>
40188
40189 Implement USB keyboard support (based on patch by Marco Gerards)
40190
40191 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40192 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40193 (usb_keyboard_mod_LDFLAGS): New variables.
40194
40195 * term/usb_keyboard.c: New file.
40196
8fa4ea70 401972009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40198
40199 Corrected wrong declaration
40200
40201 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40202
353976ac 402032009-02-14 Christian Franke <franke@computer.org>
40204
40205 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40206 (grub_lspci_iter): Print class code and programming interface byte.
40207
6aa1169b 402082009-02-14 Christian Franke <franke@computer.org>
40209
40210 * gendistlist.sh: Ignore `.svn' directories.
40211
265372ca 402122009-02-14 Felix Zielcke <fzielcke@z-51.de>
40213
40214 * fs/fat.c: Add 2009 to Copyright line.
40215
9ff516f3 402162009-02-14 Christian Franke <franke@computer.org>
40217
40218 * commands/hdparm.c: New file. Provides `hdparm' command
40219 which sends ATA commands via grub_disk_ata_pass_through ().
40220
40221 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40222
40223 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40224 and <grub/cpu/io.h> to include/grub/ata.h.
40225 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40226 (GRUB_CDROM_SECTOR_SIZE): Remove.
40227 (GRUB_ATA_*): Move to include/grub/ata.h.
40228 (GRUB_ATAPI_*): Likewise.
40229 (enum grub_ata_commands): Likewise.
40230 (enum grub_ata_timeout_milliseconds): Likewise.
40231 (struct grub_ata_device): Likewise.
40232 (grub_ata_regset): Likewise.
40233 (grub_ata_regget): Likewise.
40234 (grub_ata_regset2): Likewise.
40235 (grub_ata_regget2): Likewise.
40236 (grub_ata_check_ready): Likewise.
40237 (grub_ata_wait_not_busy): Remove static, exported in
40238 include/grub/ata.h.
40239 (grub_ata_wait_drq): Likewise.
40240 (grub_ata_pio_read): Likewise.
40241
40242 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40243 function for hdparm.mod.
40244
40245 * include/grub/ata.h: New file, contains declarations from
40246 disk/ata.c.
40247 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40248
40249 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40250 (grub_disk_ata_pass_through): New exported variable.
40251
40252 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40253
772e23da 402542009-02-13 Colin D Bennett <colin@gibibit.com>
40255
40256 Support multiple fallback entries, and provide an API to support
40257 executing default+fallback menu entries. Renamed the `terminal' menu
40258 viewer to `text'.
40259
40260 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40261 variable declaration.
40262 (grub_menu_execute_callback): New structure declaration.
40263 (grub_menu_execute_callback_t): New typedef.
40264 (grub_menu_execute_with_fallback): New function declaration.
40265 (grub_menu_get_entry): Likewise.
40266 (grub_menu_get_timeout): Likewise.
40267 (grub_menu_set_timeout): Likewise.
40268
40269 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40270
40271 * normal/menu.c (grub_wait_after_message): Moved to
40272 `normal/menu_text.c'.
40273 (draw_border): Likewise.
40274 (print_message): Likewise.
40275 (print_entry): Likewise.
40276 (print_entries): Likewise.
40277 (grub_menu_init_page): Likewise.
40278 (get_entry_number): Likewise.
40279 (print_timeout): Likewise.
40280 (run_menu): Likewise.
40281 (grub_menu_execute_entry): Likewise.
40282 (show_text_menu): Likewise.
40283 (get_and_remove_first_entry_number): New function.
40284 (grub_menu_execute_with_fallback): Likewise.
40285 (get_entry): Renamed to ...
40286 (grub_menu_get_entry): .. this and made it global.
40287 (get_timeout): Renamed to ...
40288 (grub_menu_get_timeout): ... this and made it global.
40289 (set_timeout): Renamed to ...
40290 (grub_menu_set_timeout): ... this and made it global.
40291 (grub_normal_terminal_menu_viewer): Renamed to ...
40292 (grub_normal_text_menu_viewer): ... this.
40293
40294 * normal/menu_text.c: New file. Extracted text-menu-specific code
40295 from normal/menu.c.
40296
40297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40298 (normal_mod_SOURCES): Likewise.
40299
40300 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40301 (normal_mod_SOURCES): Likewise.
40302
40303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40304 (normal_mod_SOURCES): Likewise.
40305
40306 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40307 (normal_mod_SOURCES): Likewise.
40308
40309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40310 (normal_mod_SOURCES): Likewise.
40311
40312 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40313 (normal_mod_SOURCES): Likewise.
40314
40315 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40316 (normal_mod_SOURCES): Likewise.
40317
16ac430e 403182009-02-11 Robert Millan <rmh@aybabtu.com>
40319
40320 * util/grub.d/00_header.in: Update old reference to `font' command.
40321
06ff20fc 403222009-02-10 Felix Zielcke <fzielcke@z-51.de>
40323
40324 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40325
40326 Based on patch from Javier Martín.
40327
96da9407 403282009-02-09 Felix Zielcke <fzielcke@z-51.de>
40329
40330 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 40331 to avoid false positives with FAT.
96da9407 40332 (grub_fstest_SOURCES): Likewise.
40333 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40334 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40339
6dca6fe4 403402009-02-09 Felix Zielcke <fzielcke@z-51.de>
40341
06ff20fc 40342 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 40343 bpb.version_specific.fat12_or_fat16.fstype and
40344 bpb.version_specific.fat32.fstype.
40345
2550c62f 403462009-02-08 Robert Millan <rmh@aybabtu.com>
40347
be110b30 40348 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 40349
56978920 403502009-02-08 Robert Millan <rmh@aybabtu.com>
40351
40352 * Makefile.in (host_os, host_cpu): New variables.
40353 (target_os): Remove. Update all users.
40354
d64399b5 403552009-02-08 Marco Gerards <marco@gnu.org>
40356
40357 * Makefile.in (enable_grub_emu_usb): New variable.
40358 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40359 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40360 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40361 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40362 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40363 `usbtest.mod' and `usbms.mod'.
40364 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40365 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40366 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40367 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40368 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40369 variables.
40370
40371 * disk/usbms.c: New file.
40372
40373 * include/grub/usb.h: Likewise.
40374
40375 * include/grub/usbtrans.h: Likewise.
40376
40377 * include/grub/usbdesc.h: Likewise.
40378
40379 * bus/usb/usbtrans.c: Likewise.
40380
40381 * bus/usb/ohci.c: Likewise.
40382
40383 * bus/usb/uhci.c: Likewise.
40384
40385 * bus/usb/usbhub.c: Likewise.
40386
40387 * bus/usb/usb.c: Likewise.
40388
40389 * commands/usbtest.c: Likewise.
40390
40391 * util/usb.c: Likewise.
50fb7002 40392
d64399b5 40393 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40394
40395 * configure.ac: Test for libusb presence.
50fb7002 40396
d64399b5 40397 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40398
2b40d6bb 403992009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40400
40401 * kern/mm.c: Add more comments.
40402
73a4ce81 404032009-02-08 Robert Millan <rmh@aybabtu.com>
40404
40405 Patch from Javier Martín.
40406 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40407 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40408
f821ce59 404092009-02-08 Robert Millan <rmh@aybabtu.com>
40410
40411 * fs/cpio.c: Split tar functionality to ...
40412 * fs/tar.c: ... here (new file). Update all users.
40413
aebfc4b0 404142009-02-07 Robert Millan <rmh@aybabtu.com>
40415
40416 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40417 backward-incompatible features.
40418
40419 Based on patch from Javier Martín, with some adjustments.
40420
50fb7002 404212009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 40422
40423 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40424
0bb5115e 404252009-02-07 Robert Millan <rmh@aybabtu.com>
40426
40427 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40428 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40429 after the RAID stuff.
40430
38a0f8e7 404312009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40432
50fb7002 40433 Fixes problem when running vbetest command as reported by
38a0f8e7 40434 Vladimir Serbinenko <phcoder@gmail.com>.
40435
40436 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40437
3143cc1c 404382009-02-04 Felix Zielcke <fzielcke@z-51.de>
40439
40440 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40441 /dev/md/NpN style mdraid devices.
40442
9cba6fce 404432009-02-03 Felix Zielcke <fzielcke@z-51.de>
40444
40445 * util/unifont2pff.rb: Remove.
40446
e507a2c1 404472009-02-03 Felix Zielcke <fzielcke@z-51.de>
40448
40449 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40450 `#'.
40451
d2c2b4cd 404522009-02-03 Felix Zielcke <fzielcke@z-51.de>
40453
40454 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
40455 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40456 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40457 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40459 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40460 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40461
b4315fb0 404622009-02-02 Christian Franke <franke@computer.org>
40463
40464 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
40465
de3aa260 404662009-02-01 Felix Zielcke <fzielcke@z-51.de>
40467
7c3ff286 40468 * INSTALL: Note that we now require at least autoconf 2.59 and
40469 that LZO is optional.
de3aa260 40470
825a182b 404712009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40472
40473 Base on patch on bug #24154 created by Tomas Tintera
40474 <trosos@seznam.cz>.
40475
40476 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
40477
a69ef770 404782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
40479
7c3ff286 40480 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 40481 <bero@arklinux.org>.
40482
40483 * normal/parser.y (script_init): Add missing semicolon.
40484
6fa42fa6 404852009-01-31 Colin D Bennett <colin@gibibit.com>
40486
7c3ff286 40487 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 40488 (free_menu_entry_classes): Added.
40489 (grub_normal_menu_addentry): Added class property handling.
40490 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
40491 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
40492
40493 * normal/menu_viewer.c: New file.
40494
40495 * normal/menu.c (run_menu_entry): Renamed to ...
40496 (grub_menu_execute_entry): ... this and made it as global.
40497 (grub_menu_run): Renamed to ...
40498 (show_text_menu): ... this and made it local.
40499 (show_text_menu): Adapt to new function names.
40500 (grub_normal_terminal_menu_viewer): New global variable.
40501
40502 * include/grub/menu.h: New file.
40503
40504 * include/grub/menu_viewer.h: New file.
40505
40506 * include/grub/normal.h: Added include to grub/menu.h.
40507 (grub_menu_entry): Moved to include/grub/menu.h.
40508 (grub_menu_entry_t): Likewise.
40509 (grub_menu): Likewise.
40510 (grub_menu_t): Likewise.
40511 (grub_normal_terminal_menu_viewer): Added.
40512 (grub_menu_execute_entry): Likewise.
40513 (grub_menu_run): Removed.
40514
40515 * DISTLIST: Added include/grub/menu.h.
40516 Added include/grub/menu_viewer.h.
40517 Added normal/menu_viewer.c.
40518
405192009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
40520
40521 * normal/execute.c (grub_script_execute_menuentry): Changed to use
40522 arglist for menutitle arguments.
40523
40524 * normal/main.c (grub_normal_menu_addentry): Likewise.
40525
40526 * normal/parser.y (menuentry): Likewise.
40527
40528 * normal/script.c (grub_script_create_cmdmenu): Likewise.
40529
40530 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
40531 (grub_script_create_cmdmenu): Likewise.
40532
40533 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
40534
40535 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
40536 changes.
40537
40538 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
40539
40540 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
40541
40542 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
40543
40544 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40545
40546 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40547
40548 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
40549
56192c23 405502009-01-30 Christian Franke <franke@computer.org>
40551
40552 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
40553 in option help text.
40554
d72521b3 405552009-01-27 Pavel Roskin <proski@gnu.org>
40556
40557 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
40558
994b5e84 405592009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40560
40561 * commands/lsmmap.c: Add include to grub/machine/memory.h.
40562
40563 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
40564
40565 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
40566 unregister function.
40567
6a7eab2c 405682009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
40569
40570 * disk/scsi.c (grub_scsi_read): Fix sign problem.
40571
40572 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
40573
40574 * util/grub-mkfont.c (usage): Fix typo.
40575
40576 * util/elf/grub-mkimage.c (load_modules): Fix warning.
40577
1806b56e 405782009-01-26 Daniel Mierswa <impulze@impulze.org>
40579
3fb18f09 40580 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
40581
336e1fb9 40582 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
40583
1806b56e 40584 * kern/misc.c (grub_strcasecmp): New function.
40585 (grub_strcasecmp): Use grub_size_t instead of int for length.
40586 Fix return value.
40587 * include/grub/misc.h: Update function prototypes.
40588
580b2a0f 405892009-01-26 Robert Millan <rmh@aybabtu.com>
40590
40591 * configure.ac: Fix cross-compilation check.
ef257b36 40592
d31c24f1 405932009-01-22 Christian Franke <franke@computer.org>
40594
40595 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
40596 (precision) digit string. Allow `.format2' without `format1' (width).
40597 Limit input chars for `%s' output to `format2' if specified. This is
40598 compatible with standard printf ().
40599
3138b44c 406002009-01-22 Christian Franke <franke@computer.org>
40601
40602 * disk/ata.c (grub_ata_wait_status): Replace by ...
40603 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
40604 other status bits may be invalid while BSY is asserted.
40605 (grub_ata_check_ready): New function.
40606 (grub_ata_cmd): Removed.
40607 (grub_ata_wait_drq): New function.
40608 (grub_ata_strncpy): Remove inline.
40609 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
40610 and error check now done by grub_ata_wait_drq ().
40611 (grub_ata_pio_write): Likewise.
40612 (grub_atapi_identify): Set DEV before check for !BSY. Use
40613 grub_ata_wait_drq () to wait for data.
40614 (grub_ata_device_initialize): Add status register check to
40615 detect missing SATA slave devices. Add debug messages.
40616 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
40617 (grub_atapi_packet): Set DEV before check for !BSY. Replace
40618 transfer loop by grub_ata_pio_write ().
40619 (grub_ata_identify): Set DEV before check for !BSY. Use
40620 grub_ata_wait_drq () to wait for data.
ef257b36 40621 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 40622 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
40623 read/write in one loop. Fix invalid command on write. Fix incomplete
40624 command on (size % batch) == 0. Add missing error check after write of
40625 last block. Add debug messages.
40626 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
40627
59a64ef6 406282009-01-19 Christian Franke <franke@computer.org>
40629
40630 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
40631 (GRUB_ATAPI_IREASON_*): Likewise.
40632 (grub_ata_pio_write): Fix timeout error return.
40633 (grub_atapi_identify): Add grub_ata_wait () after cmd.
40634 (grub_atapi_wait_drq): New function.
40635 (grub_atapi_packet): New parameter `size'.
40636 Use grub_atapi_wait_drq () and direct write instead of
40637 grub_ata_pio_write ().
40638 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
40639 reads the number of bytes requested by the device for each DRQ
40640 assertion.
40641 (grub_atapi_write): Remove old implementation, return not
40642 implemented instead.
40643
1cfe20b3 406442009-01-19 Christian Franke <franke@computer.org>
40645
40646 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
40647 of 512 to calculate data size.
40648 (grub_scsi_read12): Likewise.
40649 (grub_scsi_write10): Likewise.
40650 (grub_scsi_write12): Likewise.
40651 (grub_scsi_read): Adjust size according to blocksize.
40652 Add checks for invalid blocksize and unaligned transfer.
40653
bee5fe5d 406542009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
40655
40656 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
40657
ef257b36 40658 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 40659 width glyphs.
40660
3e643f8c 406612009-01-19 Robert Millan <rmh@aybabtu.com>
40662
40663 * config.guess: Update to latest version from config git.
40664 * config.sub: Likewise.
40665
4fa80998 406662009-01-17 Felix Zielcke <fzielcke@z-51.de>
40667
40668 * Makefile.in: Change font compilation to use new grub-mkfont instead
40669 of java version.
40670
40671 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
40672 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
40673 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40674 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
40675 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
40676 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
40677 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
40678 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
40679 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40680
7086085b 406812009-01-16 Christian Franke <franke@computer.org>
40682
40683 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
40684 (enum grub_ata_timeout_milliseconds): New enum.
40685 (grub_ata_wait_status): Add parameter milliseconds.
40686 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
40687 recovery from timed-out commands.
40688 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
40689 return grub_errno instead of REG_ERROR.
40690 (grub_ata_pio_write): Add parameter milliseconds.
40691 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
40692 Pass milliseconds to grub_ata_wait_status () and
40693 grub_ata_pio_read ().
40694 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
40695 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
40696 grub_ata_wait_status (). Fix IDENTIFY timeout check.
40697 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
40698 It is not suitable for device detection, because DEV bit is ignored,
40699 the command may run too long, and not all devices set the signature
40700 properly.
40701 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
40702 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
40703 Fix device selection, DEV bit must be set first to address the registers
40704 of the correct device.
40705 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
40706 grub_ata_pio_read/write ().
40707 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
40708 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
40709
4a412913 407102009-01-13 Carles Pina i Estany <carles@pina.cat>
40711
40712 * util/grub-editenv.c (main): Use fseeko(), not fseek().
40713
7795c55e 407142009-01-13 Bean <bean123ch@gmail.com>
d913988c 40715
40716 * util/grub-mkfont.c (write_font): forget to remove some debug code.
40717
7795c55e 407182009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 40719
40720 * Makefile.in: (enable_grub_mkfont): New variable.
40721 (freetype_cflags): Likewise.
40722 (freetype_libs): Likewise.
40723
40724 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
40725 (grub_mkfont_SOURCES): New variable.
40726 (grub_mkfont_CFLAGS): Likewise.
40727 (grub_mkfont_LDFLAGS): Likewise.
40728
40729 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
40730 library if `--enable-grub-mkfont' is requested.
40731 (enable_grub_mkfont): New variable.
40732 (freetype_cflags): Likewise.
40733 (freetype_libs): Likewise.
40734
40735 * util/grub-mkfont.c: New file.
40736
093af1fe 407372009-01-12 Christian Franke <franke@computer.org>
40738
40739 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
40740 mode check. Fix setting of compat_use[].
40741
f36cc108 407422009-01-10 Robert Millan <rmh@aybabtu.com>
40743
40744 Update a few copyright years which we forgot to do in 2008 (only for
40745 files whose changes made in 2008 were copyright-significant)
40746
40747 * Makefile.in: Add 2008 to Copyright line.
40748 * disk/ieee1275/ofdisk.c: Likewise.
40749 * disk/efi/efidisk.c: Likewise.
40750 * kern/dl.c: Likewise.
40751 * kern/sparc64/ieee1275/init.c: Likewise.
40752 * kern/mm.c: Likewise.
40753 * kern/efi/mm.c: Likewise.
40754 * boot/i386/pc/boot.S: Likewise.
40755 * genfslist.sh: Likewise.
40756 * fs/iso9660.c: Likewise.
40757 * fs/hfs.c: Likewise.
40758 * fs/jfs.c: Likewise.
40759 * fs/minix.c: Likewise.
40760 * fs/ufs.c: Likewise.
40761 * gensymlist.sh.in: Likewise.
40762 * genkernsyms.sh.in: Likewise.
40763 * include/grub/misc.h: Likewise.
40764 * include/grub/types.h: Likewise.
40765 * include/grub/symbol.h: Likewise.
40766 * include/grub/elf.h: Likewise.
40767 * include/grub/kernel.h: Likewise.
40768 * include/grub/disk.h: Likewise.
40769 * include/grub/dl.h: Likewise.
40770 * include/grub/i386/linux.h: Likewise.
40771 * include/grub/i386/pc/biosdisk.h: Likewise.
40772 * include/grub/efi/api.h: Likewise.
40773 * include/grub/efi/pe32.h: Likewise.
40774 * include/grub/util/misc.h: Likewise.
40775 * normal/execute.c: Likewise.
40776 * normal/arg.c: Likewise.
40777 * normal/completion.c: Likewise.
40778 * normal/lexer.c: Likewise.
40779 * normal/parser.y: Likewise.
40780 * normal/misc.c: Likewise.
40781 * commands/i386/pc/vbeinfo.c: Likewise.
40782 * commands/hexdump.c: Likewise.
40783 * commands/terminal.c: Likewise.
40784 * commands/ls.c: Likewise.
40785 * commands/help.c: Likewise.
40786 * partmap/pc.c: Likewise.
40787 * loader/efi/chainloader.c: Likewise.
40788 * loader/multiboot_loader.c: Likewise.
40789 * loader/i386/pc/multiboot2.c: Likewise.
40790 * term/efi/console.c: Likewise.
40791 * term/i386/pc/serial.c: Likewise.
40792 * util/lvm.c: Likewise.
40793 * util/console.c: Likewise.
40794 * util/i386/efi/grub-mkimage.c: Likewise.
40795 * util/raid.c: Likewise.
40796
7f02114b 407972009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
40798
40799 * commands/videotest.c: Removed include to grub/machine/memory.h.
40800
40801 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
40802 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
40803 (video_mod_SOURCES): Removed.
40804 (video_mod_CFLAGS): Likewise.
40805 (video_mod_LDFLAGS): Likewise.
40806 (gfxterm_mod_SOURCES): Likewise.
40807 (gfxterm_mod_CFLAGS): Likewise.
40808 (gfxterm_mod_LDFLAGS): Likewise.
40809 (videotest_mod_SOURCES): Likewise.
40810 (videotest_mod_CFLAGS): Likewise.
40811 (videotest_mod_LDFLAGS): Likewise.
40812 (bitmap_mod_SOURCES): Likewise.
40813 (bitmap_mod_CFLAGS): Likewise.
40814 (bitmap_mod_LDFLAGS): Likewise.
40815 (tga_mod_SOURCES): Likewise.
40816 (tga_mod_CFLAGS): Likewise.
40817 (tga_mod_LDFLAGS): Likewise.
40818 (jpeg_mod_SOURCES): Likewise.
40819 (jpeg_mod_CFLAGS): Likewise.
40820 (jpeg_mod_LDFLAGS): Likewise.
40821 (png_mod_SOURCES): Likewise.
40822 (png_mod_CFLAGS): Likewise.
40823 (png_mod_LDFLAGS): Likewise.
40824
40825 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
40826 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
40827 (video_mod_SOURCES): Added.
40828 (video_mod_CFLAGS): Likewise.
40829 (video_mod_LDFLAGS): Likewise.
40830 (videotest_mod_SOURCES): Likewise.
40831 (videotest_mod_CFLAGS): Likewise.
40832 (videotest_mod_LDFLAGS): Likewise.
40833 (bitmap_mod_SOURCES): Likewise.
40834 (bitmap_mod_CFLAGS): Likewise.
40835 (bitmap_mod_LDFLAGS): Likewise.
40836 (tga_mod_SOURCES): Likewise.
40837 (tga_mod_CFLAGS): Likewise.
40838 (tga_mod_LDFLAGS): Likewise.
40839 (jpeg_mod_SOURCES): Likewise.
40840 (jpeg_mod_CFLAGS): Likewise.
40841 (jpeg_mod_LDFLAGS): Likewise.
40842 (png_mod_SOURCES): Likewise.
40843 (png_mod_CFLAGS): Likewise.
40844 (png_mod_LDFLAGS): Likewise.
40845 (gfxterm_mod_SOURCES): Likewise.
40846 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 40847 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 40848
40849 * term/gfxterm.c: Removed include to grub/machine/memory.h,
40850 grub/machine/console.h.
40851
644fff97 408522009-01-04 Jerone Young <jerone@gmail.com>
40853
40854 Make on screen instructions clearer
40855
40856 Based on patch created by Jidanni <jidanni@jidanni.org>
40857
40858 * normal/menu.c: print clearer instructions on the screen
40859
1e901a75 408602009-01-02 Colin D Bennett <colin@gibibit.com>
40861
40862 New font engine.
34c44600 40863
1e901a75 40864 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
40865 build system and fixed gfxterm.c to work with different sized fonts.
40866
40867 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 40868
1e901a75 40869 * configure: Re-generated.
34c44600 40870
1e901a75 40871 * DISTLIST: Removed font/manager.c.
40872 Added font/font.c.
40873 Added font/font_cmd.c.
34c44600 40874
1e901a75 40875 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
40876 compilation.
34c44600 40877
1e901a75 40878 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 40879
40880 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 40881
40882 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 40883
1e901a75 40884 * normal/menu.c: Likewise.
34c44600 40885
1e901a75 40886 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
40887 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 40888
1e901a75 40889 * include/grub/font.h: Replaced with new file.
34c44600 40890
1e901a75 40891 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
40892 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
40893 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
40894 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
40895 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 40896 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 40897 fg_red, fg_green, fg_blue, fg_alpha.
40898 (grub_video_adapter): Removed blit_glyph.
34c44600 40899 (grub_video_blit_glyph): Removed.
40900
1e901a75 40901 * font/manager.c: Removed file.
34c44600 40902
40903 * font/font.c: New file.
40904
1e901a75 40905 * font/font_cmd.c: Likewise.
34c44600 40906
1e901a75 40907 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 40908
1e901a75 40909 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
40910 (grub_video_vbe_map_rgba): Likewise.
40911 (grub_video_vbe_unmap_color_int): Likewise.
40912 (grub_video_vbe_blit_glyph): Removed.
40913 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 40914
1e901a75 40915 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
40916 (get_pixel): Likewise.
34c44600 40917 (set_pixel): Likewise.
40918
1e901a75 40919 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 40920
1e901a75 40921 * term/gfxterm.c: Adapted to new font engine.
34c44600 40922
1e901a75 40923 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 40924
1e901a75 40925 * term/i386/pc/vga.c: Likewise.
34c44600 40926
1e901a75 40927 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 40928
1e901a75 40929 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 40930
1e901a75 40931 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40932
1e901a75 40933 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 40934
1e901a75 40935 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 40936
1e901a75 40937 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 40938
1e901a75 40939 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 40940
1e901a75 40941 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 40942
1e901a75 40943 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
40944
40945 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 40946
1e901a75 40947 * util/grub-mkconfig_lib.in: Changed font extension.
40948
278922e8 409492008-12-28 Felix Zielcke <fzielcke@z-51.de>
40950
40951 * util/getroot.c (grub_util_get_grub_dev): Add support for
40952 /dev/md/dNNpNN style partitionable mdraid devices.
40953
3ced05cf 409542008-12-12 Alex Smith <alex@alex-smith.me.uk>
40955
40956 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
40957 at a time limit of the PXE TFTP API correctly.
40958 (grub_pxefs_close): Likewise.
40959
7fd0ee30 409602008-11-29 Robert Millan <rmh@aybabtu.com>
40961
34c44600 40962 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 40963 grub_ata_device_initialize() calls.
40964
34c44600 409652008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 40966
40967 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
40968 iteration failed.
40969 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
40970
89313780 409712008-11-28 Robert Millan <rmh@aybabtu.com>
40972
40973 Fix build on powerpc-ieee1275. Based on patch created by
40974 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
40975 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40976 `kern/ieee1275/mmap.c'.
40977 * include/grub/powerpc/ieee1275/memory.h: New file.
40978
15257703 40979 Provide grub-install on coreboot.
40980 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
40981 (grub_install_SOURCES): New variable.
40982 * util/i386/pc/grub-install.in: Add a few condition checks to make it
40983 usable on coreboot.
40984
9fc5388a 409852008-11-25 Felix Zielcke <fzielcke@z-51.de>
40986
40987 * util/grub-fstest.c (grub_term_get_current_input): Change return type
40988 to `grub_term_input_t'.
40989 (grub_term_get_current_output): Change return type to
40990 `grub_term_output_t'.
40991
bc3a2f31 409922008-11-22 Robert Millan <rmh@aybabtu.com>
40993
34c44600 40994 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 40995 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
40996 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
40997 grub_vga_text_cls().
40998
80fc88f2 40999 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 41000 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 41001
cbf36fd3 41002 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41003 to 0x200000 (avoids trouble with some OFW implementations, and matches
41004 with the one in Yaboot).
41005 Reported by Manoel Abranches
41006
73e8e268 410072008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 41008
41009 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41010 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41011
73e8e268 41012 * util/grub-mkconfig_lib.in (grub_warn): New function.
41013 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41014 warnings, to obtain consistent formatting.
41015 * util/grub.d/00_header.in: Likewise.
41016 * util/update-grub_lib.in: Likewise.
41017
e94045a1 41018 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 41019 Move comment text to `#error' stanza.
e94045a1 41020
79d29fd7 41021 Harmonize ieee1275's grub_available_iterate() with the generic
41022 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41023 build problem on i386-ieee1275):
41024 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41025 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41026 parameter `type'. Update all users of this function.
41027 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41028 `kern/ieee1275/mmap.c'.
41029 * kern/ieee1275/init.c
41030 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41031 with ...
41032 (grub_machine_mmap_iterate): ... this.
41033 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41034 return type to `grub_err_t'. Update all implementations of this
41035 function prototype.
41036 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41037 Likewise.
41038
60d6b16e 41039 Add `lsmmap' command (lists firmware-provided memory map):
41040 * commands/lsmmap.c: New file.
41041 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41042 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41043 variables.
41044 * conf/powerpc-ieee1275.rmk: Likewise.
41045 * conf/i386-coreboot.rmk: Likewise.
41046 * conf/i386-ieee1275.rmk: Likewise.
41047
ebaaf49b 410482008-11-19 Robert Millan <rmh@aybabtu.com>
41049
41050 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 41051 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41052 constraints to initrd allocation (based on code from
41053 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41054 for Linux to find it.
ebaaf49b 41055
dfab719f 410562008-11-14 Robert Millan <rmh@aybabtu.com>
41057
41058 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41059 order to cope with duplicate slashes.
41060
10fc3eb9 410612008-11-14 Robert Millan <rmh@aybabtu.com>
41062
41063 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41064 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41065 don't want to mess with lower memory, because it is used in the Linux
41066 loader.
41067
41068 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 41069 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 41070 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41071 is in our heap (probably as a result of it being corrupted during
2f2a3442 41072 decompression). Add #error instance with comment to explain why this
41073 loader isn't currently usable on PC/BIOS.
10fc3eb9 41074
e2e07847 410752008-11-14 Robert Millan <rmh@aybabtu.com>
41076
41077 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 41078 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 41079
fe8e8d69 410802008-11-12 Robert Millan <rmh@aybabtu.com>
41081
41082 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41083
41084 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41085 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41086 from here ...
41087 * include/grub/i386/pc/memory.h: ... to here.
41088
976b07d0 410892008-11-12 Robert Millan <rmh@aybabtu.com>
41090
41091 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41092 split).
41093
41094 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41095 (grub_console_cur_color, grub_console_real_putchar)
41096 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41097 (grub_console_setcolorstate, grub_console_setcolor)
41098 (grub_console_getcolor): Move from here ...
41099 * include/grub/i386/vga_common.h: ... to here (new file).
41100
41101 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41102 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41103 `<grub/i386/io.h>'.
41104 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41105 `<grub/i386/vga_common.h>'.
41106
76679cd3 411072008-11-12 Robert Millan <rmh@aybabtu.com>
41108
41109 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41110 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41111 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41112 variables.
41113 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41114 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41115
41116 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41117 grub_console_init() with call to grub_vga_text_init().
41118 (grub_machine_fini): Replace call to
41119 grub_console_fini() with call to grub_vga_text_fini() and
41120 grub_at_keyboard_fini().
41121
41122 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41123 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41124 (grub_console_setcolorstate, grub_console_setcolor)
41125 (grub_console_getcolor): New function prototypes.
41126
41127 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41128 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41129 (grub_vga_text_setcursor): Static-ize.
41130 (grub_vga_text_term): New structure.
41131 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41132
41133 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41134 (grub_console_cur_color, grub_console_standard_color)
41135 (grub_console_normal_color, grub_console_highlight_color)
41136 (map_char, grub_console_putchar, grub_console_getcharwidth)
41137 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41138 (grub_console_getcolor): Move from here ...
41139 * term/i386/vga_common.c: ... to here (same function names).
41140
95b841d3 411412008-11-12 Robert Millan <rmh@aybabtu.com>
41142
41143 Use newly-added Multiboot support in coreboot.
41144
41145 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41146 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41147
41148 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41149 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41150 (codestart): Store the MBI in `startup_multiboot_info' when we're
41151 being loaded using Multiboot.
41152
41153 * kern/i386/coreboot/init.c (grub_machine_init): Move
41154 grub_at_keyboard_init() call to beginning of function (useful for
41155 debugging). Call grub_machine_mmap_init() before attempting to use
41156 grub_machine_mmap_iterate().
41157 (grub_lower_mem, grub_upper_mem): Move from here ...
41158 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41159 here (new file).
41160
41161 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41162 function prototype.
41163
761ca975 411642008-11-12 Robert Millan <rmh@aybabtu.com>
41165
41166 Fix a regression introduced by the at_keyboard.mod split. Because
41167 some terminals are default on some platforms and non-default on
41168 others, the first terminal being registered determines which is
41169 going to be default.
41170
41171 * kern/term.c (grub_term_register_input): If this is the first
41172 terminal being registered, set it as the current one.
41173 (grub_term_register_output): Likewise.
41174
41175 * term/efi/console.c (grub_console_init): Do not call
41176 grub_term_set_current_output() or grub_term_set_current_input().
41177 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41178 * term/i386/pc/console.c (grub_console_init): Likewise.
41179 (grub_console_fini): Do not call grub_term_set_current_input()
41180 (but leave grub_term_set_current_output() to restore text mode).
41181
6c529df7 411822008-11-10 Robert Millan <rmh@aybabtu.com>
41183
41184 * util/grub.d/00_header.in: Add backward compatibility check for
41185 versions of terminal.mod that don't understand `terminal_input' or
41186 `terminal_output'.
41187
132e4113 411882008-11-09 Robert Millan <rmh@aybabtu.com>
41189
41190 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41191 `terminal_input' / `terminal_output', not `terminal'.
41192
ac293d50 411932008-11-08 Robert Millan <rmh@aybabtu.com>
41194
41195 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41196 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41197
0025933a 411982008-11-08 Robert Millan <rmh@aybabtu.com>
41199
41200 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41201 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41202 members. Update all users.
41203 * util/console.c (grub_ncurses_term): Split in ...
41204 (grub_ncurses_term_input): ... this, and ...
41205 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41206 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41207
37c86336 412082008-11-08 Robert Millan <rmh@aybabtu.com>
41209
41210 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41211 (PKGDATA): Add $(pkgdata_SRCDIR).
41212 (pkglib_BUILDDIR): New variable.
41213 (pkgdata_SRCDIR): New variable.
41214 (build_env.mk): New target.
41215 (include_DATA): New variable.
41216 (install-local): Install $(include_DATA) files in $(includedir).
41217
b6c15a2d 412182008-11-07 Pavel Roskin <proski@gnu.org>
41219
d99d46f1 41220 * gendistlist.sh: Use C locale for sorting to ensure consistent
41221 output on all systems.
41222
b6c15a2d 41223 * util/grub.d/00_header.in: Remove incorrect space before
41224 "serial".
41225
c32ee8c9 412262008-11-07 Robert Millan <rmh@aybabtu.com>
41227
41228 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41229 per specification.
41230 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41231 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41232 (based on find_multi_boot1_header).
41233 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41234 using find_multi_boot2_header(), and abort if neither Multiboot or
41235 Multiboot headers were found.
41236
651c29b7 412372008-11-07 Robert Millan <rmh@aybabtu.com>
41238
41239 Modularize at_keyboard.mod:
41240
41241 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41242 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41243 (at_keyboard_mod_LDFLAGS): New variables.
41244
41245 Actual terminal split:
41246
41247 * include/grub/term.h (struct grub_term): Split in ...
41248 (struct grub_term_input): ... this, and ...
41249 (struct grub_term_output): ... this. Update all users.
41250 (grub_term_set_current): Split in ...
41251 (grub_term_set_current_input): ... this, and ...
41252 (grub_term_set_current_output): ... this.
41253 (grub_term_get_current): Split in ...
41254 (grub_term_get_current_input): ... this, and ...
41255 (grub_term_get_current_output): ... this.
41256 (grub_term_register): Split in ...
41257 (grub_term_register_input): ... this, and ...
41258 (grub_term_register_output): ... this.
41259 (grub_term_unregister): Split in ...
41260 (grub_term_unregister_input): ... this, and ...
41261 (grub_term_unregister_output): ... this.
41262 (grub_term_iterate): Split in ...
41263 (grub_term_iterate_input): ... this, and ...
41264 (grub_term_iterate_output): ... this.
41265
41266 * kern/term.c (grub_term_list): Split in ...
41267 (grub_term_list_input): ... this, and ...
41268 (grub_term_list_output): ... this. Update all users.
41269 (grub_cur_term): Split in ...
41270 (grub_cur_term_input): ... this, and ...
41271 (grub_cur_term_output): ... this. Update all users.
41272 (grub_term_set_current): Split in ...
41273 (grub_term_set_current_input): ... this, and ...
41274 (grub_term_set_current_output): ... this.
41275 (grub_term_get_current): Split in ...
41276 (grub_term_get_current_input): ... this, and ...
41277 (grub_term_get_current_output): ... this.
41278 (grub_term_register): Split in ...
41279 (grub_term_register_input): ... this, and ...
41280 (grub_term_register_output): ... this.
41281 (grub_term_unregister): Split in ...
41282 (grub_term_unregister_input): ... this, and ...
41283 (grub_term_unregister_output): ... this.
41284 (grub_term_iterate): Split in ...
41285 (grub_term_iterate_input): ... this, and ...
41286 (grub_term_iterate_output): ... this.
41287
41288 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41289 a check for input and one for output (and only attempt to get keys
41290 from user when input works).
41291
41292 * util/grub-probe.c (grub_term_get_current): Split in ...
41293 (grub_term_get_current_input): ... this, and ...
41294 (grub_term_get_current_output): ... this.
41295 * util/grub-fstest.c: Likewise.
41296 * util/i386/pc/grub-setup.c: Likewise.
41297 * util/grub-editenv.c: Likewise.
41298
41299 Portability adjustments:
41300
41301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41302 `term/i386/pc/at_keyboard.c'.
41303 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41304 grub_keyboard_controller_init() (now handled by terminal .init).
41305 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41306 grub_at_keyboard_init().
41307 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41308 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41309 at_keyboard.mod via input terminal interface).
41310 * include/grub/i386/coreboot/console.h: Convert into a stub for
41311 `<grub/i386/pc/console.h>'.
41312
41313 Migrate full terminals to new API:
41314
41315 * term/efi/console.c (grub_console_term): Split into ...
41316 (grub_console_term_input): ... this, and ...
41317 (grub_console_term_output): ... this. Update all users.
41318 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41319 (grub_ofconsole_init): Split into ...
41320 (grub_ofconsole_init_input): ... this, and ...
41321 (grub_ofconsole_init_output): ... this.
41322 (grub_ofconsole_term): Split into ...
41323 (grub_ofconsole_term_input): ... this, and ...
41324 (grub_ofconsole_term_output): ... this. Update all users.
41325 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41326 (grub_serial_term_input): ... this, and ...
41327 (grub_serial_term_output): ... this. Update all users.
41328 * term/i386/pc/console.c (grub_console_term): Split into ...
41329 (grub_console_term_input): ... this, and ...
41330 (grub_console_term_output): ... this. Update all users.
41331 (grub_console_term_input): Only enable it on PC/BIOS platform.
41332 (grub_console_init): Remove grub_keyboard_controller_init() call.
41333
41334 Migrate input terminals to new API:
41335
41336 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41337 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41338 i386-specific anyway).
41339 (grub_console_checkkey): Rename to ...
41340 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41341 users.
41342 (grub_keyboard_controller_orig): New variable.
41343 (grub_console_getkey): Rename to ...
41344 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41345 users.
41346 (grub_keyboard_controller_init): Static-ize. Save original
41347 controller value so that it can be restored ...
41348 (grub_keyboard_controller_fini): ... here (new function).
41349 (grub_at_keyboard_term): New structure.
41350 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41351 functions.
41352
41353 Migrate output terminals to new API:
41354
41355 * term/i386/pc/vga.c (grub_vga_term): Change type to
41356 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41357 members. Update all users.
41358 * term/gfxterm.c (grub_video_term): Change type to
41359 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41360 members. Update all users.
41361 * include/grub/i386/pc/console.h (grub_console_checkkey)
41362 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41363 etc).
41364
41365 Migrate `terminal' command and userland tools to new API:
41366
41367 * commands/terminal.c (grub_cmd_terminal): Split into ...
41368 (grub_cmd_terminal_input): ... this, and ...
41369 (grub_cmd_terminal_output): ... this.
41370 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41371 `terminal_input' and `terminal_output'.
41372 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41373 `terminal_input' / `terminal_output' API.
41374 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41375 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41376 provided ${GRUB_TERMINAL}, convert it).
41377
96e5d876 413782008-11-04 Robert Millan <rmh@aybabtu.com>
41379
41380 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41381 for FreeBSD.
41382 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41383
556f3775 413842008-11-03 Bean <bean123ch@gmail.com>
41385
41386 * kern/elf.c (grub_elf32_load): Revert to previous code.
41387 (grub_elf64_load): Likewise.
41388
41389 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41390
926b9823 413912008-11-01 Robert Millan <rmh@aybabtu.com>
41392
41393 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41394 (TARGET_CPPFLAGS): Likewise.
41395 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41396
1432e958 413972008-11-01 Carles Pina i Estany <carles@pina.cat>
41398
41399 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41400
dba3f844 414012008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 41402
41403 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41404 addition of objects until the code is not going to be able to fail.
41405
dba3f844 414062008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 41407
41408 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41409 (add a missing NULL check, and correct them by moving the pointer
41410 operations after the actual check).
41411
7ab28c21 414122008-10-29 Robert Millan <rmh@aybabtu.com>
41413
41414 * util/i386/pc/grub-install.in: Handle empty string as output from
41415 make_system_path_relative_to_its_root().
41416
1b7748eb 414172008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41418
41419 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41420 circular metadata worst case scenario. If the metadata is circular
41421 then copy the wrap in place.
41422 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41423 project lib/format_text/layout.h
41424 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41425
c9618ab2 414262008-10-03 Felix Zielcke <fzielcke@z-51.de>
41427
7a36edca 41428 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 41429
bf981c62 414302008-10-03 Felix Zielcke <fzielcke@z-51.de>
41431
41432 * util/update-grub_lib.in: Mention filename in warning message.
41433
6d994591 414342008-09-29 Felix Zielcke <fzielcke@z-51.de>
41435
41436 * NEWS: Update for rename of update-grub to grub-mkconfig.
41437
18ade780 414382008-09-29 Felix Zielcke <fzielcke@z-51.de>
41439
41440 * util/update-grub_lib.in: Copy to ...
41441 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 41442 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 41443 * util/update-grub.in: Rename to ...
41444 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41445 option. Add `--output' option to allow users to specify the generated
41446 configuration file. Default to stdout.
41447 (update_grub_dir): Rename to ...
41448 (grub_mkconfig_dir): ... this.
41449 (grub_cfg): Default to an empty string.
41450 * conf/common.rmk (update-grub): Rename to ...
41451 (grub-mkconfig): ... this.
41452 (update-grub_lib): Copy to ...
41453 (grub-mkconfig_lib): ... this.
41454 (update-grub_SCRIPTS): Copy to ...
41455 (grub-mkconfig_SCRIPTS): ... this. Update all users.
41456 (update-grub_DATA): Rename to ...
41457 (grub-mkconfig_DATA): ... this.
41458
556ce6ac 414592008-09-28 Robert Millan <rmh@aybabtu.com>
41460
41461 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
41462 to `modified'. Add the real `created' field.
41463 (grub_iso9660_uuid): Use `modified' rather than `created' for
41464 constructing the UUID.
41465
414662008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 41467
41468 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
41469 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
41470
92274e85 414712008-09-28 Bean <bean123ch@gmail.com>
41472
41473 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
41474 Thanks to Christian Franke for finding this bug.
41475
add6f17a 414762008-09-25 Robert Millan <rmh@aybabtu.com>
41477
41478 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
41479 instances of grub_util_get_disk_name() (see previous commit).
41480
d2a367b8 414812008-09-25 Robert Millan <rmh@aybabtu.com>
41482
41483 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
41484 `util/i386/get_disk_name.c'.
41485 * conf/i386-efi.rmk: Likewise.
41486 * conf/x86_64-efi.rmk: Likewise.
41487 * conf/i386-coreboot.rmk: Likewise.
41488 * conf/i386-ieee1275.rmk: Likewise.
41489 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
41490 `util/ieee1275/get_disk_name.c'.
41491 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
41492 * util/ieee1275/get_disk_name.c: Remove file.
41493 * util/i386/get_disk_name.c: Remove file.
41494 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
41495 "hd%d" for device.map entries, rather than using
41496 grub_util_get_disk_name().
41497
81a06771 414982008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 41499
41500 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
41501 warning.
41502 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
41503
5a004279 415042008-09-24 Carles Pina i Estany <carles@pina.cat>
41505
41506 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
41507 Changed to 0x5100.
41508 (GRUB_TERM_PPAGE): Changed to 0x4900.
41509
397093d3 415102008-09-24 Robert Millan <rmh@aybabtu.com>
41511
41512 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
41513 macros (they were i386-pc specific).
41514 * include/grub/sparc64/ieee1275/console.h: Likewise.
41515 * include/grub/efi/console.h: Likewise.
41516
a91b6c7c 415172008-09-22 Bean <bean123ch@gmail.com>
41518
41519 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
41520 resident and in attribute list.
41521
41522 * include/grub/ntfs.h (BMP_LEN): Removed.
41523
c40fd116 415242008-09-22 Bean <bean123ch@gmail.com>
41525
81a06771 41526 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 41527 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
41528
41529 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
41530 error occurs, as grub_disk_open will call grub_disk_close, which will
41531 call p->close (scsi).
41532
81a06771 415332008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 41534
41535 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
41536 (AC_PREREQ): Bumped to 2.59.
41537 (AC_TRY_COMPILE): Replace obsolete macro with ...
41538 (AC_COMPILE_IFELSE): ... this.
41539 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
41540 (AC_LINK_IFELSE): ... this.
41541
5dc43410 415422008-09-21 Felix Zielcke <fzielcke@z-51.de>
41543
41544 * autogen.sh: Add a call to `gendistlist.sh'.
41545
9035dce4 415462008-09-19 Christian Franke <franke@computer.org>
41547
41548 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
41549 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
41550 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
41551 Export __enable_execute_stack() to modules.
41552 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
41553 New function.
41554
7fd75377 415552008-09-09 Felix Zielcke <fzielcke@z-51.de>
41556
040030b3 41557 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
41558 Sort the list.
41559
415602008-09-09 Felix Zielcke <fzielcke@z-51.de>
41561
41562 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 41563 #include <grub/util/hostdisk.h>.
41564
89d5ffcf 415652008-09-08 Robert Millan <rmh@aybabtu.com>
41566
41567 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
41568 segments when their filesz is zero (grub_file_read() interprets
81a06771 41569 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 41570 Use `lowest_segment' rather than 0 for calculating the current
41571 segment load address.
41572
40da438f 415732008-09-08 Robert Millan <rmh@aybabtu.com>
41574
41575 * util/hostdisk.c (open_device): Replace a grub_util_info() call
41576 with grub_dprintf("hostdisk", ...), as it was so verbose that it
41577 clobbered useful information.
41578
ddbf5556 415792008-09-08 Robert Millan <rmh@aybabtu.com>
41580
41581 * include/grub/util/biosdisk.h: Move to ...
41582 * include/grub/util/hostdisk.h: ... here. Update all users.
41583 * util/biosdisk.c: Move to ...
41584 * util/hostdisk.c: ... here. Update all users.
41585
783d0f48 415862008-09-07 Robert Millan <rmh@aybabtu.com>
41587
41588 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
41589 variables.
41590 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
41591 and length can be stored directly in the `mbi->mmap_addr' and
41592 `mbi->mmap_length' struct fields.
41593
548e2ea5 415942008-09-07 Robert Millan <rmh@aybabtu.com>
41595
41596 * conf/i386.rmk: New file. Provides declaration for building
41597 `cpuid.mod'.
41598 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
41599 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
41600 variables.
41601 Include `conf/i386.mk'.
41602 * conf/i386-efi.rmk: Likewise.
41603 * conf/x86_64-efi.rmk: Likewise.
41604 * conf/i386-coreboot.rmk: Likewise.
41605 * conf/i386-ieee1275.rmk: Likewise.
41606
0ea85a37 416072008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
41608
41609 Based on patch created by Colin D Bennett <colin@gibibit.com>.
41610 Adds optimization support for BGR based modes.
41611
41612 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
41613 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41614 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41615 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41616 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41617 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41618 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41619 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41620 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41621 (grub_video_i386_vbeblit_index_index): Likewise.
41622 (grub_video_i386_vbeblit_replace_directN): Added.
41623 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41624 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41625 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41626 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41627 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41628 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 41629 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 41630 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41631 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41632 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41633 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41634 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41635 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
41636
41637 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
41638 (grub_video_i386_vbefill_R8G8B8): Likewise.
41639 (grub_video_i386_vbefill_index): Likewise.
41640 (grub_video_i386_vbefill_direct32): Added.
41641 (grub_video_i386_vbefill_direct24): Likewise.
41642 (grub_video_i386_vbefill_direct16): Likewise.
41643 (grub_video_i386_vbefill_direct8): Likewise.
41644
81a06771 41645 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 41646 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
41647 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
41648 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
41649 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
41650 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 41651
0ea85a37 41652 * video/video.c (grub_video_get_blit_format): Updated to use new
41653 blit formats. Added handling for 16 bit color modes.
81a06771 41654
41655 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 41656 fillers.
41657 (common_blitter): Updated to use new blitters.
41658
41659 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
41660 Removed.
41661 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
41662 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41663 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41664 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41665 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41666 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41667 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41668 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41669 (grub_video_i386_vbeblit_index_index): Likewise.
41670 (grub_video_i386_vbeblit_replace_directN): Added.
41671 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
41672 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
41673 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
41674 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
41675 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
41676 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
41677 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
41678 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
41679 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
41680 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
41681 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
41682 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
41683 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 41684
0ea85a37 41685 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
41686 (grub_video_i386_vbefill_R8G8B8): Likewise.
41687 (grub_video_i386_vbefill_index): Likewise.
41688 (grub_video_i386_vbefill_direct32): Added.
41689 (grub_video_i386_vbefill_direct24): Likewise.
41690 (grub_video_i386_vbefill_direct16): Likewise.
41691 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 41692
0ea85a37 41693 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
41694 types.
81a06771 41695
0ea85a37 41696 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
41697 types.
81a06771 41698
0ea85a37 41699 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
41700 blitter types.
81a06771 41701
0ea85a37 41702 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
41703 types.
41704
e8a83df6 417052008-09-06 Felix Zielcke <fzielcke@z-51.de>
41706
41707 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
41708 RAID level 1.
41709
6bcd8ee5 417102008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 41711
6bcd8ee5 41712 * fs/iso9660.c (grub_iso9660_date): New structure.
41713 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
41714 (grub_iso9660_uuid): New function.
c375ae58 41715
59261157 417162008-09-05 Bean <bean123ch@gmail.com>
41717
41718 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
41719
41720 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
41721 insensitive bit for names in Win32 and Win32 & DOS namespace.
41722
41723 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
41724
41725 * include/grub/types.h (LONG_MAX): Likewise.
41726
58b6645a 417272008-09-04 Felix Zielcke <fzielcke@z-51.de>
41728
4ee55921 41729 * util/getroot.c: Include <config.h>.
41730 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
41731 add support for /dev/md/N devices and handle LVM double dash escaping.
41732
417332008-09-04 Felix Zielcke <fzielcke@z-51.de>
41734
41735 * config.guess: Update to latest version from config git.
41736 * config.sub: Likewise.
58b6645a 41737
9124f65d 417382008-09-03 Robert Millan <rmh@aybabtu.com>
41739
41740 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
41741 `disk->total_sectors'.
41742
81a06771 417432008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 41744
41745 * include/grub/normal.h: Fixed incorrect comment for
41746 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
41747
81a06771 417482008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 41749
41750 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
41751 values with defines.
41752
41753 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
41754 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
41755 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
41756 (GRUB_VBE_MODEATTR_COLOR): Likewise.
41757 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
41758 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
41759 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
41760 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
41761 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
41762 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
41763 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
41764 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
41765 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
41766 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
41767 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
41768 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
41769 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
41770 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
41771 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
41772
93d5cbf8 417732008-08-31 Robert Millan <rmh@aybabtu.com>
41774
41775 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
41776 declaration.
41777 (grub_multiboot): Fix a few warnings.
41778
21751d50 417792008-08-31 Robert Millan <rmh@aybabtu.com>
41780
41781 * loader/i386/pc/multiboot.c: Update comment not to say that
41782 boot_device support is unimplemented.
41783
e27a75c5 417842008-08-31 Robert Millan <rmh@aybabtu.com>
41785
41786 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
41787 or memory map support are unimplemented.
41788
81a06771 417892008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 41790
41791 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
41792
81a06771 417932008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 41794
41795 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
41796 total video memory in 'vbeinfo' output; show color format details for
41797 each video mode.
41798
7c5d8d95 417992008-08-30 Pavel Roskin <proski@gnu.org>
41800
41801 * util/genmoddep.c: Remove for real this time.
41802 * DISTLIST: Remove util/genmoddep.c.
41803
4cebd25a 418042008-08-30 Robert Millan <rmh@aybabtu.com>
41805
41806 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
41807 as required by Multiboot spec (it was already 4-byte aligned, but
41808 only by chance).
41809
b497a269 418102008-08-29 Pavel Roskin <proski@gnu.org>
41811
e3925185 41812 * kern/powerpc/ieee1275/crt0.S: Rename to ...
41813 * kern/powerpc/ieee1275/startup.S: ... this.
41814 * conf/powerpc-ieee1275.rmk: Adjust for the above.
41815 * DISTLIST: Likewise.
41816
b497a269 41817 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
41818 grub/cpu/kernel.h. Add start label for consistency with other
41819 platforms. Add grub_prefix immediately after start. Add jump
41820 to the code after grub_prefix.
41821 * include/grub/powerpc/kernel.h: Provide valid values for
41822 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
41823
6e5a42fe 418242008-08-29 Bean <bean123ch@gmail.com>
41825
41826 * configure.ac: Change host_os to cygwin for mingw.
41827 (asprintf): New check for function.
41828
41829 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
41830 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
41831
41832 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 41833 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 41834 sync, sleep and grub_util_get_disk_size for mingw.
41835
41836 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
41837 to get size in mingw.
41838 (open_device): Use flag O_BINARY if it's defined.
41839 (find_root_device): Add dummy code for mingw.
41840
41841 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
41842 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
41843 (get_scsi_disk_name): Return 0 for mingw.
41844
41845 * util/hostfs.c: #include <grub/util/misc.h>.
41846 (grub_hostfs_open): Use "rb" flag to open file, use
41847 grub_util_get_disk_size to get disk size for mingw.
41848
41849 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
41850 (asprintf): New function if HAVE_ASPRINTF is not set.
41851 (sync): New function for mingw.
41852 (sleep): Likewise.
41853 (grub_util_get_disk_size): Likewise.
41854
ab3f2673 418552008-08-28 Pavel Roskin <proski@gnu.org>
41856
41857 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41858 kern/time.c.
41859
1c282483 418602008-08-28 Robert Millan <rmh@aybabtu.com>
41861
41862 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
41863
678e849c 418642008-08-28 Robert Millan <rmh@aybabtu.com>
41865
41866 Change find_grub_drive() syntax so it doesn't prevent it from
41867 detecting NULL names as errors.
41868
41869 * util/biosdisk.c (find_grub_drive): Move free slot search code
41870 from here ...
41871 (find_free_slot): ... to here.
41872 (read_device_map): Use find_free_slot() to search for free slots.
41873
965c75ca 418742008-08-27 Marco Gerards <marco@gnu.org>
41875
41876 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
41877 (scsi_mod_SOURCES): New variable.
41878 (scsi_mod_CFLAGS): Likewise
41879 (scsi_mod_LDFLAGS): Likewise.
41880
41881 * disk/scsi.c: New file.
41882
41883 * include/grub/scsi.h: Likewise.
41884
41885 * include/grub/scsicmd.h: Likewise.
41886
41887 * disk/ata.c: Include <grub/scsi.h>.
41888 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
41889 instead.
41890 (grub_ata_iterate): Skip ATAPI devices.
41891 (grub_ata_open): Only handle ATAPI devices.
41892 (struct grub_atapi_read): Removed.
41893 (grub_atapi_readsector): Likewise.
41894 (grub_ata_read): No longer handle ATAPI devices.
41895 (grub_ata_write): Likewise.
41896 (grub_atapi_iterate): New function.
41897 (grub_atapi_read): Likewise.
41898 (grub_atapi_write): Likewise.
41899 (grub_atapi_open): Likewise.
41900 (grub_atapi_close): Likewise.
41901 (grub_atapi_dev): New variable.
41902 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
41903 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
41904
41905 * include/grub/disk.h (enum grub_disk_dev_id): Add
41906 `GRUB_DISK_DEVICE_SCSI_ID'.
41907
c07ae501 419082008-08-26 Robert Millan <rmh@aybabtu.com>
41909
41910 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
41911 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
41912 descriptive.
41913
5ed20adc 419142008-08-23 Bean <bean123ch@gmail.com>
41915
41916 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
41917 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41918 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
41919 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
41920 dm_nv.mod.
41921 (raid5rec_mod_SOURCES): New macro.
41922 (raid5rec_mod_CFLAGS): Likewise.
41923 (raid5rec_mod_LDFLAGS): Likewise.
41924 (raid6rec_mod_SOURCES): Likewise.
41925 (raid6rec_mod_CFLAGS): Likewise.
41926 (raid6rec_mod_LDFLAGS): Likewise.
41927 (mdraid_mod_SOURCES): Likewise.
41928 (mdraid_mod_CFLAGS): Likewise.
41929 (mdraid_mod_LDFLAGS): Likewise.
41930 (dm_nv_mod_SOURCES): Likewise.
41931 (dm_nv_mod_CFLAGS): Likewise.
41932 (dm_nv_mod_LDFLAGS): Likewise.
41933
41934 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
41935 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
41936 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41937
41938 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
41939 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
41940
41941 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41942
41943 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41944
41945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41946
41947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41948
41949 * disk/raid5_recover.c: New file.
41950
41951 * disk/raid6_recover.c: Likewise.
41952
41953 * disk/mdraid_linux.c: Likewise.
41954
41955 * disk/dmraid_nvidia.c: Likewise.
41956
41957 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
41958 ULONG_MAX.
41959
41960 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
41961 calculate the size of raid device.
41962 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
41963 different layout of raid5.
41964 (grub_raid_scan_device): Remove code specific to mdraid.
41965 (grub_raid_list): New variable.
41966 (free_array): New function.
41967 (grub_raid_register): Likewise.
41968 (grub_raid_unregister): Likewise.
41969 (grub_raid_rescan): Likewise.
41970 (GRUB_MOD_INIT): Don't iterate device here.
41971 (GRUB_MOD_FINI): Use free_array to release resource.
41972
41973 * include/grub/raid.h: Remove macro and structure specific to mdraid.
41974 (grub_raid5_recover_func_t): New function variable type.
41975 (grub_raid6_recover_func_t): Likewise.
41976 (grub_raid5_recover_func): New variable.
41977 (grub_raid6_recover_func): Likewise.
41978 (grub_raid_register): New function.
41979 (grub_raid_unregister): Likewise.
41980 (grub_raid_rescan): Likewise.
41981 (grub_raid_block_xor): Likewise.
41982
41983 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
41984 (CMD_CRC): New macro.
41985 (part): Removed.
41986 (read_file): Handle device as well as file.
41987 (cmd_crc): New function.
41988 (fstest): Handle multiple disks.
41989 (options): Remove part, raw and long, add root and diskcount.
41990 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 41991 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 41992 add handling for the new options, support multiple disks.
41993
41994 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
41995
29c18915 419962008-08-23 Bean <bean123ch@gmail.com>
41997
41998 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
41999
42000 * genfslist.sh: Ignore kernel.mod.
42001
42002 * genpartmaplist.sh: Likewise.
42003
8415f261 420042008-08-23 Robert Millan <rmh@aybabtu.com>
42005
42006 * util/getroot.c (find_root_device): Skip anything that starts with
42007 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42008
d5a7dc5b 420092008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 42010
d5a7dc5b 42011 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42012 * util/grub.d/00_header.in: Allow the administrator to change default
42013 gfxmode via ${GRUB_GFXMODE}.
42014
380cfbb4 420152008-08-21 Felix Zielcke <fzielcke@z-51.de>
42016
42017 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42018
c9baafe7 420192008-08-21 Robert Millan <rmh@aybabtu.com>
42020
42021 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42022 loader.
42023 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42024 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42025
e290bef2 420262008-08-20 Carles Pina i Estany <carles@pina.cat>
42027
42028 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42029 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42030
f9dbfc96 420312008-08-19 Robert Millan <rmh@aybabtu.com>
42032
42033 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42034 (struct grub_virtual_screen): Remove `cursor_color'.
42035 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42036 initialization.
42037 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42038
dd6bd6ab 420392008-08-18 Robert Millan <rmh@aybabtu.com>
42040
42041 Unify (identical) linux_normal.c files.
42042 * loader/i386/efi/linux_normal.c: Move from here ...
42043 * loader/linux_normal.c: ... to here. Update all users.
42044 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42045 * loader/i386/ieee1275/linux_normal.c: Likewise.
42046
7f42f83e 420472008-08-18 Robert Millan <rmh@aybabtu.com>
42048
42049 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42050 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42051 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42052 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42053 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42054 New macros.
42055 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42056 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42057 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42058 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42059 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42060 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42061 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42062 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42063 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42064 portably using grub_getxy().
42065 Replace `-EFI' with `-bzImage' in boot message.
42066
38487ddb 420672008-08-17 Robert Millan <rmh@aybabtu.com>
42068
42069 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42070
deceb3ec 420712008-08-17 Robert Millan <rmh@aybabtu.com>
42072
42073 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42074
42075 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42076 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42077 (grub_machine_mmap_iterate): New function declaration.
42078 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42079 structure.
42080 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42081 macros.
42082
42083 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42084 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42085 Move e820 parsing from here ...
42086 * kern/i386/pc/mmap.c: New file.
42087 (grub_machine_mmap_iterate): ... to here.
42088
42089 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42090 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42091 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42092 (grub_available_iterate): Redeclare to return `void', and redeclare
42093 its hook to use grub_uint64_t as addr and size parameters, and rename
42094 to ...
42095 (grub_machine_mmap_iterate): ... this. Update all users.
42096
42097 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42098 to make it more readable. Rename to ...
42099 (grub_machine_mmap_iterate): ... this.
42100
42101 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42102 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42103 (grub_multiboot): Allocate an extra region after the payload, and fill
42104 it with a Multiboot memory map. Adjust a.out loader to calculate size
42105 with the extra space.
42106 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42107 with the extra space.
42108
f8aa0f43 421092008-08-17 Carles Pina i Estany <carles@pina.cat>
42110
9807deb9 42111 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 42112
605f5bb6 421132008-08-17 Felix Zielcke <fzielcke@z-51.de>
42114
42115 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42116 mdate-sh to the list `find' searches for.
42117 * DISTLIST: Regenerated.
42118
210db6c6 421192008-08-16 Felix Zielcke <fzielcke@z-51.de>
42120
42121 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42122 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 42123 genmoddep.awk, gensymlist.sh.in.
42124 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 42125 * DISTLIST: Regenerated.
48cdbfd4 42126 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 42127
1082b929 421282008-08-16 Robert Millan <rmh@aybabtu.com>
42129
42130 * disk/raid.c (grub_raid_init): Handle/report errors set by
42131 grub_device_iterate().
42132 * disk/lvm.c (grub_lvm_init): Likewise.
42133
42ce5170 421342008-08-15 Bean <bean123ch@gmail.com>
42135
42136 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42137 and datehook.mod.
42138 (datetime_mod_SOURCES): New macro.
42139 (datetime_mod_CFLAGS): Likewise.
42140 (datetime_mod_LDFLAGS): Likewise.
42141 (date_mod_SOURCES): Likewise.
42142 (date_mod_CFLAGS): Likewise.
42143 (date_mod_LDFLAGS): Likewise.
42144 (datehook_mod_SOURCES): Likewise.
42145 (datehook_mod_CFLAGS): Likewise.
42146 (datehook_mod_LDFLAGS): Likewise.
42147
42148 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42149 and datehook.mod.
42150 (datetime_mod_SOURCES): New macro.
42151 (datetime_mod_CFLAGS): Likewise.
42152 (datetime_mod_LDFLAGS): Likewise.
42153 (date_mod_SOURCES): Likewise.
42154 (date_mod_CFLAGS): Likewise.
42155 (date_mod_LDFLAGS): Likewise.
42156 (datehook_mod_SOURCES): Likewise.
42157 (datehook_mod_CFLAGS): Likewise.
42158 (datehook_mod_LDFLAGS): Likewise.
42159
42160 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42161 and datehook.mod.
42162 (datetime_mod_SOURCES): New macro.
42163 (datetime_mod_CFLAGS): Likewise.
42164 (datetime_mod_LDFLAGS): Likewise.
42165 (date_mod_SOURCES): Likewise.
42166 (date_mod_CFLAGS): Likewise.
42167 (date_mod_LDFLAGS): Likewise.
42168 (datehook_mod_SOURCES): Likewise.
42169 (datehook_mod_CFLAGS): Likewise.
42170 (datehook_mod_LDFLAGS): Likewise.
42171
42172 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42173 and datehook.mod.
42174 (datetime_mod_SOURCES): New macro.
42175 (datetime_mod_CFLAGS): Likewise.
42176 (datetime_mod_LDFLAGS): Likewise.
42177 (date_mod_SOURCES): Likewise.
42178 (date_mod_CFLAGS): Likewise.
42179 (date_mod_LDFLAGS): Likewise.
42180 (datehook_mod_SOURCES): Likewise.
42181 (datehook_mod_CFLAGS): Likewise.
42182 (datehook_mod_LDFLAGS): Likewise.
42183
42184 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42185 and datehook.mod.
42186 (datetime_mod_SOURCES): New macro.
42187 (datetime_mod_CFLAGS): Likewise.
42188 (datetime_mod_LDFLAGS): Likewise.
42189 (date_mod_SOURCES): Likewise.
42190 (date_mod_CFLAGS): Likewise.
42191 (date_mod_LDFLAGS): Likewise.
42192 (datehook_mod_SOURCES): Likewise.
42193 (datehook_mod_CFLAGS): Likewise.
42194 (datehook_mod_LDFLAGS): Likewise.
42195
42196 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42197
42198 * commands/date.c: New file.
42199
42200 * hook/datehook.c: Likewise.
42201
42202 * include/grub/lib/datetime.h: Likewise.
42203
42204 * include/grub/i386/cmos.h: Likewise.
42205
42206 * lib/datetime.c: Likewise.
42207
42208 * lib/i386/datetime.c: Likewise.
42209
42210 * lib/efi/datetime.c: Likewise.
42211
0e9242da 422122008-08-14 Robert Millan <rmh@aybabtu.com>
42213
42214 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42215 (grub_mkelfimage_SOURCES): New variable.
42216 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42217
42218 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42219 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42220 * conf/powerpc-ieee1275.rmk: Likewise.
42221 * conf/i386-ieee1275.rmk: Likewise.
42222
42223 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42224 * kern/i386/coreboot/init.c: Likewise.
42225
42226 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42227 with `<grub/cpu/kernel.h>'.
42228 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42229 to ...
42230 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42231 * kern/i386/coreboot/startup.S: Likewise.
42232
42233 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42234 (GRUB_MOD_GAP): Remove.
42235 * include/grub/powerpc/kernel.h: New file.
42236 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42237 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42238 * include/grub/i386/kernel.h: New file.
42239 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42240 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42241 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42242
42243 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42244 `grub-mkelfimage'.
42245 Use --directory when invoking grub_mkimage.
42246
42247 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42248 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42249 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42250 and GRUB_KERNEL_CPU_PREFIX.
42251
b86408f8 422522008-08-14 Felix Zielcke <fzielcke@z-51.de>
42253
d5e619ca 42254 * include/grub/err.h (grub_err_printf): New function prototype.
42255 * util/misc.c (grub_err_printf): New function.
42256 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42257 grub_printf.
42258 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 42259
7161f0e0 422602008-08-13 Robert Millan <rmh@aybabtu.com>
42261
42262 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42263
a1967522 422642008-08-13 Robert Millan <rmh@aybabtu.com>
42265
42266 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42267 boot entry.
42268
371458b5 422692008-08-12 Robert Millan <rmh@aybabtu.com>
42270
42271 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42272 of the relocation code from here ...
42273 (grub_multiboot): ... to here.
42274 (forward_relocator, backward_relocator): Move from here ...
42275 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42276 (grub_multiboot_backward_relocator): ... to here.
42277 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42278 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42279 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42280 (grub_multiboot_forward_relocator_end)
42281 (grub_multiboot_backward_relocator)
42282 (grub_multiboot_backward_relocator_end): New variables.
42283
05f9452b 422842008-08-12 Bean <bean123ch@gmail.com>
42285
42286 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42287
20024ab0 422882008-08-11 Robert Millan <rmh@aybabtu.com>
42289
42290 * kern/i386/linuxbios/startup.S: Move from here ...
42291 * kern/i386/coreboot/startup.S: ... to here.
42292
42293 * kern/i386/linuxbios/init.c: Move from here ...
42294 * kern/i386/coreboot/init.c: ... to here.
42295
42296 * kern/i386/linuxbios/table.c: Move from here ...
42297 * kern/i386/coreboot/mmap.c: ... to here.
42298
42299 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42300
e352e9cd 423012008-08-11 Robert Millan <rmh@aybabtu.com>
42302
42303 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42304 errors. Leave it to the upper layer to handle them.
42305
2d05bc6a 423062008-08-09 Christian Franke <franke@computer.org>
42307
42308 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42309 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42310 Install `grub.d/10_windows' only on Cygwin.
42311 * configure.ac: Add subst of `target_os'.
42312 Check `target_os' also before setting TARGET_OBJ2ELF.
42313 Add `--enable-grub-pe2elf'.
42314
042bd419 423152008-08-08 Robert Millan <rmh@aybabtu.com>
42316
42317 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42318 (grub_last_time): Change type to grub_uint64_t.
42319 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42320 (grub_disk_close): Likewise.
42321
42322 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42323 (run_menu): Migrate code from to using grub_get_time_ms().
42324
42325 * util/misc.c (grub_get_time_ms): New function.
42326
7f280db5 423272008-08-08 Marco Gerards <marco@gnu.org>
42328
42329 * disk/ata.c (grub_ata_regget): Change return type to
42330 `grub_uint8_t'.
42331 (grub_ata_regget2): Likewise.
42332 (grub_ata_wait_status): New function.
42333 (grub_ata_wait_busy): Removed function, updated all users to use
42334 `grub_ata_wait_status'.
42335 (grub_ata_wait_drq): Likewise.
42336 (grub_ata_cmd): New function.
42337 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42338 error handling.
42339 (grub_ata_pio_write): Add error handling.
42340 (grub_atapi_identify): Likewise.
42341 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42342 handling.
42343 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42344 handling. Actually use the detected registers. Reorder the
42345 detection logic such that it is easier to read.
42346 (grub_ata_pciinit): Do not assign the same ID to each controller.
42347 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42348 handling.
42349 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42350
42351 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42352
1fbc5e66 423532008-08-08 Marco Gerards <marco@gnu.org>
42354
42355 * NEWS: Update.
42356
819ce6c0 423572008-08-07 Bean <bean123ch@gmail.com>
42358
42359 * include/grub/x86_64/pci.h: New file.
42360
5c41d44d 423612008-08-07 Christian Franke <franke@computer.org>
42362
42363 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42364 (TIMER2_GATE): Likewise.
42365 (grub_pit_wait): Add enable/disable of the timer2 gate
42366 bit of port 0x61. This fixes a possible infinite loop.
42367
5ebc275d 423682008-08-07 Bean <bean123ch@gmail.com>
42369
42370 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42371 kern/i386/tsc.c and kern/i386/pit.c.
42372
42373 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42374 x86_64 platform.
42375
42376 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42377 <grub/i386/tsc.h>.
42378
42379 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42380
e383b3d0 423812008-08-07 Bean <bean123ch@gmail.com>
42382
42383 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42384
42385 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42386
42387 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42388 multiple inclusion. Add #include <grub/types.h>.
42389
1cbb58ac 423902008-08-06 Christian Franke <franke@computer.org>
42391
42392 * conf/common.rmk: Build and install `10_windows'.
42393 * util/grub.d/10_windows.in: New script.
42394
337f5a1e 423952008-08-06 Pavel Roskin <proski@gnu.org>
42396
42397 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42398
057bc4ac 423992008-08-06 Robert Millan <rmh@aybabtu.com>
42400
42401 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42402 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42403
2b99f123 424042008-08-06 Bean <bean123ch@gmail.com>
42405
42406 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42407 (grub_pxefs_fs_int): Remove dummy definition.
42408 (grub_pxefs_open): Use data->block_size to store the current block
42409 size setting.
42410 (grub_pxefs_read): Use block size stored in data->block_size. As the
42411 value of grub_pxe_blksize can be changed after the file is opened.
42412
9f0234cb 424132008-08-06 Bean <bean123ch@gmail.com>
42414
42415 * fs/i386/pc/pxe.c (curr_file): new variable.
42416 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42417 require the dummy internal file system anymore.
42418 (grub_pxefs_read): Removed.
42419 (grub_pxefs_close): Likewise.
42420 (grub_pxefs_fs_int): Likewise.
42421 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42422 connection when we switch file.
42423 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42424
a55d42e0 424252008-08-06 Robert Millan <rmh@aybabtu.com>
42426
42427 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42428 `halt.mod'.
42429 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42430 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42431
42432 * kern/i386/halt.c: New file.
42433 * kern/i386/reboot.c: Likewise.
42434 * include/grub/i386/reboot.h: Likewise.
42435 * include/grub/i386/halt.h: Likewise.
42436
42437 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42438 Include `<grub/cpu/halt.h>'.
42439 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42440 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42441
42442 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42443 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42444 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42445 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42446 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42447 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42448 from here ...
42449 * include/grub/i386/at_keyboard.h: ... to here.
42450
24371d26 424512008-08-05 Robert Millan <rmh@aybabtu.com>
42452
42453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
42454 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
42455 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
42456 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42457 `kern/generic/millisleep.c'.
42458
42459 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
42460 instead of grub_get_rtc().
42461 (grub_tsc_init): Initialize `tsc_boot_time'.
42462
42463 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
42464 (grub_machine_init): Use grub_tsc_init() rather than
42465 installing an RTC-based handler via grub_install_get_time_ms().
42466
42467 * kern/i386/pit.c: New file.
42468 * include/grub/i386/pit.h: Likewise.
42469
9e7007b3 424702008-08-05 Bean <bean123ch@gmail.com>
42471
42472 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
42473
42474 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
42475 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
42476 (pxe_mod_SOURCES): New macro.
42477 (pxe_mod_CFLAGS): Likewise.
42478 (pxe_mod_LDFLAGS): Likewise.
42479 (pxecmd_mod_SOURCES): Likewise.
42480 (pxecmd_mod_CFLAGS): Likewise.
42481 (pxecmd_mod_LDFLAGS): Likewise.
42482
42483 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
42484 (grub_pxe_call): Likewise.
42485
42486 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
42487
42488 * commands/i386/pc/pxecmd.c: New file.
42489
9f0234cb 42490 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 42491
42492 * include/grub/i386/pc/pxe.h: Likewise.
42493
6977d49f 424942008-08-05 Bean <bean123ch@gmail.com>
42495
42496 * util/console.c (grub_console_cur_color): New variable.
42497 (grub_console_standard_color): Likewise.
42498 (grub_console_normal_color): Likewise.
42499 (grub_console_highlight_color): Likewise.
42500 (color_map): Likewise.
42501 (use_color): Likewise.
42502 (NUM_COLORS): New macro.
42503 (grub_ncurses_setcolorstate): Handle color properly.
42504 (grub_ncurses_setcolor): Don't change color here, just remember the
42505 settings, color will be set in grub_ncurses_setcolorstate.
42506 (grub_ncurses_getcolor): New function.
42507 (grub_ncurses_init): Initialize color pairs.
42508 (grub_ncurses_term): New member grub_ncurses_getcolor.
42509
9c2ff3ee 425102008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 42511
9c2ff3ee 42512 High resolution timer support. Implemented for x86 CPUs using TSC.
42513 Extracted generic grub_millisleep() so it's linked in only as needed.
42514 This requires a Pentium compatible CPU; if the RDTSC instruction is
42515 not supported, then it falls back on the generic grub_get_time_ms()
42516 implementation that uses the machine's RTC.
42517
42518 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
42519 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
42520 `kern/generic/millisleep.c'.
42521
42522 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
42523 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
42524
42525 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
42526 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
42527
42528 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42529
42530 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42531 `kern/generic/millisleep.c'.
42532
42533 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42534
42535 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
42536
42537 * kern/generic/rtc_get_time_ms.c: New file.
42538
42539 * kern/generic/millisleep.c: New file.
337f5a1e 42540
9c2ff3ee 42541 * kern/misc.c: Don't include
42542 <kern/time.h> anymore.
42543 (grub_millisleep_generic): Removed.
42544
42545 * commands/sleep.c (grub_interruptible_millisleep): Uses
42546 grub_get_time_ms() instead of grub_get_rtc().
42547
42548 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
42549 function.
42550 (grub_cpu_is_cpuid_supported): New inline function.
42551 (grub_cpu_is_tsc_supported): New inline function.
42552 (grub_tsc_init): New function prototype.
42553 (grub_tsc_get_time_ms): New function prototype.
42554
42555 * kern/i386/tsc.c (grub_get_time_ms): New file.
42556
42557 * include/grub/time.h: Include <grub/types.h.
42558 (grub_millisleep_generic): Removed.
42559 (grub_get_time_ms): New prototype.
42560 (grub_install_get_time_ms): New prototype.
42561 (grub_rtc_get_time_ms): New prototype.
42562
42563 * kern/time.c (grub_get_time_ms): New function.
42564 (grub_install_get_time_ms): New function.
42565
42566 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
42567 <grub/time.h> anymore.
42568 (grub_millisleep): Removed.
42569 (grub_machine_init): Call grub_tsc_init.
42570
42571 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
42572 get_time_ms() implementation.
42573
42574 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
42575 (ieee1275_get_time_ms): New function.
42576 (grub_machine_init): Install get_time_ms() implementation.
42577
42578 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
42579 (grub_machine_init): Call grub_tsc_init().
42580 (grub_millisleep): Removed.
bf06a93f 42581
9c2ff3ee 42582 * kern/ieee1275/init.c (grub_millisleep): Removed.
42583 (grub_machine_init): Install ieee1275_get_time_ms()
42584 implementation.
42585 (ieee1275_get_time_ms): New function.
42586 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
42587 real work.
42588
9ec92aaf 425892008-08-05 Marco Gerards <marco@gnu.org>
42590
42591 * disk/ata.c: Include <grub/pci.h>.
42592 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
42593 (grub_ata_initialize): Rewritten.
42594 (grub_ata_device_initialize): New function.
42595
8d23f507 425962008-08-04 Pavel Roskin <proski@gnu.org>
42597
42598 * kern/main.c: Include grub/mm.h.
42599
5e15ee3d 426002008-08-04 Robert Millan <rmh@aybabtu.com>
42601
42602 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
42603 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
42604 corruption problem).
42605
a9053f8f 426062008-08-04 Robert Millan <rmh@aybabtu.com>
42607
42608 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
42609 warnings introduced in my last commit.
42610
dd19c7d7 426112008-08-03 Robert Millan <rmh@aybabtu.com>
42612
42613 Make PCI available on all i386 architectures.
42614
42615 * include/grub/i386/pc/pci.h: Move from here ...
42616 * include/grub/i386/pci.h: ... to here.
42617
42618 * include/grub/i386/pc/pci.h: Remove.
42619 * include/grub/i386/efi/pci.h: Remove.
42620 * include/grub/x86_64/efi/pci.h: Remove.
42621
42622 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
42623 `<grub/cpu/pci.h>'.
42624
42625 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
42626 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
42627 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
42628
42629 * conf/i386-ieee1275.rmk: Likewise.
42630
e14a6184 426312008-08-03 Robert Millan <rmh@aybabtu.com>
42632
42633 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
42634 (grub_console_setcursor): Make it possible to set cursor off.
42635
52768e37 426362008-08-03 Robert Millan <rmh@aybabtu.com>
42637
42638 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
42639 of modules instead of assuming which platform provides what.
42640 * util/update-grub.in: Likewise.
42641
2d52f57f 426422008-08-03 Robert Millan <rmh@aybabtu.com>
42643
42644 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
42645 instead of `grub_install_dos_part' to determine whether a drive needs
42646 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 42647 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 42648
2a5cd121 426492008-08-02 Robert Millan <rmh@aybabtu.com>
42650
42651 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
42652
93808428 426532008-08-02 Robert Millan <rmh@aybabtu.com>
42654
42655 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
42656 of informational grub_dprintf() calls.
42657
3bd0a12a 426582008-08-02 Robert Millan <rmh@aybabtu.com>
42659
42660 * disk/memdisk.c (memdisk_size): Don't initialize.
42661 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
42662
42663 * include/grub/i386/pc/kernel.h
42664 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
42665 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
42666 (grub_memdisk_image_size, grub_arch_memdisk_addr)
42667 (grub_arch_memdisk_size): Remove.
42668
42669 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
42670 field (was only used to transfer a constant). Add `type' field to
42671 support multiple module types.
42672 (grub_module_iterate): New function.
42673
42674 * kern/device.c (grub_device_open): Do not hide error messages
42675 when grub_disk_open() fails. Use grub_print_error() instead.
42676
42677 * kern/i386/pc/init.c (grub_arch_modules_addr)
42678 (grub_arch_memdisk_size): Remove functions.
42679 (grub_arch_modules_addr): Return the module address in high memory
42680 (now that it isn't copied anymore).
42681
42682 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
42683 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
42684 decompression routine (grub_total_module_size already includes that
42685 now). Don't copy modules back to low memory.
42686
42687 * kern/main.c: Include `<grub/mm.h>'.
42688 (grub_load_modules): Split out (and use) ...
42689 (grub_module_iterate): ... this function, which iterates through
42690 module objects and runs a hook.
42691 Comment out grub_mm_init_region() call, as it would cause non-ELF
42692 modules to be overwritten.
42693
42694 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
42695 the memdisk image in its own region, make it part of the module list.
42696 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
42697 (main): Parse --memdisk|-m option, and pass user-provided path as
42698 parameter to generate_image().
42699 (add_segments): Pass `memdisk_path' down to load_modules().
42700 (load_modules): Embed memdisk image in module section when requested.
42701 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
42702 `header.type' instead of `header.offset'.
42703
42704 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
42705 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
42706 (memdisk_mod_LDFLAGS): New variables.
42707 * conf/i386-coreboot.rmk: Likewise.
42708 * conf/i386-ieee1275.rmk: Likewise.
42709
a927cc73 427102008-08-02 Robert Millan <rmh@aybabtu.com>
42711
42712 * loader/i386/pc/multiboot.c (playground, forward_relocator)
42713 (backward_relocator): New variables. Used to allocate and relocate
42714 the payload, respectively.
42715 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 42716 address, install the appropriate relocator code in each bound of
a927cc73 42717 the payload, and set the entry point such that
42718 grub_multiboot_real_boot() will jump to one of them.
42719
42720 * kern/i386/loader.S (grub_multiboot_payload_size)
42721 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42722 (grub_multiboot_payload_entry_offset): New variables.
42723 (grub_multiboot_real_boot): Set cpu context to what the relocator
42724 expects, and jump to the relocator instead of the payload.
42725
42726 * include/grub/i386/loader.h (grub_multiboot_payload_size)
42727 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
42728 (grub_multiboot_payload_entry_offset): Export.
42729
b15d8a0c 427302008-08-01 Bean <bean123ch@gmail.com>
42731
42732 * normal/menu_entry.c (editor_getline): Don't return the original
42733 string as result, as it will be released by lexer once it has done
42734 using it.
42735
cdfb3d22 427362008-08-01 Robert Millan <rmh@aybabtu.com>
42737
42738 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
42739 within menuentries, not before them.
42740 util/grub.d/10_hurd.in: Likewise.
42741
9175e93d 427422008-08-01 Bean <bean123ch@gmail.com>
42743
42744 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
42745 (bufio_mod_SOURCES): New macro.
42746 (bufio_mod_CFLAGS): Likewise.
42747 (bufio_mod_LDFLAGS): Likewise.
42748
42749 * include/grub/bufio.h: New file.
42750
42751 * io/bufio.c: Likewise.
42752
42753 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
42754 (grub_video_reader_png): Use grub_buffile_open to open file.
42755
42756 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
42757 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
42758
42759 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
42760 (grub_video_reader_tga): Use grub_buffile_open to open file.
42761
42762 * font/manager.c: Include <grub/bufio.h>.
42763 (add_font): Use grub_buffile_open to open file.
42764
3d8383e7 427652008-07-31 Robert Millan <rmh@aybabtu.com>
42766
42767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
42768 ELF segments, use a macro for arbitrarily accessing any of them instead
42769 of preparing a pointer that allows access to one at a time.
42770 (grub_multiboot_load_elf64): Likewise.
42771
16e641b6 427722008-07-31 Bean <bean123ch@gmail.com>
42773
42774 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
42775 GRUB_KERNEL_MACHINE_DATA_END.
42776
59198b72 427772008-07-30 Robert Millan <rmh@aybabtu.com>
42778
42779 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
42780 Increase from 0x50 to 0x60.
42781 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
42782 use UUIDs to identify the root drive for them. If that's not
42783 possible, abort.
42784 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
42785 check, for cross-disk installs.
42786
ae88bca3 427872008-07-30 Robert Millan <rmh@aybabtu.com>
42788
42789 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
42790 is non-empty, use it to set the `prefix' environment variable instead
42791 of the usual approach.
42792 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
42793 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
42794 environment variable instead of dummy make_install_device().
42795
42796 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
42797 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 42798 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 42799
42800 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
42801 New variable reference.
42802 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
42803 New macro. Defines offset of `grub_prefix' within startup.S (relative
42804 to `start').
42805 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
42806 section within startup.S (relative to `start').
42807 * include/grub/i386/coreboot/kernel.h: Likewise.
42808
42809 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
42810 Overwrite grub_prefix with its contents, at the beginning of the
42811 first segment.
42812 (main): Understand -p|--prefix.
42813
14f41dd1 428142008-07-30 Robert Millan <rmh@aybabtu.com>
42815
42816 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
42817
4ca049a3 428182008-07-30 Robert Millan <rmh@aybabtu.com>
42819
42820 * term/i386/pc/vga_text.c (grub_console_cls): Use
42821 grub_console_gotoxy() to go back to beginning of the screen.
42822 Found by Patrick Georgi <patrick.georgi@coresystems.de>
42823
2921d337 428242008-07-29 Christian Franke <franke@computer.org>
42825
42826 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42827 Add conversion of emulated mount points on Cygwin.
42828
b609876d 428292008-07-29 Christian Franke <franke@computer.org>
42830
42831 * util/update-grub.in: Add a check for admin
42832 group on Cygwin.
42833 Remove old `grub.cfg.new' before creation.
42834 Add `-f' to `mv' to handle the different filesystem
42835 semantics of Windows.
42836
e93e4679 428372008-07-29 Bean <bean123ch@gmail.com>
42838
42839 * normal/main.c (get_line): Fix buffer overflow bug.
42840
41694fd0 428412008-07-28 Robert Millan <rmh@aybabtu.com>
42842
42843 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
42844 (struct grub_apple_header): New struct. Describes the layout of
42845 the partmap header.
42846 (apple_partition_map_iterate): Check the header magic as well as the
42847 partition magic (which was already being checked).
42848
cfd0b4e6 428492008-07-28 Pavel Roskin <proski@gnu.org>
42850
42851 * genmk.rb: Add a warning to the beginning of the output that
42852 it's a generated file and should not be edited.
42853
93cce016 428542008-07-28 Robert Millan <rmh@aybabtu.com>
42855
42856 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
42857 with the same number are found, just use issue a warning with
42858 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 42859
cd1df915 428602008-07-27 Robert Millan <rmh@aybabtu.com>
42861
42862 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
42863 information.
42864
b70a8427 428652008-07-27 Bean <bean123ch@gmail.com>
42866
42867 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
42868 (grub_fat_find_dir): Ignore case when comparing filename.
42869
8f5e379f 428702008-07-27 Bean <bean123ch@gmail.com>
42871
42872 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
42873 smallino, as it's more descriptive, and i8count can be confused with
42874 the other field count.
42875 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
42876 inode type.
42877
a85cd5a0 428782008-07-27 Bean <bean123ch@gmail.com>
42879
42880 * commands/crc.c: New file.
42881
42882 * lib/crc.c: Likewise.
42883
42884 * include/grub/lib/crc.h: Likewise.
42885
42886 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
42887
42888 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
42889 (hexdump): Move this function to ...
42890
42891 * lib/hexdump.c: ... here.
42892
42893 * include/grub/hexdump.h: Renamed to ...
42894
42895 * include/grub/lib/hexdump.h: ... this.
42896
42897 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
42898
42899 * util/grub-editenv.c: Likewise.
42900
42901 * include/envblk.h: Renamed to ...
42902
42903 * include/lib/envblk.h: ... this.
42904
42905 * util/envblk.c: Renamed to ...
42906
42907 * lib/envblk.c: ... this.
42908
42909 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
42910 lib/hexdump.c.
42911 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
42912 (pkglib_MODULES): Add crc.mod.
42913 (hexdump_mod_SOURCES): Add lib/hexdump.c.
42914 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
42915 (crc_mod_SOURCES): New macro.
42916 (crc_mod_CFLAGS): Likewise.
42917 (crc_mod_LDFLAGS): Likewise.
42918
42919 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
42920
42921 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42922
42923 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42924
42925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42926
42927 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42928
c298def0 429292008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 42930
42931 * commands/help.c: Include <grub/term.h>.
42932 (TERM_WIDTH): Removed. Updated all users.
42933
cc349fb3 429342008-07-27 Pavel Roskin <proski@gnu.org>
42935
42936 * util/getroot.c (find_root_device): Rephrase a comment to avoid
42937 spurious warnings about a comment within a comment.
42938
9051607e 429392008-07-25 Robert Millan <rmh@aybabtu.com>
42940
42941 * util/getroot.c (find_root_device): Skip devices that match
42942 /dev/dm-[0-9]. This lets the real device be found for any type of
42943 abstraction (LVM, EVMS, RAID..).
42944 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
42945 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
42946 device is found first, find_root_device() will now skip it.
42947
01453bfc 429482008-07-24 Pavel Roskin <proski@gnu.org>
42949
42950 * include/grub/types.h: Use __builtin_bswap32() and
42951 __builtin_bswap64() with gcc 4.3 and newer.
42952
6af9849f 429532008-07-24 Christian Franke <franke@computer.org>
42954
3a0fa256 42955 * util/i386/pc/grub-install.in: If `--debug' is specified,
42956 pass `--verbose' to grub-setup.
42957 Abort script if make_system_path_relative_to_its_root() fails.
42958
7810e747 429592008-07-24 Bean <bean123ch@gmail.com>
42960
42961 * configure.ac: Fixed a bug caused by the previous cygwin patch,
42962 variable `target_platform' should be `platform'.
42963
42290e17 429642008-07-24 Bean <bean123ch@gmail.com>
42965
51cc5193 42966 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 42967 (grub_png_init_fixed_block): New function.
42968 (grub_png_decode_image_data): Handle fixed huffman code compression.
42969
2a8a80e4 429702008-07-24 Bean <bean123ch@gmail.com>
42971
42972 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
42973 (grub_pe2elf_SOURCES): New macro.
42974 (CLEANFILES): Add grub-pe2elf.
42975
42976 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
42977 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
42978 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
42979 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
42980 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
42981 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
42982 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
42983 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
42984 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
42985 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
42986 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
42987 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
42988 (GRUB_PE32_DT_FUNCTION): Likewise.
42989 (GRUB_PE32_REL_I386_DIR32): Likewise.
42990 (GRUB_PE32_REL_I386_REL32): Likewise.
42991 (grub_pe32_symbol): New structure.
42992 (grub_pe32_reloc): Likewise.
42993
42994 * util/grub-pe2elf.c: New file.
42995
42996 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
42997 start symbol in non pc platform.
42998
42999 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43000
43001 The following patches are from Christian Franke.
43002
43003 * include/grub/dl.h: Remove .previous, gas supports this only
43004 for ELF format.
43005
43006 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43007 Remove .type, gas supports this only for ELF format.
43008
43009 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43010 nullbytes in symbol table. This fixes an infinite loop if table is
43011 zero filled.
43012
43013 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43014 TARGET_IMG_LDFLAGS and EXEEXT.
43015
43016 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43017 TARGET_IMG_LDFLAGS_AC.
43018 (grub_CHECK_STACK_ARG_PROBE): New function.
43019
43020 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43021
43022 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43023
43024 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43025 to set TARGET_IMG_LD* accordingly.
43026 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43027 Add call to grub_CHECK_STACK_ARG_PROBE.
43028 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43029
43030 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43031
43032 * genmk.rb: Add EXEEXT to CLEANFILES.
43033
12ccdb75 430342008-07-23 Robert Millan <rmh@aybabtu.com>
43035
43036 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43037 define the codes for arrows and lines used for the menu).
43038 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43039 as well.
43040
43041 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43042 fonts, because the latter are too slow.
43043
18eeaf04 430442008-07-21 Bean <bean123ch@gmail.com>
43045
43046 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43047 a20. Run keyboard test last, as it will cause macbook to halt.
43048
b095e2ad 430492008-07-18 Pavel Roskin <proski@gnu.org>
43050
43051 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43052 load foreign architecture modules correctly anyway. Keep
43053 support for loading host architecture modules, whether we
43054 compile them or not.
43055
737feb35 430562008-07-17 Pavel Roskin <proski@gnu.org>
43057
3f4ce737 43058 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43059 change target_cpu. The compiler default can mismatch target_cpu
43060 in any case.
43061
4ad2d049 43062 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43063 * kern/efi/efi.c: Likewise.
43064
f6130a12 43065 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43066 target compiler is functional.
43067 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43068 are set up.
43069
58393a2d 43070 * configure.ac: Default to efi platform for x86_64-apple. Allow
43071 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43072 adjustments from the rest, only do them if target is not
43073 explicitly given. Merge other adjustments with the final sanity
43074 check. Remove an extraneous check for supported CPU. Be
43075 specific which CPU and which platform is not supported.
43076
737feb35 43077 * configure.ac: Default to pc platform for x86_64.
43078
546f966a 430792008-07-17 Robert Millan <rmh@aybabtu.com>
43080
43081 Partial LinuxBIOS -> Coreboot rename.
43082
43083 * conf/i386-linuxbios.rmk: Renamed to ...
43084 * conf/i386-coreboot.rmk: ... this.
43085 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43086 * configure.ac: Accept "coreboot" as input platform (but maintain
43087 compatibility with "linuxbios").
43088 * include/grub/i386/linuxbios: Renamed to ...
43089 * include/grub/i386/coreboot: ... this.
43090
20011694 430912008-07-17 Bean <bean123ch@gmail.com>
43092
43093 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 43094 (appleldr_mod_SOURCE): New variable.
20011694 43095 (appleldr_mod_CFLAGS): Likewise.
43096 (appleldr_mod_LDFLAGS): Likewise.
43097 (pci_mod_SOURCES): Likewise.
43098 (pci_mod_CFLAGS): Likewise.
43099 (pci_mod_LDFLAGS): Likewise.
43100 (lspci_mod_SOURCES): Likewise.
43101 (lspci_mod_CFLAGS): Likewise.
43102 (lspci_mod_LDFLAGS): Likewise.
43103
43104 * conf/x86_64-efi.rmk: New file.
43105
43106 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43107 macro.
43108 (grub_efidisk_write): Likewise.
43109
43110 * include/efi/api.h (efi_call_0): New macro.
43111 (efi_call_1): Likewise.
43112 (efi_call_2): Likewise.
43113 (efi_call_3): Likewise.
43114 (efi_call_4): Likewise.
43115 (efi_call_5): Likewise.
43116 (efi_call_6): Likewise.
43117
43118 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43119 grub_rescue_cmd_chainloader.
43120
43121 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43122 (grub_pe32_optional_header): Change some fields based on i386 or
43123 x86_64 platform.
43124 (GRUB_PE32_PE32_MAGIC): Likewise.
43125
43126 * include/grub/efi/uga_draw.h: New file.
43127
43128 * include/grub/elf.h (STN_ABS): New constant.
43129 (R_X86_64_NONE): Relocation constant for x86_64.
43130 (R_X86_64_64): Likewise.
43131 (R_X86_64_PC32): Likewise.
43132 (R_X86_64_GOT32): Likewise.
43133 (R_X86_64_PLT32): Likewise.
43134 (R_X86_64_COPY): Likewise.
43135 (R_X86_64_GLOB_DAT): Likewise.
43136 (R_X86_64_JUMP_SLOT): Likewise.
43137 (R_X86_64_RELATIVE): Likewise.
43138 (R_X86_64_GOTPCREL): Likewise.
43139 (R_X86_64_32): Likewise.
43140 (R_X86_64_32S): Likewise.
43141 (R_X86_64_16): Likewise.
43142 (R_X86_64_PC16): Likewise.
43143 (R_X86_64_8): Likewise.
43144 (R_X86_64_PC8): Likewise.
43145
43146 * include/grub/i386/efi/pci.h: New file.
43147
43148 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43149 Change it value based on platform.
43150 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43151 (GRUB_E820_RAM): Likewise.
43152 (GRUB_E820_RESERVED): Likewise.
43153 (GRUB_E820_ACPI): Likewise.
43154 (GRUB_E820_NVS): Likewise.
43155 (GRUB_E820_EXEC_CODE): Likewise.
43156 (GRUB_E820_MAX_ENTRY): Likewise.
43157 (grub_e820_mmap): New structure.
43158 (linux_kernel_header): Change the efi field according to different
43159 kernel version, also field from linux_kernel_header.
43160
43161 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43162
43163 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43164 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43165 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43166 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43167 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43168 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43169 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43170 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43171 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43172 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43173
43174 * include/grub/x86_64/efi/kernel.h: New file.
43175
43176 * include/grub/x86_64/efi/loader.h: Likewise.
43177
43178 * include/grub/x86_64/efi/machine.h: Likewise.
43179
43180 * include/grub/x86_64/efi/pci.h: Likewise.
43181
43182 * include/grub/x86_64/efi/time.h: Likewise.
43183
43184 * include/grub/x86_64/linux.h: Likewise.
43185
43186 * include/grub/x86_64/setjmp.h: Likewise.
43187
43188 * include/grub/x86_64/time.h: Likewise.
43189
43190 * include/grub/x86_64/types.h: Likewise.
43191
43192 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43193 GRUB_TARGET_SIZEOF_VOID_P.
43194
43195 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43196 (grub_efi_locate_handle): Likewise.
43197 (grub_efi_open_protocol): Likewise.
43198 (grub_efi_set_text_mode): Likewise.
43199 (grub_efi_stall): Likewise.
43200 (grub_exit): Likewise.
43201 (grub_reboot): Likewise.
43202 (grub_halt): Likewise.
43203 (grub_efi_exit_boot_services): Likewise.
43204 (grub_get_rtc): Likewise.
43205
43206 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43207 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43208 (grub_efi_allocate_pages): Wrap efi calls.
43209 (grub_efi_free_pages): Wrap efi calls.
43210 (grub_efi_get_memory_map): Wrap efi calls.
43211
43212 * kern/x86_64/dl.c: New file.
43213
43214 * kern/x86_64/efi/callwrap.S: Likewise.
43215
43216 * kern/x86_64/efi/startup.S: Likewise.
43217
43218 * loader/efi/appleloader.c: Likewise.
43219
43220 * loader/efi/chainloader.c (cmdline): New variable.
43221 (grub_chainloader_unload): Wrap efi calls.
43222 (grub_chainloader_boot): Likewise.
43223 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43224 command line.
43225
43226 * loader/efi/chainloader_normal.c (chainloader_command):
43227 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43228 command line.
43229
43230 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43231 method.
43232 (grub_e820_add_region): New function.
43233 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43234 booting.
43235 (grub_find_video_card): New function.
43236 (grub_linux_setup_video): New function.
43237 (grub_rescue_cmd_linux): Probe for video information.
43238
43239 * normal/x86_64/setjmp.S: New file.
43240
43241 * term/efi/console.c (map_char): New function.
43242 (grub_console_putchar): Map unicode char.
43243 (grub_console_checkkey): Wrap efi calls.
43244 (grub_console_getkey): Likewise.
43245 (grub_console_getwh): Likewise.
43246 (grub_console_gotoxy): Likewise.
43247 (grub_console_cls): Likewise.
43248 (grub_console_setcolorstate): Likewise.
43249 (grub_console_setcursor): Likewise.
43250
43251 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43252
59652a20 432532008-07-16 Pavel Roskin <proski@gnu.org>
43254
ef294055 43255 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43256 format strings.
43257
59652a20 43258 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43259 pointer, not an integer. This fixes a warning and prevents
43260 precision loss on 64-bit systems.
43261 (relocate_addresses): Remove unneeded cast.
43262
afc3b5d7 432632008-07-15 Pavel Roskin <proski@gnu.org>
43264
506b2b3e 43265 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43266
62ead89c 43267 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43268
c4cd51d7 43269 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43270 Fix comparison between signed and unsigned.
43271
0d3d8f28 43272 * include/grub/i386/ieee1275/console.h: Declare
43273 grub_console_init() and grub_console_fini().
43274
8804b286 43275 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43276 It's empty and unused.
43277
ee01cf35 43278 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43279 beginning to avoid warnings with some compilers.
43280
afc3b5d7 43281 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43282 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43283
e4e8eaa5 432842008-07-14 Pavel Roskin <proski@gnu.org>
43285
407aceb4 43286 * kern/env.c (grub_register_variable_hook): Don't copy empty
43287 string, it leaks memory. Pass "" to grub_env_set(), it should
43288 handle constant strings.
43289
e4e8eaa5 43290 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43291 * commands/cmp.c (grub_cmd_cmp): Likewise.
43292 * kern/dl.c (grub_dl_flush_cache): Likewise.
43293 (grub_dl_load_core): Likewise.
43294 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43295 (grub_elf64_load_phdrs): Likewise.
43296
d4e2dad3 432972008-07-13 Pavel Roskin <proski@gnu.org>
43298
43299 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43300 between signed and unsigned.
43301 (LzmaEnc_Finish): Fix warning about an unused parameter.
43302
aa24b516 433032008-07-13 Bean <bean123ch@gmail.com>
43304
43305 * Makefile.in (enable_lzo): New rule.
43306
43307 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43308
43309 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43310
43311 * boot/i386/pc/lnxboot.S: #include <config.h>.
43312
43313 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 43314 its value according to the compression algorithm used, lzo or lzma.
aa24b516 43315
43316 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43317 compression algorithm according to configure macro.
43318
43319 * kern/i386/pc/startup.S (codestart): Likewise.
43320
43321 * kern/i386/pc/lzma_decode.S: New file.
43322
43323 * include/grub/lib/LzFind.h: Likewise.
43324
43325 * include/grub/lib/LzHash.h: Likewise.
43326
43327 * include/grub/lib/LzmaDec.h: Likewise.
43328
43329 * include/grub/lib/LzmaEnc.h: Likewise.
43330
43331 * include/grub/lib/LzmaTypes.h: Likewise.
43332
43333 * lib/LzFind.c: Likewise.
43334
43335 * lib/LzmaDec.c: Likewise.
43336
43337 * lib/LzmaEnc.c: Likewise.
43338
4ae821ac 433392008-07-13 Bean <bean123ch@gmail.com>
43340
43341 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43342 (grub_ext4_extent_header): New structure.
43343 (grub_ext4_extent): Likewise.
43344 (grub_ext4_extent_idx): Likewise.
43345 (grub_ext4_find_leaf): New function.
43346 (grub_ext2_read_block): Handle extents.
43347
9a745147 433482008-07-12 Robert Millan <rmh@aybabtu.com>
43349
43350 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43351
d49a4cf6 433522008-07-11 Robert Millan <rmh@aybabtu.com>
43353
43354 * util/grub.d/40_custom.in: New file. Example on how to add custom
43355 entries to /etc/grub.d.
43356 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43357 40_custom (implicitly, by merging all the grub.d rules).
43358
947414b4 433592008-07-11 Pavel Roskin <proski@gnu.org>
43360
0059cf6f 43361 * commands/read.c (grub_getline): Fix invalid memory access.
43362 Don't add newline to the variable value.
43363
947414b4 43364 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43365 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43366 (serial_hw_get_port): Check validity of the port number.
43367 (grub_cmd_serial): Check return value of serial_hw_get_port().
43368
62a02d00 433692008-07-07 Pavel Roskin <proski@gnu.org>
43370
43371 * boot/i386/pc/diskboot.S (notification_string): Replace
43372 "Loading kernel" with just "loading". This is shorter, less
43373 confusing and saves a few bytes for possible future changes.
43374
3e5581b0 433752008-07-05 Pavel Roskin <proski@gnu.org>
43376
ea387a48 43377 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43378 size for ATAPI devices, they are undefined. Output sector
43379 number in decimal form.
43380
3e5581b0 43381 * disk/ata.c: Use named constants for status bits.
43382
fdecb8fd 433832008-07-04 Pavel Roskin <proski@gnu.org>
43384
bcd35b90 43385 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43386 grub_addr_t before casting it to the void pointer to fix a
43387 warning. Non-addressable regions are discarded earlier.
43388 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43389 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43390 (check_signature): Don't shadow table_header.
43391 (grub_linuxbios_table_iterate): Cast numeric constants to
43392 grub_linuxbios_table_header_t.
43393 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43394 grub_stop().
43395
af58ab3d 43396 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43397 prevent warnings.
43398
1759aa57 43399 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43400 pointer, which can cause warnings. Support 64-bit addresses.
43401
fdecb8fd 43402 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43403 of sizeof(long). This fixes PowerPC image generation on x86_64.
43404
8516d2a8 434052008-07-04 Robert Millan <rmh@aybabtu.com>
43406
43407 This fixes a performance issue when pc & gpt partmap iterators
43408 didn't abort iteration even after our hook found what it was
fe987087 43409 looking for (often causing expensive probes of non-existent drives).
8516d2a8 43410
43411 Some callers relied on previous buggy behaviour, since they would
34c44600 43412 raise an error when their own hooks caused early abortion of its
8516d2a8 43413 iteration.
43414
43415 * kern/device.c (grub_device_open): Improve error message.
43416 * disk/lvm.c (grub_lvm_open): Likewise.
43417 * disk/raid.c (grub_raid_open): Likewise.
43418
43419 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43420 when hook requests it, independently of grub_errno.
43421 (pc_partition_map_probe): Do not fail when find_func() caused
43422 early abortion of pc_partition_map_iterate().
43423
43424 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43425 when hook requests it, independently of grub_errno.
43426 (gpt_partition_map_probe): Do not fail when find_func() caused
43427 early abortion of gpt_partition_map_iterate().
43428
43429 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43430 when hook requests it, independently of grub_errno. Do not fail when
43431 part_map_iterate_hook() caused early abortion of p->iterate().
43432
43433 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43434 when grub_partition_iterate() returned with non-zero.
43435
277d0de9 434362008-07-03 Pavel Roskin <proski@gnu.org>
43437
43438 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43439 like we do in grub_ata_pio_read().
43440 (grub_ata_readwrite): Always write individual sectors. Fix the
43441 sector count for the remainder.
43442 (grub_ata_write): Enable writing to ATA devices. Correctly
43443 report error for ATAPI devices.
43444
d4c9b428 434452008-07-02 Pavel Roskin <proski@gnu.org>
43446
e43fc690 43447 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43448 warning.
43449
f707af42 43450 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43451 for every read sector, we already increment it for the whole
43452 batch. This fixes reading more than 256 sectors at once.
43453
11e16b15 43454 * util/grub-editenv.c (cmd_info): Cast argument to long
43455 explicitly. ptrdiff_t reduces to int on i386.
43456
cbabfdd4 43457 * util/grub-editenv.c (main): Be specific which parameter is
43458 missing.
43459
b8fbce0a 43460 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
43461 (memdisk): Make memdisk_orig_addr a pointer.
43462
c9c8e606 43463 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
43464 for file offsets, use grub_off_t instead. Fix printf format
43465 warnings.
43466
ca62e598 43467 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
43468 there. Real unexpected warnings should not drown in the noise
43469 about known problems.
43470
ce8d1766 43471 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
43472 grub_disk_addr_t for memory addresses.
43473
00c7a56a 43474 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
43475 explicitly to fix a warning.
43476
08d3ef09 43477 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
43478
cb71ba20 43479 * Makefile.in (MODULE_LDFLAGS): New variable.
43480 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
43481 the linker accepts --build-id=none.
43482 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
43483 MODULE_LDFLAGS.
43484 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
43485
d4c9b428 43486 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
43487 those in Linux XFS code. Provide a way to access 64-bit parent
43488 inode.
43489 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
43490 the end of struct grub_xfs_dir_header.
43491
d4156eee 434922008-07-02 Bean <bean123ch@gmail.com>
43493
43494 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
43495 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43496 and GRUB_IEEE1275_FLAG_NO_ANSI.
43497
43498 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
43499 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
43500 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
43501
43502 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
43503 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
43504
43505 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
43506 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
43507
43508 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
43509 esc sequence on non ANSI terminal.
43510 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
43511
43512 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
43513 beginning of file.
43514
2270f77b 435152008-07-02 Bean <bean123ch@gmail.com>
43516
43517 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
43518 (grub_editenv_SOURCES): New variable.
43519 (pkglib_MODULES): Add loadenv.mod.
43520 (loadenv_mod_SOURCES): New variable.
43521 (loadenv_mod_CFLAGS): Likewise.
43522 (loadenv_mod_LDFLAGS): Likewise.
43523
43524 * include/grub/envblk.h: New file.
43525
43526 * util/envblk.c: New file.
43527
43528 * util/grub-editenv.c: New file.
43529
43530 * commands/loadenv.c: New file.
43531
0e9e51ec 435322008-07-01 Pavel Roskin <proski@gnu.org>
43533
d89b7634 43534 * include/multiboot2.h (struct multiboot_tag_module): Use char,
43535 not unsigned char. This fixes warnings and is consistent with
43536 other tags.
43537
bf1835b1 43538 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
43539
8222a04b 43540 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
43541
6a42d99d 43542 * term/tparm.c (analyze): Always set *popcount.
43543
10b159d1 43544 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
43545 cast to fix a warning.
43546
b8789f6c 43547 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
43548 cast to suppress a warning.
43549
29d7e38a 43550 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
43551 grub_fshelp_read_file() expects.
43552
f341f669 43553 * fs/fat.c: Fix UUID calculation on big-endian systems. We
43554 write uuid as a 32-bit value in CPU byte order, so declare and
43555 use it as such.
43556
0e9e51ec 43557 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
43558 long if the format specifier expects it.
43559 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
43560 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43561 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
43562 long to fix a warning.
43563 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
43564 grub_dprintf() arguments to fix warnings.
43565
3aefa857 435662008-06-30 Pavel Roskin <proski@gnu.org>
43567
56c7668b 43568 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
43569 install_bsd_part immediately before core.img is embedded or
43570 modified on disk. This fixes core.img verification if core.img
43571 cannot be embedded.
43572
3aefa857 43573 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
43574 core_path to calculate the blocklist.
43575 Patch from Javier Martín <lordhabbit@gmail.com>
43576
5444088d 435772008-06-29 Robert Millan <rmh@aybabtu.com>
43578
43579 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
43580 block to disk block.
43581 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
43582 Patch from Niels Böhm <bitbucket@arcor.de>
43583
674835c8 435842008-06-29 Robert Millan <rmh@aybabtu.com>
43585
43586 * util/update-grub_lib.in (font_path): Search for fonts in
43587 /boot/grub first, which is more likely to be readable (we aren't
43588 deciding where fonts live, just looking for them).
43589
f527dbc8 435902008-06-26 Pavel Roskin <proski@gnu.org>
43591
6c2d8df6 43592 * util/biosdisk.c (read_device_map): Don't leave dead map
43593 entries for devices failing stat() check.
43594
f527dbc8 43595 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
43596 core_path_dev for the core.img path on the target device.
43597
aebe3d13 435982008-06-26 Robert Millan <rmh@aybabtu.com>
43599
43600 * disk/fs_uuid.c: New file.
43601 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
43602 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
43603 (fs_uuid_mod_LDFLAGS): New variables.
43604 * include/grub/disk.h (grub_disk_dev_id): Add
43605 `GRUB_DISK_DEVICE_UUID_ID'.
43606 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
43607 implement iterate().
43608
37aaf354 436092008-06-26 Robert Millan <rmh@aybabtu.com>
43610
43611 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
43612 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
43613 Linux image includes no initrd.
43614
25ff262a 436152008-06-21 Javier Martín <lordhabbit@gmail.com>
43616
43617 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
43618 call to resolve the core image location that effectively appended the
43619 name twice.
43620
76a2bd44 436212008-06-21 Robert Millan <rmh@aybabtu.com>
43622
43623 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
43624 call from here ...
43625
43626 * util/grub.d/10_hurd.in: ... to here ...
43627 * util/grub.d/10_linux.in: ... and here.
43628
650e1c79 436292008-06-19 Robert Millan <rmh@aybabtu.com>
43630
fe987087 43631 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 43632 after it has been set by grub_machine_set_prefix().
43633
6ce63911 436342008-06-19 Robert Millan <rmh@aybabtu.com>
43635
43636 * commands/search.c (search_label, search_fs_uuid, search_file): Print
43637 search result when not saving to variable, not the other way around.
43638 When saving to variable, abort iteration as soon as a match is found.
43639
73940cec 436402008-06-19 Robert Millan <rmh@aybabtu.com>
43641
43642 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
43643 check for partition that provides /boot/grub. Its logic is flawed,
43644 as it prevents prepare_grub_to_access_device() from being called
43645 multiple times.
43646
3c62a39d 436472008-06-19 Robert Millan <rmh@aybabtu.com>
43648
43649 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
43650 "insmod" command directly when abstraction modules are needed,
fe987087 43651 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 43652 since it had already been processed).
43653
47395a42 436542008-06-19 Pavel Roskin <proski@gnu.org>
43655
43656 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
43657 changed. This is needed in case GRUB_LIBDIR changes.
43658 * conf/i386-ieee1275.rmk: Likewise.
43659 * conf/i386-linuxbios.rmk: Likewise.
43660 * conf/i386-pc.rmk: Likewise.
43661 * conf/powerpc-ieee1275.rmk: Likewise.
43662
a145ac2d 436632008-06-18 Pavel Roskin <proski@gnu.org>
43664
43665 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
43666 kernel_elf_symlist.c to symlist.c for consistency with other
43667 architectures. Update all users.
43668 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43669
7847c51e 436702008-06-18 Robert Millan <rmh@aybabtu.com>
43671
43672 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
43673 it in prefix.
43674
43675 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
43676 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
43677 a RAID device, run setup() for all members independently on whether
43678 LVM abstraction is being used.
43679 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
43680 If grub-mkimage has set `*install_dos_part == -2', don't override this
43681 value.
43682 Perform *install_dos_part adjustments independently on whether
43683 we're embedding or not.
43684 Clarify error message when image is too big for embedding.
43685 Remove duplicate *install_dos_part stanza.
43686
b23e5644 436872008-06-17 Robert Millan <rmh@aybabtu.com>
43688
43689 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
43690 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
43691 variables.
43692 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
43693 values in grub_ofconsole_normal_color and
43694 grub_ofconsole_highlight_color (they're not directly related to
43695 background and foreground).
43696 (grub_ofconsole_setcolorstate): Extract background and foreground
43697 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
43698
0aac2f79 436992008-06-17 Robert Millan <rmh@aybabtu.com>
43700
43701 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
43702 /boot/grub for the check in last commit, not /boot (they could be
43703 different partitions).
43704
3cca7ef3 437052008-06-16 Robert Millan <rmh@aybabtu.com>
43706
43707 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
43708 asked to setup access for the same partition that provides /boot,
43709 don't bother using UUIDs since our root already has the value we
43710 want.
43711
347396d8 437122008-06-16 Robert Millan <rmh@aybabtu.com>
43713
43714 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
43715 I2O devices.
43716 Patch from Sven Mueller <sven@debian.org>.
43717
991477f8 437182008-06-16 Robert Millan <rmh@aybabtu.com>
43719
43720 * util/update-grub.in: Check for $EUID instead of $UID.
43721 Reported by Vincent Zweije.
43722
d31a32a1 437232008-06-16 Bean <bean123ch@gmail.com>
43724
fe987087 43725 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 43726 (grub_ext2_read_block): Likewise.
43727 (grub_ext2_read_inode): Likewise.
43728 (grub_ext2_mount): Likewise.
43729 (grub_ext2_close): Likewise.
43730 (grub_ext3_get_journal): Removed.
43731
fe987087 43732 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 43733 (grub_reiserfs_read_symlink): Likewise.
43734 (grub_reiserfs_mount): Likewise.
43735 (grub_reiserfs_open): Likewise.
43736 (grub_reiserfs_read): Likewise.
43737 (grub_reiserfs_close): Likewise.
43738 (grub_reiserfs_get_journal): Removed.
43739
43740 * fs/fshelp.c (grub_fshelp_read): Removed.
43741 (grub_fshelp_map_block): Likewise.
43742
43743 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
43744 (grub_fshelp_journal): Likewise.
43745 (grub_fshelp_read): Likewise.
43746 (grub_fshelp_map_block): Likewise.
43747
3540a760 437482008-06-16 Pavel Roskin <proski@gnu.org>
43749
43750 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
43751 floating point anymore.
43752 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
43753
95614c84 437542008-06-15 Pavel Roskin <proski@gnu.org>
43755
43756 * commands/ls.c (grub_ls_list_files): Use integer calculations
43757 for human readable format, avoid floating point use.
43758 * kern/misc.c (grub_ftoa): Remove.
43759 (grub_vsprintf): Remove floating point support.
43760
50465dd6 437612008-06-15 Robert Millan <rmh@aybabtu.com>
43762
fe6b695a 43763 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 43764 devices.
43765 Reported by Max Vozeler.
43766
a9207284 437672008-06-15 Robert Millan <rmh@aybabtu.com>
43768
43769 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
43770 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
43771 skipped later.
43772 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
43773 the beginning of the prefix.
43774
43775 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
43776 It is assumed that if we have a memdisk, grub-mkimage has set
43777 grub_prefix to include the "(memdisk)" drive in it.
43778
a7cbd45a 437792008-06-15 Robert Millan <rmh@aybabtu.com>
43780
43781 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
43782 Initialize keyboard controller after registering the terminal, so that
43783 grub_printf() can be called from grub_keyboard_controller_init().
43784
21cf716a 437852008-06-15 Robert Millan <rmh@aybabtu.com>
43786
43787 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
43788 extent-btree which is written as big endian on disk.
43789 Reported by Alain Greppin <al@chilibi.org>.
43790
23a64d8e 437912008-06-14 Robert Millan <rmh@aybabtu.com>
43792
43793 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
43794 * util/i386/pc/grub-install.in (modules): Likewise.
43795
d687651c 437962008-06-13 Pavel Roskin <proski@gnu.org>
43797
43798 * commands/ls.c (grub_ls_list_files): Fix format warnings.
43799
dfe9ddd4 438002008-06-13 Bean <bean123ch@gmail.com>
43801
43802 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
43803
43804 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
43805
43806 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
43807 to indicate sparse block.
43808
16ae7781 438092008-06-12 Pavel Roskin <proski@gnu.org>
43810
e6d1a308 43811 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
43812 number, grub_fshelp_read() does it for us.
43813
16ae7781 43814 * fs/fshelp.c (grub_fshelp_read): New function. Implement
43815 linear disk read with journal translation.
43816 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
43817 * include/grub/fshelp.h: Declare grub_fshelp_read().
43818
40fd3a2b 438192008-06-09 Pavel Roskin <proski@gnu.org>
43820
43821 * fs/minix.c (grub_minix_mount): Handle error reading
43822 superblock.
43823
f5679726 438242008-06-08 Robert Millan <rmh@aybabtu.com>
43825
43826 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
43827 don't append the RAID prefix afterwards.
43828 Reported by Clint Adams.
43829
ce525529 438302008-06-08 Robert Millan <rmh@aybabtu.com>
43831
43832 Based on description from Pavel:
43833 * kern/disk.c (grub_disk_check_range): Rename to ...
43834 (grub_disk_adjust_range): ... this. Add a comment explaining the
43835 tasks performed by this function.
43836
ad4936a0 438372008-06-08 Robert Millan <rmh@aybabtu.com>
43838
43839 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
43840 `num_serial' (for consistency with other variables).
43841 (struct grub_ntfs_data): Add `uuid' member.
43842 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
43843 (grub_ntfs_uuid): New function.
43844 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
43845
dc20b0f9 438462008-06-07 Pavel Roskin <proski@gnu.org>
43847
43848 * util/biosdisk.c (open_device): Revert last change to the
43849 function, it broke installation. The sector needs to be
43850 different dependent on which device is opened.
43851
c5e3cfba 438522008-06-06 Robert Millan <rmh@aybabtu.com>
43853
43854 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
43855 rest of GRUB, and breakage doesn't happen if its value were modified.
43856
43857 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43858 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
43859 a constant (same value).
43860 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
43861 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
43862
26a1f8c4 438632008-06-06 Robert Millan <rmh@aybabtu.com>
43864
43865 * util/biosdisk.c (open_device): Do not modify sector offset when
43866 accessing a partition. kern/disk.c already handles this for us.
43867
25d6b327 438682008-06-06 Robert Millan <rmh@aybabtu.com>
43869
43870 * util/grub-emu.c (grub_machine_init): Move code in this function from
43871 here ...
43872 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
43873 segfault in case grub_printf() is called).
43874
43875 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
43876 grub_probe. Update all users not to explicitly add it again.
43877 (grub_device): New variable; contains corresponding device for grubdir.
43878 (fs_module, partmap_module, devabstraction_module): Pass
43879 `--device ${grub_device}' to grub_probe to avoid traversing /dev
43880 every time.
43881
9ece62fb 438822008-06-05 Robert Millan <rmh@aybabtu.com>
43883
43884 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
43885 is found, print it (same layout as with labels).
43886
1ad36d37 438872008-06-04 Robert Millan <rmh@aybabtu.com>
43888
43889 * util/biosdisk.c (get_drive): Rename to ...
43890 (find_grub_drive): ... this. Update all users.
43891
43892 (get_os_disk): Rename to ...
43893 (convert_system_partition_to_system_disk): ... this. Update all users.
43894
43895 (find_drive): Rename to ...
43896 (find_system_device): ... this. Update all users.
43897
e6a30859 438982008-06-04 Robert Millan <rmh@aybabtu.com>
43899
43900 * util/biosdisk.c (get_os_disk): Handle IDA devices.
43901 * util/grub-mkdevicemap.c (get_mmc_disk_name)
43902 (make_device_map): Likewise.
43903
00c108a4 439042008-06-01 Robert Millan <rmh@aybabtu.com>
43905
43906 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
43907 before dereferencing it.
43908
43909 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
43910 union with fat12/fat16-specific ones. Add some new fields, including
43911 `num_serial' for both versions.
43912 (struct grub_fat_data): Add `uuid' member.
43913 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
43914 names. Initialize `data->uuid' using `num_serial'.
43915 (grub_fat_uuid): New function.
43916 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
43917
43918 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
43919 (grub_reiserfs_uuid): New function.
43920 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
43921 member.
43922
43923 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
43924 (grub_xfs_uuid): New function.
43925 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
43926
1385c5bb 439272008-06-01 Robert Millan <rmh@aybabtu.com>
43928
43929 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
43930 code that is backward compatible with pre-uuid search command.
43931
c682dfd7 439322008-05-31 Robert Millan <rmh@aybabtu.com>
43933
43934 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
43935 floppies after everything else, to ensure floppy drive isn't accessed
43936 unnecessarily (patch from Bean).
43937
b7db5d47 439382008-05-31 Robert Millan <rmh@aybabtu.com>
43939
43940 * commands/search.c (search_label, search_fs_uuid, search_file): Do
43941 not print device names when we were asked to set a variable.
43942
6e037aa9 439432008-05-31 Robert Millan <rmh@aybabtu.com>
43944
43945 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
43946 using "cursor-on" and "cursor-off" commands (understood at least by
43947 the Open Firmware flavour on OLPC).
43948
41305bc8 439492008-05-31 Michael Gorven <michael@gorven.za.net>
43950
43951 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
43952 on and off sequences.
43953
69ba137e 439542008-05-31 Robert Millan <rmh@aybabtu.com>
43955
43956 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
43957 * util/update-grub.in: Likewise.
43958
520ae21b 439592008-05-30 Pavel Roskin <proski@gnu.org>
43960
43961 * util/biosdisk.c (linux_find_partition): Simplify logic and
43962 make the code more universal. Keep special processing for
43963 devfs, but use a simple rule for all other devices. If the
43964 device ends with a number, append 'p' and the partition number.
43965 Otherwise, append only the partition number.
43966
5786569b 439672008-05-30 Robert Millan <rmh@aybabtu.com>
43968
43969 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
43970 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
43971 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
43972 the `root' parameter to Linux.
43973
51500452 439742008-05-30 Robert Millan <rmh@aybabtu.com>
43975
43976 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
43977 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
43978 --fs_uuid with --fs-uuid.
43979 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
43980 all filesystems support them).
43981
811d3878 439822008-05-30 Robert Millan <rmh@aybabtu.com>
43983
43984 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 43985 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 43986
cab63c95 439872008-05-30 Robert Millan <rmh@aybabtu.com>
43988
43989 * util/grub.d/00_header.in: Remove obsolete comment referencing
43990 convert_system_path_to_grub_path().
43991 * util/update-grub.in: Likewise.
43992 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
43993 (convert_system_path_to_grub_path): Add a warning message explaining
43994 that this function is deprecated. Rely on is_path_readable_by_grub()
43995 for the readability checks.
43996 (font_path): Use is_path_readable_by_grub() for the readability
43997 check rather than convert_system_path_to_grub_path().
43998
972e2f7a 439992008-05-30 Robert Millan <rmh@aybabtu.com>
44000
44001 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44002 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44003 converting it first.
44004 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44005 grub.cfg for access to font file, and afterwards call it again to set
44006 the root device.
44007
62191274 440082008-05-30 Robert Millan <rmh@aybabtu.com>
44009
44010 * commands/search.c (options): Add --fs_uuid option.
44011 (search_fs_uuid): New function.
44012 (grub_cmd_search): Fix --set argument passing.
44013 Use search_fs_uuid() when requested via --fs_uuid.
44014 (grub_search_init): Update help message.
44015 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44016 and redeclare it as an array of 16-bit words.
44017 (grub_ext2_uuid): New function.
44018 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44019 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44020 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44021 (GRUB_DEVICE_BOOT_UUID): New variables.
44022 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44023 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44024 whenever possible.
44025 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44026 just assume `root' variable has the right value.
44027 * util/grub.d/10_linux.in: Likewise.
44028 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44029 via PRINT_FS_UUID.
44030 (main): Recognise `-t fs_uuid' argument.
44031
01b73ec8 440322008-05-30 Robert Millan <rmh@aybabtu.com>
44033
44034 * util/biosdisk.c (map): Redefine structure to hold information
44035 about GRUB drive name.
fe6b695a 44036 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 44037 drive names.
44038 (call_hook): Remove.
44039 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44040 member. Assume drive has partitions.
44041 (grub_util_biosdisk_open): Access device names via `.device' struct
44042 member.
44043 (open_device): Likewise.
44044 (find_drive): Likewise.
44045 (read_device_map): Adjust map[] usage to match the new struct
44046 definition. Don't check for duplicates (still possible, but not cheap
44047 anymore).
44048 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44049 (make_device_name): Remove assumption of BIOS-like drive names.
44050
22f16596 440512008-05-30 Pavel Roskin <proski@gnu.org>
44052
44053 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44054 compiling execute.c doesn't need grub_script.tab.h anymore.
44055 (normal/command.c_DEPENDENCIES): Likewise.
44056 (normal/function.c_DEPENDENCIES): Likewise.
44057 * conf/i386-ieee1275.rmk: Likewise.
44058 * conf/i386-linuxbios.rmk: Likewise.
44059 * conf/i386-pc.rmk: Likewise.
44060 * conf/powerpc-ieee1275.rmk: Likewise.
44061 * conf/sparc64-ieee1275.rmk: Likewise.
44062
528ad8f2 440632008-05-29 Pavel Roskin <proski@gnu.org>
44064
d1dff95d 44065 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44066 when scanning metadata for volume group name.
44067
528ad8f2 44068 * include/grub/script.h: Don't include grub_script.tab.h. It's
44069 a generated file, which may only be included from the files with
44070 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44071 use union YYSTYPE, as the later allows forward declaration.
44072 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44073
47248e08 440742008-05-29 Robert Millan <rmh@aybabtu.com>
44075
44076 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44077 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44078 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44079 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44080 scan codes.
44081
ee632529 440822008-05-29 Robert Millan <rmh@aybabtu.com>
44083
44084 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44085 control key combinations.
44086
eee96e08 440872008-05-29 Robert Millan <rmh@aybabtu.com>
44088
44089 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44090 * util/ieee1275/grub-install.in: ... to here.
44091 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44092 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44093 (grub_install_SOURCES): Likewise.
44094
da9a6a94 440952008-05-29 Robert Millan <rmh@aybabtu.com>
44096
44097 * fs/affs.c: Update copyright year.
44098 * fs/ext2.c: Likewise.
44099 * fs/fshelp.c: Likewise.
44100 * fs/hfsplus.c: Likewise.
44101 * fs/ntfs.c: Likewise.
44102 * fs/xfs.c: Likewise.
44103 * include/grub/fshelp.h: Likewise.
44104 * util/grub-mkdevicemap.c: Likewise.
44105
12e65f3a 441062008-05-28 Robert Millan <rmh@aybabtu.com>
44107
44108 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44109 might need to be fatfs to support some firmware implementations
44110 (e.g. OFW or EFI).
44111
23023641 441122008-05-28 Robert Millan <rmh@aybabtu.com>
44113
44114 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44115 devices.
44116 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44117 (make_device_map): Likewise.
44118
887d2619 441192008-05-20 Bean <bean123ch@gmail.com>
44120
44121 * fs/fshelp.c (grub_fshelp_map_block): New function.
44122 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44123 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44124
44125 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44126 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44127 (grub_fshelp_journal): New structure.
44128 (grub_fshelp_map_block): New function prototype.
44129 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44130 (grub_fshelp_map_block): Likewise.
44131
44132 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44133 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44134 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44135 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44136 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44137 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44138 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44139 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44140 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44141 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44142 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44143 (grub_ext2_sblock): New members for journal support.
44144 (grub_ext3_journal_header): New structure.
44145 (grub_ext3_journal_revoke_header): Likewise.
44146 (grub_ext3_journal_block_tag): Likewise.
44147 (grub_ext3_journal_sblock): Likewise.
44148 (grub_fshelp_node): New members logfile and journal.
44149 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44150 grub_fshelp_map_block to get real block number.
44151 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44152 number.
44153 (grub_ext2_read_inode): Likewise.
44154 (grub_ext3_get_journal): New function.
44155 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44156 (grub_ext2_close): Release memory used by journal.
44157
44158 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44159 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44160 (grub_reiserfs_transaction_header): Renamed to
44161 grub_reiserfs_description_block, replace field data with real_blocks.
44162 (grub_reiserfs_commit_block): New structure.
44163 (grub_reiserfs_data): New member journal.
44164 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44165 number.
44166 (grub_reiserfs_read_symlink): Likewise.
44167 (grub_reiserfs_iterate_dir): Likewise.
44168 (grub_reiserfs_open): Likewise.
44169 (grub_reiserfs_read): Likewise.
44170 (grub_reiserfs_get_journal): New function.
44171 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44172 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44173 using grub_reiserfs_get_journal.
44174 (grub_reiserfs_close): Release memory used by journal.
44175
44176 * fs/affs.c (grub_affs_read_block): Change block type to
44177 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44178
44179 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44180
44181 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44182
44183 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44184
44185 * fs/udf.c (grub_udf_read_block): Change block type to
44186 grub_disk_addr_t. Use type cast to avoid warning.
44187
44188 * fs/xfs.c (grub_xfs_read_block): Likewise.
44189
b7c6bed5 441902008-05-16 Christian Franke <franke@computer.org>
44191
44192 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44193 to ensure that break with ESC will always work.
44194 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44195 Remove ESC from keyboard queue.
44196
eedf167f 441972008-05-16 Christian Franke <franke@computer.org>
44198
44199 * util/biosdisk.c: [__CYGWIN__] Add includes.
44200 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44201 (get_os_disk): Move variable declarations to OS specific
44202 parts to avoid warning.
44203 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44204 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44205 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44206 Cygwin.
44207 * util/getroot.c: [__CYGWIN__] Add includes.
44208 (strip_extra_slashes): Fix "/" case.
44209 [__CYGWIN__] (get_win32_path): New function.
44210 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44211 [__CYGWIN__] (find_root_device): Disable.
44212 [__CYGWIN__] (get_bootsec_serial): New function.
44213 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44214 [__linux__] (grub_guess_root_device): Add early returns to simplify
44215 structure.
44216 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44217 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44218 check for Linux only.
44219
a079699e 442202008-05-15 Bean <bean123ch@gmail.com>
44221
44222 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44223 keyboard hang problem in apple's intel mac.
44224
1cf4059a 442252008-05-09 Robert Millan <rmh@aybabtu.com>
44226
44227 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44228 devices.
44229 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44230 (make_device_map): Likewise.
44231 Reported by Aurelien Jarno <aurel32@debian.org>
44232
ed759390 442332008-05-07 Ian Campbell <ijc@hellion.org.uk>
44234
44235 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44236 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44237 (make_device_map): Output entries for xvd type disks.
44238
b56c4eaa 442392008-05-07 Robert Millan <rmh@aybabtu.com>
44240
44241 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44242 devices.
44243 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44244 (make_device_map): Likewise.
44245 Reported by Roland Dreier <rdreier@cisco.com>
44246
7f8866ed 442472008-05-07 Robert Millan <rmh@aybabtu.com>
44248
44249 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44250 grub_strstr() call. Correct a few mistakes in failure path handling.
44251
b0346e0f 442522008-05-06 Robert Millan <rmh@aybabtu.com>
44253
44254 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44255 Do not print a trailing slash (therefore, the root directory is an
44256 empty string).
44257 (convert_system_path_to_grub_path): Do not remove trailing slash
44258 from make_system_path_relative_to_its_root() output.
44259
44260 * util/i386/pc/grub-install.in: Add trailing slash to output from
44261 make_system_path_relative_to_its_root().
44262
6cf12cbd 442632008-05-06 Robert Millan <rmh@aybabtu.com>
44264
44265 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44266 ensures that output lines aren't intermangled with those sent to
44267 stderr (via grub_util_info()).
44268 * util/grub-probe.c (grub_refresh): Likewise.
44269 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44270
0fbb3117 442712008-05-05 Christian Franke <franke@computer.org>
44272
44273 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44274 Add Cygwin device names.
44275 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44276 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44277 (check_device): Return error instead of success on empty name.
44278 (make_device_map): Move label inside linux specific code to
44279 prevent compiler warning.
44280
8124cdb7 442812008-04-30 Robert Millan <rmh@aybabtu.com>
44282
44283 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44284 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44285 first boot option.
44286 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44287
094c01d0 442882008-04-29 Robert Millan <rmh@aybabtu.com>
44289
44290 * docs/grub.cfg: New file (example GRUB configuration).
44291
f4b1fc02 442922008-04-26 Robert Millan <rmh@aybabtu.com>
44293
329ce2a5 44294 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44295 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44296 and `disk/ieee1275/nand.c'.
f4b1fc02 44297
25f16ec1 442982008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 44299
25f16ec1 44300 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44301 i386-linuxbios.
44302
44303 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44304 change the buffer size to 4096 for cdrom device.
44305
44306 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44307 and nand.mod.
44308 (_linux_mod_SOURCES): New variable.
44309 (_linux_mod_CFLAGS): Likewise.
44310 (_linux_mod_LDFLAGS): Likewise.
44311 (linux_mod_SOURCES): Likewise.
44312 (linux_mod_CFLAGS): Likewise.
44313 (linux_mod_LDFLAGS): Likewise.
44314 (nand_mod_SOURCES): Likewise.
44315 (nand_mod_CFLAGS): Likewise.
44316 (nand_mod_LDFLAGS): Likewise.
44317
44318 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44319 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44320 type property. (nand device in olpc don't have this property)
44321
44322 * include/grub/disk.h (grub_disk_dev_id): New macro
44323 GRUB_DISK_DEVICE_NAND_ID.
44324
44325 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44326 function prototype.
44327 (grub_rescue_cmd_initrd): Likewise.
44328
44329 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44330 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44331 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 44332
25f16ec1 44333 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44334 GRUB_MACHINE_IEEE1275 is defined.
44335
44336 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44337 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44338
44339 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44340 on nested function heap_init.
44341 (grub_upper_mem): New variable for i386-ieee1275.
44342 (grub_get_extended_memory): New function for i386-ieee1275.
44343 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44344
44345 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44346 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44347 property.
f19dbdb7 44348
25f16ec1 44349 * loader/i386/ieee1275/linux.c: New file.
44350
44351 * loader/i386/ieee1275/linux_normal.c: New file.
44352
44353 * disk/ieee1275/nand.c: New file.
44354
e89d61e9 443552008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44356
44357 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44358 value.
44359 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44360
602566f6 443612008-04-18 Robert Millan <rmh@aybabtu.com>
44362
44363 Restructures early code path on ieee1275 to unify grub_main() as
44364 the first C function that is executed in every platform.
44365
44366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44367 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44368 cmain().
44369 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44370 * kern/ieee1275/cmain.c (cmain): Rename to ...
44371 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44372 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44373 at the beginning.
44374
57490c2b 443752008-04-18 Robert Millan <rmh@aybabtu.com>
44376
44377 * util/update-grub.in: Fix syntax error when setting
44378 `GRUB_PRELOAD_MODULES'.
44379 Reported by Stephane Chazelas <stephane@artesyncp.com>
44380
1977517d 443812008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44382
44383 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44384 section into account, newer toolchains generate unique build ids
44385 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 44386 we want build ids to be preserved
1977517d 44387 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44388 far from other sections don't cause the raw binary images grow
44389 size
44390
bfb1f1a2 443912008-04-15 Robert Millan <rmh@aybabtu.com>
44392
44393 * disk/lvm.c: Update copyright year.
44394 * kern/misc.c: Likewise.
44395
01979850 443962008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44397
44398 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 44399 there is no memory left for physical volume name.
01979850 44400
0a1150e2 444012008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44402
44403 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44404 volume name mapping to support bigger than 9 character names properly.
44405
82ead3fe 444062008-04-13 Robert Millan <rmh@aybabtu.com>
44407
44408 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44409 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44410
e54a72f5 444112008-04-13 Christian Franke <franke@computer.org>
44412
44413 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44414 to create a floppy emulation boot CD when non emulation mode
44415 does not work.
44416 Enable Joliet CD filesystem extension.
44417
9fe86034 444182008-04-13 Robert Millan <rmh@aybabtu.com>
44419
44420 * kern/misc.c (grub_strncat): Fix off-by-one error.
44421 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44422
44423 * kern/env.c (grub_env_context_close): Clear current context, not
44424 previous one.
44425 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44426
44427 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44428
7ceeee39 444292008-04-13 Robert Millan <rmh@aybabtu.com>
44430
44431 Improve robustness when handling LVM.
44432
44433 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 44434 (and leave `*p' unmodified).
7ceeee39 44435 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44436 through it.
44437 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44438 iterating through it.
44439 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44440 through it.
fe6b695a 44441 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 44442 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44443 Don't assume `vg->pvs != NULL' when iterating through it.
44444
58cd3d85 444452008-04-13 Robert Millan <rmh@aybabtu.com>
44446
44447 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44448 * genmk.rb (partmap): New variable.
44449 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44450 (#{partmap}): New target rule.
44451 * genpartmaplist.sh: New file.
44452 * Makefile.in (pkglib_DATA): Add partmap.lst.
44453 (partmap.lst): New target rule.
44454 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
44455 modules (including all partition maps), instead of preloading them.
44456
78b51059 444572007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
44458
44459 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
44460 `linux-boot-prober' (if installed) to detect other operating
44461 systems which are installed on the computer and add them to
44462 the boot menu.
44463 * conf/common.rmk: Build and install 30_os-prober.
44464
a91627b4 444652008-04-12 Robert Millan <rmh@aybabtu.com>
44466
44467 * kern/powerpc/ieee1275/init.c: Move from here ...
44468 * kern/ieee1275/init.c: ... to here. Update all users.
44469
44470 * kern/powerpc/ieee1275/cmain.c: Move from here ...
44471 * kern/ieee1275/cmain.c: ... to here. Update all users.
44472
44473 * kern/powerpc/ieee1275/openfw.c: Move from here ...
44474 * kern/ieee1275/openfw.c: ... to here. Update all users.
44475
44476 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
44477 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
44478
322562ea 444792008-04-10 Pavel Roskin <proski@gnu.org>
44480
44481 * configure.ac: Always use "_cv_" in cache variables for
44482 compatibility with Autoconf 2.62.
44483
a02a73c5 444842008-04-07 Robert Millan <rmh@aybabtu.com>
44485
44486 Revert grub/machine/init.h addition by Pavel (since it breaks on
44487 i386-ieee1275 and others):
44488 * util/i386/pc/misc.c: Remove grub/machine/init.h.
44489 * util/powerpc/ieee1275/misc.c: Likewise.
44490
25c024b1 444912008-04-07 Robert Millan <rmh@aybabtu.com>
44492
44493 * util/grub-probe.c (probe): Improve error message.
44494
3cbd2f98 444952008-04-07 Robert Millan <rmh@aybabtu.com>
44496
44497 * util/biosdisk.c (read_device_map): Skip devices that don't exist
44498 (this prevents the presence of a bogus entry from ruining the whole
44499 thing).
44500
87a297bf 445012008-04-06 Pavel Roskin <proski@gnu.org>
44502
36747a62 44503 * util/biosdisk.c: Include grub/util/biosdisk.h.
44504 * util/grub-fstest.c (execute_command): Make static.
44505 * util/grub-mkdevicemap.c (check_device): Likewise.
44506 * util/i386/pc/misc.c: Include grub/machine/init.h.
44507 * util/powerpc/ieee1275/misc.c: Likewise.
44508 * util/lvm.c: Include grub/util/lvm.h.
44509 * util/misc.c: Include grub/kernel.h, grub/misc.h and
44510 grub/cache.h.
44511 * util/raid.c: Include grub/util/raid.h.
44512 (grub_util_getdiskname): Make static.
44513
87a297bf 44514 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
44515 grub_hostfs_fini(), as they are called from grub_init_all() and
44516 grub_fini_all() respectively. This fixes an infinite loop in
44517 grub-fstest due to double registration of hostfs.
44518 Reported by Christian Franke <Christian.Franke@t-online.de>
44519
f6ce7629 445202008-04-05 Pavel Roskin <proski@gnu.org>
44521
44522 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
44523 all 8 functions. Otherwise, probe function 0 only.
44524
070e49e4 445252008-04-04 Pavel Roskin <proski@gnu.org>
44526
8b088a4c 44527 * commands/lspci.c (grub_lspci_iter): Print the bus number
44528 correctly.
44529
4f657021 44530 * commands/lspci.c (grub_pci_classes): Fix typos.
44531 (grub_lspci_iter): Don't print func twice. Print vendor ID
44532 before device ID, as it's normally done.
44533
070e49e4 44534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44535 Fix signedness warnings.
44536 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
44537 Likewise.
44538 * util/ieee1275/get_disk_name.c: Include config.h so that
44539 _GNU_SOURCE is defined and getline() is declared. Mark an
44540 unused argument as such. Fix a signedness warning.
44541
ba7328dc 445422008-04-02 Pavel Roskin <proski@gnu.org>
44543
26887f22 44544 * genkernsyms.sh.in: Use more robust assignments for CC and
44545 srcdir. Quote srcdir.
44546 * gensymlist.sh.in: Likewise. Assert at the compile time that
44547 the symbol table is not empty.
44548
ba7328dc 44549 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
44550 * fs/cpio.c (grub_cpio_read): Likewise.
44551
0f582c6b 445522008-04-01 Pavel Roskin <proski@gnu.org>
44553
4b6e1995 44554 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
44555 * disk/host.c (grub_host_open): Likewise.
44556 * disk/loopback.c (grub_loopback_open): Likewise.
44557 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
44558 disk->id as in disk/host.c, not a multi-character constant.
44559
828a2768 44560 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
44561 later is obsolete, potentially dangerous and sets a bad example.
44562 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
44563 * util/misc.c (grub_util_get_image_size): Likewise.
44564
2bb4fb47 44565 * disk/loopback.c (options): Improve help for "--partitions".
44566
0f582c6b 44567 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
44568 options to align them with the short options, e.g. "echo -e".
44569
a33224e0 445702008-03-31 Bean <bean123ch@gmail.com>
44571
44572 * video/reader/png.c (grub_png_data): New member is_16bit and
44573 image_data.
44574 (grub_png_decode_image_header): Detect 16 bit png image.
44575 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
44576 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
44577 (grub_video_reader_png): Release memory occupied by image_data.
44578
44579 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
44580 4096 bytes.
44581 (grub_nfs_mount): Skip the test for sector per cluster.
44582
44583 * include/grub/ntfs.h (MAX_SPC): Removed.
44584
86cb4f54 445852008-03-31 Bean <bean123ch@gmail.com>
44586
44587 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
44588 (grub_probe_SOURCES): Add fs/afs.c.
44589 (grub_fstest_SOURCES): Likewise.
44590 (afs_mod_SOURCES): New variable.
44591 (afs_mod_CFLAGS): Likewise.
44592 (afs_mod_LDFLAGS): Likewise.
44593
44594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
44595 (grub_emu_SOURCES): Likewise.
44596
44597 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44598
44599 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44600
44601 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44602
44603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44604
44605 * fs/afs.c: New file.
44606
17c74c21 446072008-03-30 Pavel Roskin <proski@gnu.org>
44608
4cb68e89 44609 * disk/host.c: Include grub/misc.h to fix a warning.
44610 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
44611 warnings about implicit declarations.
44612
8790bb04 44613 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
44614 variable.
44615 * include/grub/i386/loader.h: Change declaration of
44616 grub_linux_boot() to match what grub_loader_set() expects.
44617 * util/getroot.c (grub_guess_root_device): Return const char* to
44618 fix a warning.
44619 * util/grub-probe.c (probe): Fix a warning about uninitialized
44620 abstraction_name variable.
44621 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
44622 second argument as unused to fix a warning.
44623
9a3f3296 44624 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
44625 missing grub_error() call.
44626
0ecef90d 44627 * util/update-grub_lib.in: Define datarootdir, since Autoconf
44628 2.60 and newer uses it to define datadir.
44629
0bf6d401 44630 * commands/sleep.c: Fix warning about implicit declaration.
44631 * disk/memdisk.c: Likewise.
44632 * loader/aout.c: Likewise.
44633 * loader/i386/bsd_normal.c: Likewise.
44634 * util/grub-probe.c: Likewise.
44635
7cdacf97 44636 * commands/i386/cpuid.c (has_longmode): Make static.
44637 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
44638 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
44639
17c74c21 44640 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
44641 GDT. This is more robust, as %ds can change.
44642 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
44643 calling real_to_prot().
44644 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
44645
80a3e68b 446462008-03-28 Pavel Roskin <proski@gnu.org>
44647
44648 * kern/i386/pc/startup.S: Assert that uncompressed functions
44649 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
44650 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
44651 code, as they push parts of the code (error handlers) beyond
44652 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
44653 code as correctness and size.
44654
77bcd272 446552008-03-28 Pavel Roskin <proski@gnu.org>
44656
44657 * kern/i386/pc/startup.S
44658 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
44659 data block address to the real mode, keep offset minimal. This
44660 works around a bug in AWARD BIOS on old Athlon systems, which
44661 makes CD detection hang.
44662
c5dfd43b 446632008-03-26 Pavel Roskin <proski@gnu.org>
44664
44665 * normal/color.c (grub_parse_color_name_pair): Make `name' a
44666 const.
44667 * include/grub/normal.h: Add grub_parse_color_name_pair()
44668 declaration.
44669
bf962df2 446702008-03-24 Bean <bean123ch@gmail.com>
44671
44672 * disk/i386/pc/biosdisk.c (cd_start): Removed.
44673 (cd_count): Removed.
44674 (cd_drive): New variable.
44675 (grub_biosdisk_get_drive): Don't check for (cdN) device.
44676 (grub_biosdisk_call_hook): Likewise.
44677 (grub_biosdisk_iterate): Change cdrom detection method.
44678 (grub_biosdisk_open): Replace cd_start with cd_drive.
44679 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
44680 detect cdrom device.
44681
44682 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
44683 Removed.
44684 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
44685 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
44686 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
44687 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
44688 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
44689 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
44690 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
44691 (grub_biosdisk_cdrp): New structure.
44692 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
44693
44694 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
44695
44696 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
44697 device.
44698
44699 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
44700 New function.
44701
68e7fc7a 447022008-03-20 Robert Millan <rmh@aybabtu.com>
44703
44704 Remove 2 TiB limit in ata.mod.
44705 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
44706 (grub_ata_dumpinfo): Print sector count with 0x%llx.
44707 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
44708 grub_uint64_t instead of grub_uint32_t.
44709
38ad2cf5 447102008-03-05 Bean <bean123ch@gmail.com>
44711
44712 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
44713 (grub_multiboot): Set boot device.
44714
44715 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
44716
2b89344e 447172008-03-02 Bean <bean123ch@gmail.com>
44718
44719 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
44720 symlink_buffer.
44721
87a95d1f 447222008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
44723
44724 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
44725 texinfo.tex.
44726
44727 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
44728 modified.
44729
44730 * docs/fdl.texi: New file.
f19dbdb7 44731
87a95d1f 44732 * docs/mdate-sh: New file. Copied from gnulib.
44733 * docs/texinfo.tex: Likewise.
44734
44735 * config.guess: Updated from gnulib.
44736 * install-sh: Likewise.
44737
7dc15d8e 447382008-02-28 Robert Millan <rmh@aybabtu.com>
44739
44740 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
44741 (aout_mod_SOURCES): New variable.
44742 (aout_mod_CFLAGS): Likewise.
44743 (aout_mod_LDFLAGS): Likewise.
44744
44745 * conf/i386-ieee1275.rmk: Likewise.
44746
b00ab696 447472008-02-28 Robert Millan <rmh@aybabtu.com>
44748
44749 * util/update-grub.in: Reorganise terminal validity check. Accept
44750 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
44751 Based on suggestion by Franklin PIAT.
44752
79ca2d78 447532008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
44754
44755 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
44756 function.
44757 * util/getroot.c (grub_util_check_block_device): New function that
44758 returns the given argument if it is a block device and returns NULL else.
44759 * util/grub-probe.c (argument_is_device): New variable.
44760 (probe): Promote device_name from a variable to an argument. Receive
44761 device_name from grub_util_check_block_device() if path is NULL and from
44762 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 44763 (options): Introduce new parameter '-d, --device'.
79ca2d78 44764 (main): Add description of the new parameter to the help screen.
44765 Rename path variable to argument. Set argument_is_device if the '-d'
44766 option is given. Pass argument to probe() depending on
44767 argument_is_device.
44768
0d16e571 447692008-02-24 Bean <bean123ch@gmail.com>
44770
44771 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
44772 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
44773 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
44774 (GRUB_ISO9660_VOLDESC_PART): Likewise.
44775 (GRUB_ISO9660_VOLDESC_END): Likewise.
44776 (grub_iso9660_primary_voldesc): New member escape.
44777 (grub_iso9660_data): New member joliet.
44778 (grub_iso9660_convert_string): New function.
44779 (grub_iso9660_mount): Detect joliet extension.
44780 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
44781 (grub_iso9660_iso9660_label): Likewise.
44782
44783 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
44784 (grub_setup_SOURCES): Add fs/udf.c.
44785 (grub_fstest_SOURCES): Likewise.
44786 (udf_mod_SOURCES): New variable.
44787 (udf_mod_CFLAGS): Likewise.
44788 (udf_mod_LDFLAGS): Likewise.
44789
44790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
44791 (grub_emu_SOURCES): Likewise.
44792
44793 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44794
44795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44796
44797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44798
44799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44800
44801 * fs/udf.c: New file.
44802
8a594a17 448032008-02-24 Robert Millan <rmh@aybabtu.com>
44804
44805 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
44806 (normal/lexer.c_DEPENDENCIES): New variables.
44807 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44808 (normal/lexer.c_DEPENDENCIES): Likewise.
44809 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
44810 (normal/lexer.c_DEPENDENCIES): Likewise.
44811 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
44812 (normal/lexer.c_DEPENDENCIES): Likewise.
44813 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44814 (normal/lexer.c_DEPENDENCIES): Likewise.
44815 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
44816 (normal/lexer.c_DEPENDENCIES): Likewise.
44817
2dc33c03 448182008-02-23 Robert Millan <rmh@aybabtu.com>
44819
44820 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
44821 since they were intended to be in hex. This didn't break previously
44822 because of a bug in gpt_partition_map_iterate() (see below).
44823
44824 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
44825 when checking the validity of GPT header.
44826 Remove `partno', since it always provides the same information as `i'.
44827
f6f4cfb0 448282008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
44829
44830 * include/grub/efi/time.h: Fix a wrong comment.
44831
79ff665f 448322008-02-19 Pavel Roskin <proski@gnu.org>
44833
44834 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
44835 message.
44836
d38e24c2 448372008-02-19 Bean <bean123ch@gmail.com>
44838
44839 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
44840 (aout_mod_SOURCES): New variable.
44841 (aout_mod_CFLAGS): Likewise.
44842 (aout_mod_LDFLAGS): Likewise.
44843 (_bsd_mod_SOURCES): New variable.
44844 (_bsd_mod_CFLAGS): Likewise.
44845 (_bsd_mod_LDFLAGS): Likewise.
44846 (bsd_mod_SOURCES): New variable.
44847 (bsd_mod_CFLAGS): Likewise.
44848 (bsd_mod_LDFLAGS): Likewise.
44849
44850 * include/grub/aout.h: New file.
44851
44852 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
44853
44854 * include/grub/i386/bsd.h: New file.
44855
44856 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
44857 to make it public.
44858
44859 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
44860 function is called, so that it's possible to change it inside the hook.
44861 (grub_elf64_load): Likewise.
44862 (grub_elf_file): Don't close the file if elf header is not found.
44863 (grub_elf_close): Close the file if grub_elf_file fails (The new
44864 grub_elf_file won't close it).
44865 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
44866 (grub_elf64_size): Likewise.
44867
44868 * kern/i386/loader.S (grub_unix_real_boot): New function.
44869
44870 * loader/aout.c: New file.
44871
44872 * loader/i386/bsd.c: New file.
44873
44874 * loader/i386/bsd_normal.c: New file.
44875
44876 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
44877
44878 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 44879 can test other formats.
d38e24c2 44880
b93bdb0f 448812008-02-19 Robert Millan <rmh@aybabtu.com>
44882
44883 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
44884 (grub_gpt_partition_type_empty): Redefine with macro from
44885 `<grub/gpt_partition.h>'.
44886 (gpt_partition_map_iterate): Adjust partition type comparison.
44887
44888 Export `entry' as partmap-specific `part.data' struct.
44889 (grub_gpt_header, grub_gpt_partentry): Move from here ...
44890
44891 * include/grub/gpt_partition.h (grub_gpt_header)
44892 (grub_gpt_partentry): ... to here (new file).
44893
44894 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
44895
44896 (grub_gpt_partition_type_bios_boot): New const variable, defined
44897 with macro from `<grub/gpt_partition.h>'.
44898
44899 (setup): Replace `first_start' with `embed_region', which keeps
44900 track of the embed region (and is partmap-agnostic).
44901
44902 Replace find_first_partition_start() with find_usable_region(),
44903 which finds a usable region for embedding using partmap-specific
44904 knowledge (supports PC/MSDOS and GPT).
44905
44906 Fix all assumptions that the embed region start at sector 1, using
44907 `embed_region.start' from now on. Similarly, use `embed_region.end'
44908 rather than `first_start' to calculate available size.
44909
44910 In grub_util_info() message, replace "into after the MBR" with an
44911 indication of the specific sector our embed region starts at.
44912
66cb40f6 449132008-02-19 Robert Millan <rmh@aybabtu.com>
44914
44915 * DISTLIST: Replace `commands/ieee1275/halt.c' and
44916 `commands/ieee1275/reboot.c' with `commands/halt.c' and
44917 `commands/reboot.c'.
44918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44919 (halt_mod_SOURCES): Likewise.
44920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
44921 (halt_mod_SOURCES): Likewise.
44922
b7202015 449232008-02-17 Christian Franke <franke@computer.org>
44924
44925 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
44926
32b0fc49 449272008-02-17 Robert Millan <rmh@aybabtu.com>
44928
44929 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44930 set `first_start' to 0 for non-PC/MSDOS partition maps.
44931
aca63502 449322008-02-16 Robert Millan <rmh@aybabtu.com>
44933
44934 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
44935 do not assume partition map is PC/MSDOS before performing checks that
44936 are specific to that layout.
44937
0de8be86 449382008-02-13 Robert Millan <rmh@aybabtu.com>
44939
44940 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
44941 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
44942 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
44943
c3db8364 449442008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
44945
44946 * configure.ac: Only a cosmetic change on the handling of
44947 -fno-stack-protector.
44948
f714229e 449492008-02-12 Alexandre Boeglin <alex@boeglin.org>
44950
c3db8364 44951 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
44952 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
44953 reboot.c.
f714229e 44954 (grub_install_SOURCES): Add halt.mod and reboot.mod.
44955 (halt_mod_SOURCES): New variable.
44956 (halt_mod_CFLAGS): Likewise.
44957 (halt_mod_LDFLAGS): Likewise.
44958 (reboot_mod_SOURCES): Likewise.
44959 (reboot_mod_CFLAGS): Likewise.
44960 (reboot_mod_LDFLAGS): Likewise.
44961
c3db8364 44962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
44963 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
44964 reboot.c.
f714229e 44965 (halt_mod_SOURCES): Likewise.
44966 (reboot_mod_SOURCES): Likewise.
44967
c3db8364 44968 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
44969 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 44970 (reboot_mod_SOURCES): Likewise.
44971
44972 * commands/i386/pc/reboot.c: merge this file ...
44973
44974 * commands/ieee1275/reboot.c: ... and this file ...
44975
44976 * commands/reboot.c: ... to this file.
c3db8364 44977 Add some precompiler directive to include the correct header for
44978 each machine.
f714229e 44979
44980 * commands/ieee1275/halt.c: move this file ...
44981
44982 * commands/halt.c: ... to here.
c3db8364 44983 Add some precompiler directive to include the correct header for
44984 each machine.
f714229e 44985
44986 * include/grub/efi/efi.h (grub_reboot): New function declaration.
44987 (grub_halt): Likewise.
44988
44989 * kern/efi/efi.c (grub_reboot): New function.
44990 (grub_halt): Likewise.
44991
c74493e0 449922008-02-12 Robert Millan <rmh@aybabtu.com>
44993
44994 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
44995 /dev (like it is done for /dev/mapper). This doesn't provide support
44996 for EVMS, but at least it is now easy to identify the problem when it
44997 arises.
44998
d0db4b04 449992008-02-11 Robert Millan <rmh@aybabtu.com>
45000
45001 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45002 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45003 comparing it with -1, not 0.
45004
bf748642 450052008-02-10 Robert Millan <rmh@aybabtu.com>
45006
45007 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45008 `disk/lvm.c'.
45009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45010 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45011
45012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45013 `disk/lvm.c' to the end of the list.
45014 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45015 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45016
b5db202a 450172008-02-10 Robert Millan <rmh@aybabtu.com>
45018
45019 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45020 grub_print_error() instead. This will let user know why we're entering
45021 rescue mode.
45022 Based on suggestions from Sam Morris.
45023
83abee31 450242008-02-10 Alexandre Boeglin <alex@boeglin.org>
45025
45026 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45027 on remaining N args, instead of "--" arg N times.
45028
78d5a08b 450292008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45030
45031 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45032 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45033 pattern for unknown glyphs.
45034
68807e5f 450352008-02-09 Robert Millan <rmh@aybabtu.com>
45036
45037 * configure.ac: Probe for `help2man'.
45038 * Makefile.in (builddir): New variable.
45039 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45040 or otherwise add a few flags/options to it.
45041 (install-local): For every executable utility or script that is
45042 installed, invoke $(HELP2MAN) to install a manpage based on --help
45043 output.
45044
45045 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45046 that it doesn't prevent --help from working in build tree.
45047
45048 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45049 with `bug-grub@gnu.org'.
45050 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45051 * util/update-grub.in (usage): New function.
45052 Implement proper argument check, with support for --help and --version
45053 (as well as existing -y).
45054
450552008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 45056
45057 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45058 avoid overwriting previous output.
45059 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45060
c1962162 450612008-02-09 Robert Millan <rmh@aybabtu.com>
45062
45063 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45064 drawing the menu.
45065
3dac2e3f 450662008-02-09 Robert Millan <rmh@aybabtu.com>
45067
45068 * commands/sleep.c: New file.
45069 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45070 (sleep_mod_SOURCES): New variable.
45071 (sleep_mod_CFLAGS): Likewise.
45072 (sleep_mod_LDFLAGS): Likewise.
45073
7a634e08 450742008-02-09 Robert Millan <rmh@aybabtu.com>
45075
45076 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45077 situations in which we can deduce the RAID size and the superblock
45078 doesn't match it.
45079
b92f0c18 450802008-02-09 Robert Millan <rmh@aybabtu.com>
45081
45082 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45083 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45084 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45085
45086 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45087 and return a grub_diskmemberlist_t composed of physical array members.
45088 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45089
45090 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45091 prototype.
45092 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45093 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45094 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45095
45096 * util/grub-probe.c (probe): Move partmap probing code from here ...
45097 (probe_partmap): ... to here.
45098 (probe): Use probe_partmap() once for the disk we're probing, and
45099 additionally, when such disk contains a memberlist() struct member,
45100 once for each disk that is contained in the structure returned by
45101 memberlist().
45102
91a4bf68 451032008-02-09 Robert Millan <rmh@aybabtu.com>
45104
45105 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45106 environment variable to 'all' in order to obtain debug output from
45107 non-util/ code.
45108 * util/i386/pc/grub-setup.c (main): Likewise.
45109
a96f9caa 451102008-02-08 Robert Millan <rmh@aybabtu.com>
45111
45112 * disk/raid.c (grub_raid_scan_device): Check for
45113 `array->device[sb.this_disk.number]' rather than for
45114 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 45115 guaranteed to be accessible.
a96f9caa 45116
b37a9222 451172008-02-08 Robert Millan <rmh@aybabtu.com>
45118
45119 * disk/raid.c: Update copyright.
45120 * fs/cpio.c: Likewise.
45121 * include/grub/raid.h: Likewise.
45122 * loader/i386/pc/multiboot.c: Likewise.
45123 * util/hostfs.c: Likewise.
45124
5626aee1 451252008-02-08 Robert Millan <rmh@aybabtu.com>
45126
45127 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45128 to a grub_disk_t array.
45129 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45130 `device[x]'.
45131 (grub_raid_scan_device): Replace `device[x].name' accesses with
45132 `device[x]->name'. Simplify initialization of `array->device[x]'.
45133
554f0187 451342008-02-08 Robert Millan <rmh@aybabtu.com>
45135
45136 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45137 grub_dprintf() calls.
45138 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45139 error message.
45140
1ec8425d 451412008-02-07 Christian Franke <franke@computer.org>
45142
45143 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45144 instead of fseek and ftell to support large files.
45145 (grub_hostfs_read): Likewise.
45146
f2156fda 451472008-02-07 Robert Millan <rmh@aybabtu.com>
45148
45149 Patch from Jeroen Dekkers.
45150 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45151 failure, since successfully reading all array members might not be
f2156fda 45152 required.
45153
9216e0e7 451542008-02-06 Robert Millan <rmh@aybabtu.com>
45155
45156 * util/grub-probe.c (probe): Simplify partmap probing (with the
45157 assumption that the first word up to the underscore equals to
45158 the module name).
45159
b0dfd29a 451602008-02-06 Christian Franke <franke@computer.org>
45161
45162 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45163 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45164 last block of a cpio or tar stream.
45165 Check for "TRAILER!!!" instead of any empty data
45166 block to detect last block of a cpio stream.
45167 (grub_cpio_dir): Fix constness of variable np.
45168 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45169 cpio or tar trailer is detected. This fixes a crash
45170 on open of a non existing file.
45171
c32865bf 451722008-02-05 Bean <bean123ch@gmail.com>
45173
45174 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45175 address of entry.
45176 (grub_multiboot_load_elf64): Likewise.
45177 (grub_multiboot): Initialize mbi structure.
45178
45179 * util/grub-fstest.c: Don't include unused header file script.h.
45180
fe6b695a 45181 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45182 of file.
45183 (grub_fstest_SOURCES): Likewise.
45184
409480b7 451852008-02-05 Robert Millan <rmh@aybabtu.com>
45186
45187 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45188 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45189 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45190 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45191
45192 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45193 (translation_table): Replace hardcoded values with macros
45194 provided by `<grub/term.h>'.
45195
45196 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45197 (keyboard_map): Correct/add a few values, with macros provided
45198 by `<grub/term.h>'.
45199 (keyboard_map_shift): Zero values that don't differ from their
45200 `keyboard_map' equivalents.
45201 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45202 Discard the second scan code that is always sent by Caps lock.
45203 Only use `keyboard_map_shift' when it provides a non-zero value,
45204 otherwise fallback to `keyboard_map'.
45205
99fadbaa 452062008-02-04 Bean <bean123ch@gmail.com>
45207
45208 * Makefile.in (enable_grub_fstest): New variable.
45209
45210 * conf/common.rmk (grub_fstest_init.lst): New rule.
45211 (grub_fstest_init.h): Likewise.
45212 (grub_fstest_init.c): Likewise.
45213 (util/grub-fstest.c_DEPENDENCIES): New variable.
45214 (grub_fstest_SOURCES): Likewise.
45215
45216 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45217
45218 * util/grub-fstest.c: New file.
45219
bf567c50 452202008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45221
45222 Make grub-setup handle a separate root device.
f19dbdb7 45223
bf567c50 45224 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45225 so that the root device can be compared with the destination
45226 device.
45227 When embedding the core image, if the root and destination devices
45228 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45229 0xFF.
45230 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45231
9be6b98b 452322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45233
45234 Add support for having a grub directory in a different drive. This
45235 is still only the data handling part.
f19dbdb7 45236
9be6b98b 45237 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45238 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45239 (grub_root_drive): New variable.
45240
45241 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45242 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45243 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45244 as it was.
45245
45246 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45247
45248 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45249 macro.
45250 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45251
45252 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45253 is bogus, because PXE booting does not specify any drive
45254 correctly.
45255
45256 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45257 am not sure if this is really correct.
45258
45259 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45260 is always identical to the boot drive when booting from a CD.
45261
45262 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45263 longer.
45264 (root_drive): New variable.
45265 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45266 (setup_sectors): Push %dx right after popping it, because %dh will
45267 be modified later.
45268 (copy_buffer): Restore %dx.
45269
e0ca0677 452702008-02-03 Robert Millan <rmh@aybabtu.com>
45271
45272 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45273 use `cdboot.img' for cdrom images.
45274
3b3f6629 452752008-02-03 Robert Millan <rmh@aybabtu.com>
45276
45277 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45278 only setup gfxterm when `font' command has succeeded.
45279
d42b3672 452802008-02-03 Robert Millan <rmh@aybabtu.com>
45281
45282 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45283 (grub_rescue_cmd_multiboot_loader)
45284 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45285
fa370ea6 452862008-02-03 Pavel Roskin <proski@gnu.org>
45287
e0c5dacb 45288 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 45289 %edx and %esi from stack only after grub_gate_a20() is called.
45290 grub_gate_a20() clobbers %edx.
45291
f2a76e1d 452922008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45293
45294 * configure.ac (AC_INIT): Bumped to 1.96.
45295
45296 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45297 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45298 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45299 video/readers/png.c.
45300
90fd32d1 453012008-02-03 Bean <bean123ch@gmail.com>
9be665dd 45302
45303 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45304 (cdboot_img_SOURCES): New variable.
45305 (cdboot_img_ASFLAGS): New variable.
45306 (cdboot_img_LDFLAGS): New variable.
45307
45308 * boot/i386/pc/cdboot.S: New file.
45309
45310 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45311 (cd_count): Likewise.
45312 (grub_biosdisk_get_drive): Add support for cd device.
45313 (grub_biosdisk_call_hook): Likewise.
45314 (grub_biosdisk_iterate): Likewise.
45315 (grub_biosdisk_open): Likewise.
45316 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45317 (grub_biosdisk_rw): Support reading from cd device.
45318 (GRUB_MOD_INIT): Iterate cd devices.
45319
45320 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45321 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45322 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45323
45324 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45325
4020aa53 453262008-02-02 Robert Millan <rmh@aybabtu.com>
45327
45328 * commands/read.c: New file.
45329 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45330 (read_mod_SOURCES): New variable.
45331 (read_mod_CFLAGS): Likewise.
45332 (read_mod_LDFLAGS): Likewise.
45333
e03a1132 453342008-02-02 Robert Millan <rmh@aybabtu.com>
45335
45336 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45337 determining whether menu has to be displayed.
45338
58c69220 453392008-02-02 Marco Gerards <marco@gnu.org>
45340
45341 * bus/pci.c: New file.
45342
45343 * include/grub/pci.h: Likewise.
45344
45345 * include/grub/i386/pc/pci.h: Likewise.
45346
45347 * commands/lspci.c: Likewise.
45348
45349 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45350 `lspci.mod'.
45351 (pci_mod_SOURCES): New variable.
45352 (pci_mod_CFLAGS): Likewise.
45353 (pci_mod_LDFLAGS): Likewise.
45354 (lspci_mod_SOURCES): Likewise.
45355 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 45356 (lspci_mod_LDFLAGS): Likewise.
58c69220 45357
c004e1b4 453582008-02-02 Bean <bean123ch@gmail.com>
45359
45360 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45361 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45362
45363 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45364 (grub_xfs_btree_node): New structure.
45365 (grub_xfs_btree_root): New structure.
45366 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45367 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45368 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45369 (GRUB_XFS_EXTENT_SIZE): Likewise.
45370 (grub_xfs_read_block): Support btree format type.
45371 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45372 Use directory block as basic unit.
45373
45374 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45375
45376 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45377 __attribute__ ((__regparm__ (1))).
45378
f95562bf 453792008-02-01 Robert Millan <rmh@aybabtu.com>
45380
45381 Correct a mistake in previous commit.
45382
45383 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45384 top.
45385 (normal/command.c_DEPENDENCIES): New variable.
45386
7d31f41f 453872008-02-01 Robert Millan <rmh@aybabtu.com>
45388
45389 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45390 top.
45391 (normal/command.c_DEPENDENCIES): New variable.
45392 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45393 * conf/i386-ieee1275.rmk: Likewise.
45394 * conf/i386-linuxbios.rmk: Likewise.
45395 * conf/i386-pc.rmk: Likewise.
45396 * conf/sparc64-ieee1275.rmk: Likewise.
45397 * conf/powerpc-ieee1275.rmk: Likewise.
45398 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45399
45400 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45401
60b6be74 454022008-02-01 Robert Millan <rmh@aybabtu.com>
45403
45404 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45405 call at beginning of function.
45406
078522ab 454072008-01-31 Pavel Roskin <proski@gnu.org>
45408
45409 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 45410 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45411 (grub_mkrescue_SOURCES): Likewise.
078522ab 45412 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45413
ccaa8a5f 454142008-01-30 Robert Millan <rmh@aybabtu.com>
45415
45416 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45417 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45418 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45419 (grub_probe_SOURCES): ... to here.
45420
45421 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45422 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45423 * conf/i386-ieee1275.rmk: Likewise.
45424 * conf/i386-linuxbios.rmk: Likewise.
45425 * conf/powerpc-ieee1275.rmk: Likewise.
45426
ae5a9cd7 454272008-01-30 Tristan Gingold <gingold@free.fr>
45428
45429 * kern/rescue.c: Silently accept empty lines.
45430
70bc2ef2 454312008-01-29 Bean <bean123ch@gmail.com>
45432
45433 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45434 (real_code_2): Code cleanup and change comment style.
45435 (move_memory): Avoid using 32-bit address mode.
45436
6a4d50ea 454372008-01-29 Bean <bean123ch@gmail.com>
45438
45439 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45440 (png_mod_SOURCES): New variable.
45441 (png_mod_CFLAGS): Likewise.
45442 (png_mod_LDFLAGS): Likewise.
45443
45444 * video/readers/png.c: New file.
45445
11cc30ac 454462008-01-28 Robert Millan <rmh@aybabtu.com>
45447
45448 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45449 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45450 `ifndef GRUB_MOD_GAP' hack.
45451 * util/elf/grub-mkimage.c (add_segments): Likewise.
45452
3abc589f 454532008-01-27 Robert Millan <rmh@aybabtu.com>
45454
45455 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
45456 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 45457 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 45458
e1907778 454592008-01-27 Robert Millan <rmh@aybabtu.com>
45460
45461 Get grub-emu to build again (including parallel builds).
45462
45463 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
45464 Split into ...
45465 (util/grub-emu.c_DEPENDENCIES): ... this, ...
45466 (normal/execute.c_DEPENDENCIES): ... this, ...
45467 (grub-emu_DEPENDENCIES): ... and this.
45468
45469 * conf/i386-efi.rmk: Likewise.
45470 * conf/i386-linuxbios.rmk: Likewise.
45471 * conf/i386-ieee1275.rmk: Likewise.
45472 * conf/powerpc-ieee1275.rmk: Likewise.
45473 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
45474
2216b101 454752008-01-27 Robert Millan <rmh@aybabtu.com>
45476
45477 * NEWS: Add a few items.
45478
f75172d9 454792008-01-27 Robert Millan <rmh@aybabtu.com>
45480
45481 Fix parallel builds with grub-emu. Based on earlier commit for
45482 grub-probe and grub-setup.
45483
45484 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45485 (util/grub-emu.c_DEPENDENCIES): ... this.
45486 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45487 (util/grub-emu.c_DEPENDENCIES): ... this.
45488 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45489 (util/grub-emu.c_DEPENDENCIES): ... this.
45490 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45491 (util/grub-emu.c_DEPENDENCIES): ... this.
45492 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
45493 (util/grub-emu.c_DEPENDENCIES): ... this.
45494
3f51de77 454952008-01-27 Pavel Roskin <proski@gnu.org>
45496
45497 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
45498 to create a gap between _end and the modules added to the image
45499 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
45500 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
45501 * util/elf/grub-mkimage.c (add_segments): Likewise.
45502
2033f53e 455032008-01-26 Pavel Roskin <proski@gnu.org>
45504
45505 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
45506 just return an error.
45507
22da1f6f 455082008-01-26 Bean <bean123ch@gmail.com>
45509
45510 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
45511 (grub_reiserfs_get_item): Save offset of the next item.
45512 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
45513
2a9525e6 455142008-01-25 Robert Millan <rmh@aybabtu.com>
45515
45516 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
45517 make all filesystem sources appear together (possibly fixing omissions
45518 while at it).
45519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45521 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45523
45524 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
45525 add `kern/file.c'.
45526 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
45527 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45528 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
45529 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
45530
45531 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
45532 (probe): Add a sanity check to make sure of our ability to read
45533 requested files when probing for filesystem type.
45534
45535 * genmk.rb: Update copyright year (2007).
45536
45537 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
45538 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
45539 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
45540 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
45541 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
45542 : Remove function prototypes.
45543
b95f71b5 455442008-01-25 Robert Millan <rmh@aybabtu.com>
45545
45546 Revert my previous commits (based on wrong assumption of how grub_errno
45547 works).
45548
fe6b695a 45549 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 45550 * kern/file.c (grub_file_open): Likewise.
45551
d08bbb49 455522008-01-24 Pavel Roskin <proski@gnu.org>
45553
45554 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
45555 that hang if GRUB tries to setup colors.
45556 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
45557 colors for firmwares that don't support it.
45558 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
45559 Recognize Open Hack'Ware, set flags to work around its
45560 limitations.
45561
605e36ed 455622008-01-24 Robert Millan <rmh@aybabtu.com>
45563
45564 * kern/file.c (grub_file_open): Do not account previous failures of
45565 unrelated functions when grub_errno is checked for.
45566 Reported by Oleg Strikov.
45567
bac332a1 455682008-01-24 Bean <bean123ch@gmail.com>
45569
45570 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
45571 (grub_ufs_sblock): New member volume name.
45572 (grub_ufs_find_file): Fix string copy bug.
45573 (grub_ufs_label): Implement this function properly.
45574
45575 * fs/hfs.c (grub_hfs_cnid_type): New enum.
45576 (grub_hfs_iterate_records): Use the correct file number for extents
45577 and catalog file. Fix problem in next index calculation.
45578 (grub_hfs_find_node): Replace recursive function call with loop.
45579 (grub_hfs_iterate_dir): Replace recursive function call with loop.
45580
15c80c09 455812008-01-23 Robert Millan <rmh@aybabtu.com>
45582
45583 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
45584 `<grub/symbol.h>' and `<grub/multiboot.h>'.
45585 (grub_multiboot2_real_boot): New function prototype.
45586
45587 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
45588 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
45589
45590 * kern/i386/ieee1275/init.c (grub_os_area_addr)
45591 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
45592
305338fd 455932008-01-23 Robert Millan <rmh@aybabtu.com>
45594
45595 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
45596 #ifdef'ed out grub_printf().
45597
3ea52685 455982008-01-23 Robert Millan <rmh@aybabtu.com>
45599
45600 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
45601 grub_dprintf calls, since they make "debug=all" mode unusable.
45602 (grub_console_checkkey): Likewise.
45603
5882ae4b 456042008-01-23 Robert Millan <rmh@aybabtu.com>
45605
45606 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
45607 `term/i386/pc/at_keyboard.c'.
45608 (pkglib_MODULES): Add `serial.mod'.
45609 (serial_mod_SOURCES): New variable.
45610 (serial_mod_CFLAGS): Likewise.
45611 (serial_mod_LDFLAGS): Likewise.
45612
45613 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
45614 `<grub/powerpc/ieee1275/console.h>'.
45615 (grub_keyboard_controller_init): New function prototype.
45616 (grub_console_checkkey): Likewise.
45617 (grub_console_getkey): Likewise.
45618
45619 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
45620 keyboard on i386.
45621
45622 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
45623 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
45624
06ab5303 456252008-01-23 Robert Millan <rmh@aybabtu.com>
45626
45627 * kern/i386/pc/init.c (make_install_device): When memdisk image is
45628 present, "(memdisk)/boot/grub" becomes the default prefix.
45629
45630 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
45631 a memdisk tarball with all the modules. Add --overlay=DIR option that
45632 allows users to overlay additional files into the image.
45633
dbb475a4 456342008-01-23 Robert Millan <rmh@aybabtu.com>
45635
45636 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
45637 and `machine/memory.h'.
45638 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
45639 (_multiboot_mod_SOURCES): New variable.
45640 (_multiboot_mod_CFLAGS): Likewise.
45641 (_multiboot_mod_LDFLAGS): Likewise.
45642 (multiboot_mod_SOURCES): Likewise.
45643 (multiboot_mod_CFLAGS): Likewise.
45644 (multiboot_mod_LDFLAGS): Likewise.
45645
45646 * include/grub/i386/ieee1275/loader.h: New file.
45647
45648 * include/grub/i386/ieee1275/machine.h: Likewise.
45649
45650 * include/grub/i386/ieee1275/memory.h: Likewise.
45651
45652 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
45653 variable declaration.
45654 (grub_os_area_size): Likewise.
45655
45656 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
45657 (grub_lower_mem, grub_upper_mem): New variables.
45658 (grub_stop_floppy): New function (just to make
45659 grub_multiboot2_real_boot() happy).
45660
45661 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
45662 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
45663 (grub_stop): New function.
45664 Include `"../realmode.S"' and `"../loader.S"'.
45665
45666 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
45667 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
45668
45669 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
45670 rely on grub_multiboot2_real_boot() for final boot.
45671
25638629 456722008-01-22 Robert Millan <rmh@aybabtu.com>
45673
45674 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
45675 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
45676 device that doesn't look like an SD card.
45677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45678 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
45679 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
45680 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
45681 found.
45682
9dad816d 456832008-01-22 Robert Millan <rmh@aybabtu.com>
45684
45685 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
45686 avoid claiming over our own code.
45687
34842f2d 456882008-01-22 Bean <bean123ch@gmail.com>
45689
45690 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
45691 (jpeg_mod_SOURCES): New variable.
45692 (jpeg_mod_CFLAGS): Likewise.
45693 (jpeg_mod_LDFLAGS): Likewise.
45694
45695 * video/readers/jpeg.c : New file.
45696
44023a28 456972008-01-22 Bean <bean123ch@gmail.com>
45698
45699 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
45700 there are no more items.
45701
bc2d8ac6 457022008-01-21 Robert Millan <rmh@aybabtu.com>
45703
45704 * kern/mm.c (grub_mm_init_region): Improve debug message.
45705
261bd4bc 457062008-01-21 Robert Millan <rmh@aybabtu.com>
45707
45708 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
45709 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
45710 address.
45711 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
45712 a C macro.
45713 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
45714 Indicates start of upper memory.
45715 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
45716 (generate_image): Abort when image size is big enough to corrupt
45717 upper memory.
45718
45719 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
45720 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
45721 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45722 instead of hardcoding 0xA0000.
45723 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
45724 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
45725 instead of hardcoding 0xA0000.
45726
f970b55e 457272008-01-21 Robert Millan <rmh@aybabtu.com>
45728
45729 * disk/memdisk.c (memdisk_size): New variable.
45730 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
45731 `memdisk_size'.
45732 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
45733 image to dynamic memory.
45734 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
45735 `memdisk_size'. Free memdisk block.
45736
1a8b0526 457372008-01-21 Robert Millan <rmh@aybabtu.com>
45738
45739 Fix detection of very small filesystems (like tar).
45740
45741 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
45742 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
45743 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
45744 a problem with this disk).
45745
6e9b4aab 457462008-01-21 Robert Millan <rmh@aybabtu.com>
45747
45748 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
45749 on grub_biosdisk_rw_standard() error.
45750
0d8837b2 457512008-01-21 Robert Millan <rmh@aybabtu.com>
45752
45753 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
45754 recent changes.
45755 * kern/elf.c: Likewise.
45756 * kern/ieee1275/ieee1275.c: Likewise.
45757 * kern/powerpc/ieee1275/openfw.c: Likewise.
45758 * term/ieee1275/ofconsole.c: Likewise.
45759
ffd36e34 457602008-01-21 Robert Millan <rmh@aybabtu.com>
45761
45762 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
45763
3f0093d0 45764 * include/grub/kernel.h (grub_arch_memdisk_addr)
45765 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 45766
3f0093d0 45767 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
45768 (grub_arch_memdisk_size): ... to here.
ffd36e34 45769
6c391b21 457702008-01-21 Robert Millan <rmh@aybabtu.com>
45771
45772 Mostly based on bugfix from Bean.
45773
45774 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
45775 attribute with hook() parameter.
45776 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
45777 declaration.
45778 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
45779 attribute with hook() parameter.
45780 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
45781 declaration.
45782
55a581dc 457832008-01-21 Robert Millan <rmh@aybabtu.com>
45784
45785 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
45786 (pkglib_MODULES): Add `memdisk.mod'.
45787 (memdisk_mod_SOURCES): New variable.
45788 (memdisk_mod_CFLAGS): Likewise.
45789 (memdisk_mod_LDFLAGS): Likewise.
45790
45791 * disk/memdisk.c: New file.
45792
45793 * include/grub/disk.h (grub_disk_dev_id): Add
45794 `GRUB_DISK_DEVICE_MEMDISK_ID'.
45795
45796 * include/grub/i386/pc/kernel.h
45797 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
45798 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
45799 (grub_kernel_image_size): New variable declaration.
45800 (grub_total_module_size): Likewise.
45801 (grub_memdisk_image_size): Likewise.
45802
45803 * include/grub/i386/pc/memory.h
45804 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
45805
45806 * include/grub/kernel.h: Include `<grub/symbol.h>'.
45807 (grub_arch_memdisk_addr): New variable declaration.
45808 (grub_arch_memdisk_size): Likewise.
45809
45810 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
45811 (grub_arch_memdisk_size): Likewise.
45812
45813 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
45814 (codestart): Replace hardcoded `0x100000' with
45815 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
45816
45817 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
45818 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
45819 not NULL, append the contents of the file it refers to, at the end of
45820 the compressed kernel image. Initialize `grub_memdisk_image_size'
45821 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
45822 (options): Add "memdisk"|'m' option.
45823 (main): Parse --memdisk|-m option, and pass user-provided path as
45824 parameter to generate_image().
45825
3d7f54c9 458262008-01-20 Robert Millan <rmh@aybabtu.com>
45827
45828 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
45829 grub_dprintf() calls from here ...
45830 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
45831
0bf74728 458322008-01-20 Robert Millan <rmh@aybabtu.com>
45833
45834 Fix detection of "real mode" when /options/real-mode? doesn't exist.
45835
45836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
45837 declaration.
45838 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
45839 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
45840 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 45841 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 45842 property).
45843 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
45844 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
45845
33bf70a7 458462008-01-19 Robert Millan <rmh@aybabtu.com>
45847
fe6b695a 45848 Get rid of confusing function (superseded by
33bf70a7 45849 `grub_ieee1275_get_integer_property')
45850 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
45851 prototype.
45852 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
45853 function.
45854 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
45855 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 45856 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 45857
e2da7d26 458582008-01-19 Robert Millan <rmh@aybabtu.com>
45859
45860 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
45861 command after "shut-down", since implementations differ on which
45862 the command for halt is.
45863
59f1fd8d 458642008-01-19 Robert Millan <rmh@aybabtu.com>
45865
45866 * include/grub/i386/linuxbios/console.h: Add header protection.
45867 (grub_keyboard_controller_init): New function prototype.
45868 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
45869 (KEYBOARD_COMMAND_READ): Likewise.
45870 (KEYBOARD_COMMAND_WRITE): Likewise.
45871 (KEYBOARD_SCANCODE_SET1): Likewise.
45872 (grub_keyboard_controller_write): New function.
45873 (grub_keyboard_controller_read): Likewise.
45874 (grub_keyboard_controller_init): Likewise.
45875
45876 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
45877 (grub_console_init): On coreboot/LinuxBIOS, call
45878 grub_keyboard_controller_init().
45879
5f5a7c15 458802008-01-19 Robert Millan <rmh@aybabtu.com>
45881
45882 PowerPC changes provided by Pavel Roskin.
45883
45884 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
45885 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
45886 don't rely on cmain() doing it.
45887 * kern/i386/ieee1275/startup.S (_start): Store %eax in
45888 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
45889
1210e168 458902008-01-16 Robert Millan <rmh@aybabtu.com>
45891
45892 * include/grub/i386/linuxbios/memory.h
45893 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
45894 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
45895 receive `table_header' as argument. Instead, probe for it in the
45896 known memory ranges where it can be present.
45897 (grub_available_iterate): Do not pass a fixed `table_header' address
45898 to grub_linuxbios_table_iterate().
45899
3d04eab8 459002008-01-15 Robert Millan <rmh@aybabtu.com>
45901
45902 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
45903 * conf/i386-ieee1275.rmk: New file.
45904 * include/grub/i386/ieee1275/console.h: Likewise.
45905 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
45906 * include/grub/i386/ieee1275/kernel.h: Likewise.
45907 * include/grub/i386/ieee1275/time.h: Likewise.
45908 * kern/i386/ieee1275/init.c: Likewise.
45909 * kern/i386/ieee1275/startup.S: Likewise.
45910
d1bc1b73 459112008-01-15 Robert Millan <rmh@aybabtu.com>
45912
45913 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
45914 when pointers are 32-bit (but still do set it to one when they are
45915 64-bit).
45916
66a65807 459172008-01-15 Robert Millan <rmh@aybabtu.com>
45918
45919 * include/grub/ieee1275/ieee1275.h
45920 (grub_ieee1275_get_integer_property): New function prototype.
45921
45922 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
45923 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 45924 grub_ieee1275_get_property() to handle endianness.
66a65807 45925
45926 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
45927 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 45928 where appropriate.
66a65807 45929 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
45930 (grub_map): Likewise.
45931 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
45932
a83ccafd 459332008-01-15 Bean <bean123ch@gmail.com>
45934
45935 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
45936 (grub_script_execute_cmdline): Reset grub_errno.
45937
45938 * normal/main.c (read_config_file): Reset grub_errno.
45939
45940 * normal/parse.y (script_init): New.
45941 (script): Move function and menuentry here.
45942 (delimiter): New.
45943 (command): Add delimiter at the end of command.
45944 (commands): Adjust to match the new command.
45945 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 45946 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 45947 (if): Use the new commands.
45948
45949 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
45950
df6ecfc6 459512008-01-15 Robert Millan <rmh@aybabtu.com>
45952
45953 * normal/menu.c (run_menu): Move timeout message from here ...
45954 (print_timeout): ... to here.
45955 (run_menu): Use print_timeout() once during initial draw to print
45956 the whole message, and again in every clock tick to update only
45957 the number of seconds.
45958
87ae25eb 459592008-01-15 Robert Millan <rmh@aybabtu.com>
45960
45961 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
45962 actual size of `available' from grub_ieee1275_get_property(), and
45963 restrict parsing to that bound.
45964
47bf09a4 459652008-01-15 Christian Franke <franke@computer.org>
45966
45967 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
45968 (argp_program_version): Remove variable.
45969 (argp_program_bug_address): Likewise.
45970 (options): Convert from struct argp_option to struct option.
45971 (struct arguments): Remove.
45972 (parse_opt): Remove.
45973 (usage): New function.
45974 (main): Replace struct args members by simple variables.
45975 Replace argp_parse() by getopt_long().
45976 Add switch to evaluate options.
45977 Add missing "(...)" around root_dev in prefix string.
45978
c86f1469 459792008-01-14 Robert Millan <rmh@aybabtu.com>
45980
45981 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
45982 for grub_ieee1275_exit(), in order to improve portability.
45983
e622c559 459842008-01-14 Robert Millan <rmh@aybabtu.com>
45985
45986 * util/grub.d/10_linux.in (prefix): Define.
45987 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
45988
44cb1ec8 459892008-01-13 Pavel Roskin <proski@gnu.org>
45990
45991 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
45992 grub_errno if no errors have been detected.
45993
1eb8c802 459942008-01-12 Robert Millan <rmh@aybabtu.com>
45995
45996 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
45997 (grub_util_get_dev_abstraction): New function prototype.
45998
45999 * util/getroot.c: Include `<grub/util/getroot.h>'
46000 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46001 (grub_util_get_dev_abstraction): ... here (new function).
46002
46003 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46004 `PRINT_ABSTRACTION'.
46005 (probe): Probe for abstraction type when requested.
46006 (main): Understand `--target=abstraction'.
46007
46008 * util/i386/efi/grub-install.in: Add abstraction module to core
46009 image when it is found to be necessary.
46010 * util/i386/pc/grub-install.in: Likewise.
46011 * util/powerpc/ieee1275/grub-install.in: Likewise.
46012
46013 * util/update-grub_lib.in (font_path): Return system path without
46014 converting to GRUB path.
46015 * util/update-grub.in: Convert system path returned by font_path()
46016 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46017 abstraction module is needed for loading fonts (if any). Export
46018 that as `GRUB_PRELOAD_MODULES'.
46019 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46020 insmod commands).
46021
52bd3de9 460222008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46023
46024 Remove some unused code from reiserfs.
f19dbdb7 46025
52bd3de9 46026 * fs/reiserfs.c (struct grub_reiserfs_key)
46027 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46028 (struct grub_reiserfs_node_body): Removed.
46029 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46030 Likewise.
46031 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46032 Likewise.
46033 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46034 Likewise.
46035 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46036 Likewise.
46037 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46038 Likewise.
46039 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46040 Likewise.
46041 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46042 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46043 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46044
2f80039d 460452008-01-10 Robert Millan <rmh@aybabtu.com>
46046
46047 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46048 Determines if a file is garbage left by packaging systems, etc.
46049 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46050 for processing /etc/grub.d scripts.
46051 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46052 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46053 as a condition for processing Linux images.
46054
87888032 460552008-01-10 Pavel Roskin <proski@gnu.org>
46056
46057 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46058 to compile reiserfs.c on PowerPC.
46059
7e54fced 460602008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 46061
46062 * kern/device.c (grub_device_iterate): Do not abort device iteration
46063 when one of the devices cannot be opened.
46064 * kern/disk.c (grub_disk_open): Do not account previous failures of
46065 unrelated functions when grub_errno is checked for.
46066
5aa541e6 460672008-01-08 Robert Millan <rmh@aybabtu.com>
46068
46069 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46070 `! grub_linux_is_bzimage', change order of address comparison to make
46071 it more intuitive, and improve "too big zImage" error message.
46072
7076340d 460732008-01-08 Robert Millan <rmh@aybabtu.com>
46074
46075 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46076 `$(update-grub_DATA)'.
46077 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46078 targets.
46079
9ca70333 460802008-01-07 Robert Millan <rmh@aybabtu.com>
46081
46082 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46083 which instruction is modified by grub-setup during installation
46084 (since it wasn't obvious by only looking at this file).
46085
38ccf575 460862008-01-07 Robert Millan <rmh@aybabtu.com>
46087
46088 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46089 listing actual TODO items.
46090
f5db4291 460912008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46092
868967cf 46093 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46094 correctly.
46095 (grub_reiserfs_get_key_offset): Likewise.
46096 (grub_reiserfs_set_key_offset): Likewise.
46097 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 46098 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 46099
46100 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46101 better to remove the bitfield version completely.
f19dbdb7 46102
868967cf 461032008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46104
f5db4291 46105 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46106 allocated from the heap, due to the fshelp implementation.
46107 (grub_reiserfs_dir): Free NODE, due to the same reason.
46108
492e6d9d 461092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46110
46111 Mostly from Vincent Pelletier:
f19dbdb7 46112
492e6d9d 46113 * fs/reiserfs.c: New file.
f19dbdb7 46114
492e6d9d 46115 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46116 (reiserfs_mod_SOURCES): New variable.
46117 (reiserfs_mod_CFLAGS): Likewise.
46118 (reiserfs_mod_LDFLAGS): Likewise.
46119
46120 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46121 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46122 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46123 normal/color.c.
46124
9ce3e7c1 461252008-01-06 Robert Millan <rmh@aybabtu.com>
46126
46127 * normal/color.c: Remove `<grub/env.h>'.
46128
f3b58148 461292008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46130
46131 * include/grub/normal.h: Include <grub/env.h>.
46132
7ac3bcfa 461332008-01-05 Robert Millan <rmh@aybabtu.com>
46134
46135 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46136 usage example with `(hd0,1)'.
fb358190 46137 Reported by Samuel Thibault.
7ac3bcfa 46138
c8ee99d7 461392008-01-05 Robert Millan <rmh@aybabtu.com>
46140
46141 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46142 (grub_linux_boot_zimage): Rename to ...
46143 (grub_linux_boot): ... this.
46144 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46145 (grub_linux_boot_zimage): Conditionalize zImage copy.
46146
46147 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46148 (grub_linux_boot_bzimage): Remove prototype.
46149 (grub_linux_boot_zimage): Rename to ...
46150 (grub_linux_boot): ... this.
46151
46152 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46153 (grub_linux_boot): Remove function.
46154
0ece25b1 461552008-01-05 Robert Millan <rmh@aybabtu.com>
46156
46157 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46158 (grub_env_write_color_highlight): Likewise.
46159 (grub_wait_after_message): Likewise.
46160
46161 * normal/color.c: New file.
46162
46163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46164 (normal_mod_DEPENDENCIES): Likewise.
46165
46166 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46167 (normal_mod_DEPENDENCIES): Likewise.
46168
46169 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46170 (normal_mod_DEPENDENCIES): Likewise.
46171
46172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46173 (normal_mod_DEPENDENCIES): Likewise.
46174
46175 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46176 for waiting after a message is printed.
46177 * normal/main.c (read_config_file): Likewise.
46178 (grub_normal_init): Register grub_env_write_color_normal() and
46179 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46180 `color_highlight' variables as global.
46181
46182 * normal/menu.c (grub_wait_after_message): New function.
46183 (grub_color_menu_normal): New variable. Replaces ...
46184 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46185 (grub_color_menu_highlight): New variable. Replaces ...
46186 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46187 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46188 `GRUB_TERM_COLOR_STANDARD'.
46189 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46190 `normal_code' and `highlight_code' to `old_color_normal' and
46191 `old_color_highlight', respectively.
46192 (grub_menu_init_page): Update colors when drawing the menu, based on
46193 `menu_color_normal' and `menu_color_highlight' variables.
46194 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46195 a message is printed.
46196
182dd4e5 461972008-01-05 Robert Millan <rmh@aybabtu.com>
46198
46199 * kern/env.c (grub_env_context_open): Propagate hooks for global
46200 variables to new context.
46201
46202 * kern/main.c (grub_set_root_dev): Export `root' variable.
46203
ddf8f6ad 462042008-01-05 Robert Millan <rmh@aybabtu.com>
46205
46206 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46207 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46208 them.
46209
d8b43d9b 462102008-01-05 Robert Millan <rmh@aybabtu.com>
46211
46212 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46213
2bff2de3 462142008-01-04 Christian Franke <franke@computer.org>
46215
46216 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46217 of eisa_mmap.
46218
97eab917 462192008-01-03 Pavel Roskin <proski@gnu.org>
46220
46221 * kern/i386/linuxbios/init.c: Put "void" to all function
46222 declarations with no arguments.
46223 * kern/powerpc/ieee1275/init.c: Likewise.
46224 * term/i386/pc/at_keyboard.c: Likewise.
46225 * term/i386/pc/vga_text.c: Likewise.
46226 * util/grub-mkdevicemap.c: Likewise.
46227
b9416d00 462282008-01-02 Robert Millan <rmh@aybabtu.com>
46229
46230 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46231 message when loaded image is out of bounds.
46232 (grub_multiboot_load_elf64): Likewise.
46233
92695df9 462342008-01-02 Pavel Roskin <proski@gnu.org>
46235
46236 * util/grub.d/10_linux.in: Try version without ".old" when
46237 looking for initrd. It's better to use initrd from the newer
46238 kernel of the same version than no initrd at all.
46239
d98d9cad 462402008-01-01 Robert Millan <rmh@aybabtu.com>
46241
46242 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46243
dbfdce36 462442008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46245
f19dbdb7 46246 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46247 grub_video_get_active_render_target.
46248 (grub_video_adapter): Added unmap_color and get_active_render_target.
46249
f19dbdb7 46250 * video/video.c: Added grub_video_unmap_color and
dbfdce36 46251 grub_video_get_active_render_target.
46252 (grub_video_get_info): Changed method to accept NULL pointer as an
46253 argument to allow detection of active video adapter.
46254
46255 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46256 grub_video_vbe_unmap_color_int.
46257 Added grub_video_vbe_unmap_color and
46258 grub_video_vbe_get_active_render_target.
46259 (grub_video_vbe_adapter): Added unmap_color and
46260 get_active_render_target.
46261
f19dbdb7 46262 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 46263 with grub_video_vbe_unmap_color_int.
46264
46265 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46266 (DEFAULT_NORMAL_COLOR): Likewise.
46267 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46268 (DEFAULT_FG_COLOR): Removed.
46269 (DEFAULT_BG_COLOR): Likewise.
46270 (DEFAULT_CURSOR_COLOR): Changed value.
46271 (grub_virtual_screen): Added standard_color_setting,
46272 normal_color_setting, highlight_color_setting and term_color.
46273 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46274 (bitmap_width): Added.
46275 (bitmap_height): Likewise.
46276 (bitmap): Likewise.
46277 (set_term_color): Likewise.
46278 (grub_virtual_screen_setup): Changed to use new terminal coloring
46279 settings.
46280 (grub_gfxterm_init): Added init for bitmap.
46281 (grub_gfxterm_fini): Added destroy for bitmap.
46282 (redraw_screen_rect): Updated to use background bitmap and new
46283 terminal coloring.
46284 (scroll_up): Added optimization for case when there is no bitmap.
46285 (grub_gfxterm_cls): Fixed to use correct background color.
46286 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46287 coloring.
46288 (grub_virtual_screen_setcolor): Likewise.
46289 (grub_virtual_screen_getcolor): Added.
46290 (grub_gfxterm_background_image_cmd): Likewise.
46291 (grub_video_term): Added setcolor and getcolor.
46292 (MOD_INIT): Added registration of background_image command.
46293 (MOD_TERM): Added unregistration for background_image command.
46294
c3c20931 462952007-12-30 Pavel Roskin <proski@gnu.org>
46296
46297 * loader/multiboot_loader.c: Fix multiboot command
46298 unregistration. Fix all typos in the word "multiboot".
46299
df266716 463002007-12-29 Pavel Roskin <proski@gnu.org>
94239199 46301
46302 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46303 support for initrd names used in Fedora.
46304
fc6e896c 463052007-12-26 Bean <bean123ch@gmail.com>
46306
46307 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46308 (cpio_mod_SOURCES): New variable.
46309 (cpio_mod_CFLAGS): Likewise.
46310 (cpio_mod_LDFLAGS): Likewise.
46311
46312 * fs/cpio.c: New file.
46313
46314 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46315
46316 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46317
46318 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46319
46320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46321
533110ad 463222007-12-25 Robert Millan <rmh@aybabtu.com>
46323
46324 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46325 (grub_getcolor): New function.
46326
46327 * kern/term.c (grub_getcolor): New function.
46328 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46329 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46330 (print_entry): Set normal and highlight colors to
46331 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46332 respectively, before printing and restore them to old
46333 values afterwards.
46334 (grub_menu_init_page): Likewise. Fill an additional colored space
46335 that would otherwise be left blank.
46336
46337 * term/efi/console.c (grub_console_getcolor): New function.
46338 (struct grub_console_term.getcolor): New variable.
46339 * term/i386/pc/console.c (grub_console_getcolor): New function.
46340 (struct grub_console_term.getcolor): New variable.
46341 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46342 (struct grub_console_term.getcolor): New variable.
46343
46344 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46345 (struct grub_console_term.setcolor): Remove variable.
46346 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46347 (struct grub_console_term.setcolor): Remove variable.
46348 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46349 (struct grub_console_term.setcolor): Remove variable.
46350 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46351 (struct grub_console_term.setcolor): Remove variable.
46352
4931827f 463532007-12-25 Robert Millan <rmh@aybabtu.com>
46354
46355 * configure.ac: Search for possible unifont.hex locations, and
46356 define UNIFONT_HEX if found.
46357
46358 * Makefile.in (UNIFONT_HEX): Define variable.
46359 (DATA): Rename to ...
46360 (PKGLIB): ... this. Update all users.
46361 (PKGDATA): New variable.
46362 (pkgdata_IMAGES): Rename to ...
46363 (pkglib_IMAGES): ... this. Update all users.
46364 (pkgdata_MODULES): Rename to ...
46365 (pkglib_MODULES): ... this. Update all users.
46366 (pkgdata_PROGRAMS): Rename to ...
46367 (pkglib_PROGRAMS): ... this. Update all users.
46368 (pkgdata_DATA): Rename to ...
46369 (pkglib_DATA): ... this. Update all users.
46370 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46371 (unicode.pff, ascii.pff): New rules.
46372 (all-local): Add `$(PKGDATA)' dependency.
46373 (install-local): Process `$(PKGDATA)'.
46374
46375 * util/update-grub_lib.in (font_path): Search for *.pff files in
46376 a few more locations, including `${pkgdata}'.
46377
57e57e31 463782007-12-23 Robert Millan <rmh@aybabtu.com>
46379
46380 Patch from Bean <bean123ch@gmail.com>:
46381 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46382 `size'.
46383
4bc72aa9 463842007-12-21 Bean <bean123ch@gmail.com>
46385
46386 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46387 (ntfscomp_mod_SOURCES): New variable.
46388 (ntfscomp_mod_CFLAGS): Likewise.
46389 (ntfscomp_mod_LDFLAGS): Likewise.
46390
46391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46392 (grub_probe_SOURCES): Likewise.
46393 (grub_emu_SOURCES): Likewise.
46394
46395 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46396 (grub_emu_SOURCES): Likewise.
46397
46398 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46399 (grub_emu_SOURCES): Likewise.
46400
46401 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46402 (grub_emu_SOURCES): Likewise.
46403
46404 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46405 (read_run_list): Renamed to grub_ntfs_read_run_list.
46406 (decomp_nextvcn): Moved to ntfscomp.c.
46407 (decomp_getch): Likewise.
46408 (decomp_get16): Likewise.
46409 (decomp_block): Likewise.
46410 (read_block): Likewise.
46411 (read_data): Partially moved to ntfscomp.c.
46412 (fixup): Change unsigned to grub_uint16_t.
46413 (read_mft): Change unsigned long to grub_uint32_t.
46414 (read_attr): Likewise.
46415 (read_data): Likewise.
46416 (read_run_data): Likewise.
46417 (read_run_list): Likewise.
46418 (read_mft): Likewise.
46419
46420 * fs/ntfscomp.c: New file.
46421
46422 * include/grub/ntfs.h: New file.
46423
af680a87 464242007-12-16 Robert Millan <rmh@aybabtu.com>
46425
46426 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46427 IDE disk check, since Linux is known to support 20 IDE disks.
46428 Reported by Colin Watson.
46429
84be7599 464302007-12-15 Bean <bean123ch@gmail.com>
46431
46432 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46433 (lnxboot_img_SOURCES): New variable.
46434 (lnxboot_img_ASFLAGS): Likewise.
46435 (lnxboot_img_LDFLAGS): Likewise.
46436
46437 * boot/i386/pc/lnxboot.S: New file.
46438
6af9db01 464392007-11-24 Pavel Roskin <proski@gnu.org>
46440
46441 * configure.ac: Test if '--build-id=none' is supported by the
46442 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46443 objcopy to generate incorrect binary files (binutils
46444 2.17.50.0.18-1 as shipped by Fedora 8).
46445 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46446 linking, so that build ID doesn't break the test.
46447
7361cfe6 464482007-11-24 Pavel Roskin <proski@gnu.org>
46449
46450 * include/grub/i386/time.h: use "void" in the argument list
46451 of grub_cpu_idle().
46452 * include/grub/powerpc/time.h: Likewise.
46453 * include/grub/sparc64/time.h: Likewise.
46454
1593e10c 464552007-11-18 Christian Franke <franke@computer.org>
46456
46457 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
46458 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
46459 This fixes the problem that function keys did not work in grub-emu.
46460
3b8db1a8 464612007-11-18 Christian Franke <franke@computer.org>
46462
46463 * disk/host.c (grub_host_open): Remove attribute unused from
46464 name parameter. Add check for "host". This fixes the problem
46465 that grub-emu does not find partitions.
46466
2e29408d 464672007-11-18 Christian Franke <franke@computer.org>
46468
46469 * util/hostfs.c (is_dir): New function.
46470 (grub_hostfs_dir): Handle missing dirent.d_type case.
46471 (grub_hostfs_read): Add missing fseek().
46472 (grub_hostfs_label): Clear label pointer. This fixes a crash
46473 of grub-emu on "ls (host)".
46474
398cd047 464752007-11-18 Christian Franke <franke@computer.org>
46476
46477 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
46478 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
46479 to 64 bit boundary by default.
46480
c405c391 464812007-11-18 Bean <bean123ch@gmail.com>
46482
46483 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
46484 (hexdump_mod_SOURCES): New variable.
46485 (hexdump_mod_CFLAGS): Likewise.
46486 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 46487
c405c391 46488 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46489
46490 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46491
46492 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46493
46494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
46495
46496 * include/grub/hexdump.h: New file.
46497
46498 * commands/hexdump.c: New file.
46499
5cced7fd 465002007-11-10 Robert Millan <rmh@aybabtu.com>
46501
46502 * commands/i386/pc/play.c (beep_off): Switch order of arguments
46503 in grub_outb() calls.
46504 (beep_on): Likewise.
46505
8b714eb0 465062007-11-10 Christian Franke <franke@computer.org>
46507
46508 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
46509 (grub_menu_run): Likewise.
46510
ce0f1839 465112007-11-10 Robert Millan <rmh@aybabtu.com>
46512
46513 * include/grub/i386/efi/machine.h: New file.
46514 * include/grub/i386/linuxbios/machine.h: Likewise.
46515 * include/grub/i386/pc/machine.h: Likewise.
46516 * include/grub/powerpc/ieee1275/machine.h: Likewise.
46517 * include/grub/sparc64/ieee1275/machine.h: Likewise.
46518
46519 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
46520 (serial_hw_io_addr): New variable.
46521 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
46522 instead of `(unsigned short *) 0x400'.
46523
270c237d 465242007-11-10 Bean <bean123ch@gmail.com>
46525
46526 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
46527
a87783bf 465282007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46529
46530 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
46531 (vga_mod_SOURCES): Added.
46532 (vga_mod_CFLAGS): Likewise.
46533 (vga_mod_LDFLAGS): Likewise.
46534
46535 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
46536 grub_outb() calls.
46537 (set_map_mask): Likewise.
46538 (set_read_map): Likewise.
46539 (set_read_address): Likewise.
46540 (vga_font): Removed variable.
46541 (get_vga_glyph): Removed function.
46542 (invalidate_char): Likewise.
46543 (write_char): Changed to use grub_font_get_glyph() for font
46544 information.
46545 (grub_vga_putchar): Likewise.
46546 (grub_vga_getcharwidth): Likewise.
46547
6433b448 465482007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
46549
46550 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
46551 flags.
46552 (pxeboot_img_LDFLAGS): Likewise.
46553 (diskboot_img_LDFLAGS): Likewise.
46554 (kernel_img_LDFLAGS): Likewise.
46555
49178511 465562007-11-06 Robert Millan <rmh@aybabtu.com>
46557
46558 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
46559 in grub_outb() calls.
46560 (serial_hw_init): Likewise.
46561
53b052de 465622007-11-05 Robert Millan <rmh@aybabtu.com>
46563
46564 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
46565 spaces. Skip non-regular files.
46566
5ab33bba 465672007-11-05 Robert Millan <rmh@aybabtu.com>
46568
46569 * kern/disk.c (grub_disk_firmware_fini)
46570 (grub_disk_firmware_is_tainted): New variables.
46571
46572 * include/grub/disk.h (grub_disk_firmware_fini)
46573 (grub_disk_firmware_is_tainted): Likewise.
46574
46575 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
46576 (grub_disk_biosdisk_fini): ... to here.
46577 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
46578 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
46579 is set. Register grub_disk_biosdisk_fini() in
46580 `grub_disk_firmware_fini'.
46581
46582 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
46583 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
46584 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
46585 to finish existing firmware disk interface.
46586
46587 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
46588 (ata_mod_SOURCES): New variable.
46589 (ata_mod_CFLAGS): Likewise.
46590 (ata_mod_LDFLAGS): Likewise.
46591
0149ab7c 465922007-11-05 Robert Millan <rmh@aybabtu.com>
46593
46594 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
46595 (grub_ata_wait): Reimplement using grub_millisleep().
46596
46597 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
46598 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
46599
be7ac41e 466002007-11-03 Marco Gerards <marco@gnu.org>
46601
46602 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
46603 (CRTC_ADDR_PORT): New macro.
46604 (CRTC_DATA_PORT): Likewise.
46605 (CRTC_CURSOR): Likewise.
46606 (CRTC_CURSOR_ADDR_HIGH): Likewise.
46607 (CRTC_CURSOR_ADDR_LOW): Likewise.
46608 (update_cursor): New function.
46609 (grub_console_real_putchar): Call `update_cursor'.
46610 (grub_console_gotoxy): Likewise.
46611 (grub_console_cls): Set the default color when clearing the
46612 screen.
46613 (grub_console_setcursor): Implemented.
46614
bb06ab2e 466152007-11-03 Marco Gerards <marco@gnu.org>
46616
46617 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
46618 become activate.
46619 (grub_ata_pio_write): Likewise.
46620
46621 (grub_atapi_identify): Wait after issuing an ATA command.
46622 (grub_atapi_packet): Likewise.
46623 (grub_ata_identify): Likewise.
46624 (grub_ata_readwrite): Likewise.
46625
cf8f780b 466262007-11-03 Marco Gerards <marco@gnu.org>
46627
46628 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
46629 (grub_ata_pio_write): Likewise.
46630 (grub_ata_readwrite): Use `grub_error', instead of
46631 returning `grub_errno'.
46632
ed649e54 466332007-11-03 Marco Gerards <marco@gnu.org>
46634
46635 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
46636 grub_ata_pio_write once for every single sector, instead of for
46637 multiple sectors.
46638
ca25d8f0 466392007-10-31 Robert Millan <rmh@aybabtu.com>
46640
46641 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
46642
46643 * conf/i386-linuxbios.rmk: New file.
46644
46645 * kern/i386/pc/hardware.c: Likewise.
46646 * term/i386/pc/at_keyboard.c: Likewise.
46647 * term/i386/pc/vga_text.c: Likewise.
46648
46649 * include/grub/i386/linuxbios/boot.h: Likewise.
46650 * include/grub/i386/linuxbios/console.h: Likewise.
46651 * include/grub/i386/linuxbios/init.h: Likewise.
46652 * include/grub/i386/linuxbios/kernel.h: Likewise.
46653 * include/grub/i386/linuxbios/loader.h: Likewise.
46654 * include/grub/i386/linuxbios/memory.h: Likewise.
46655 * include/grub/i386/linuxbios/serial.h: Likewise.
46656 * include/grub/i386/linuxbios/time.h: Likewise.
46657
46658 * kern/i386/linuxbios/init.c: Likewise.
46659 * kern/i386/linuxbios/startup.S: Likewise.
46660 * kern/i386/linuxbios/table.c: Likewise.
46661
e911ecc1 466622007-10-31 Marco Gerards <marco@gnu.org>
46663
46664 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
46665 (ata_mod_SOURCES): New variable.
46666 (ata_mod_CFLAGS): Likewise.
46667 (ata_mod_LDFLAGS): Likewise.
46668
46669 * disk/ata.c: New file.
46670
46671 * include/grub/disk.h (grub_disk_dev_id): Add
46672 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 46673
7f66d0e0 466742007-10-31 Robert Millan <rmh@aybabtu.com>
46675
46676 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
46677 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
46678
46679 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
46680 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
46681
46682 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
46683 `<grub/types.h>'.
46684
46685 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
46686
5cd7dd46 466872007-10-27 Robert Millan <rmh@aybabtu.com>
46688
3236ca65 46689 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 46690
2ebfc90f 466912007-10-22 Robert Millan <rmh@aybabtu.com>
46692
46693 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
46694 `"../realmode.S"'.
46695 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
46696
73fcb0f3 466972007-10-22 Robert Millan <rmh@aybabtu.com>
46698
46699 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
46700 (pkgdata_MODULES): Add `biosdisk.mod'.
46701 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
46702 variables.
46703
46704 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
46705 (grub_biosdisk_init): Replace with ...
46706 (GRUB_MOD_INIT(biosdisk)): ... this.
46707 (grub_biosdisk_fini): Replace with ...
46708 (GRUB_MOD_FINI(biosdisk)): ... this.
46709
46710 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
46711 (grub_machine_init): Remove call to grub_biosdisk_init().
46712 (grub_machine_fini): Remove call to grub_machine_fini().
46713
46714 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
46715
3381d274 467162007-10-22 Robert Millan <rmh@aybabtu.com>
46717
46718 * include/grub/time.h: New file.
46719 * include/grub/i386/time.h: Likewise.
46720 * include/grub/powerpc/time.h: Likewise.
46721 * include/grub/sparc64/time.h: Likewise.
46722
46723 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
46724 instances to ...
46725 (KERNEL_MACHINE_TIME_HEADER): ... this.
46726 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46727 instances to ...
46728 (KERNEL_MACHINE_TIME_HEADER): ... this.
46729 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
46730 instances to ...
46731 (KERNEL_MACHINE_TIME_HEADER): ... this.
46732
46733 * kern/i386/efi/init.c: Include `<grub/time.h>'.
46734 (grub_millisleep): New function.
46735 * kern/i386/pc/init.c: Include `<grub/time.h>'.
46736 (grub_millisleep): New function.
46737 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
46738 Remove `grub/machine/time.h' include.
46739 (grub_millisleep): New function.
46740 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
46741 Remove `grub/machine/time.h' include.
46742 (grub_millisleep): New function.
46743
46744 * include/grub/misc.h (grub_div_roundup): New function.
46745
46746 * kern/misc.c: Include `<grub/time.h>'.
46747 (grub_millisleep_generic): New function.
46748
46749 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
46750 Add `time.h'.
46751 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
46752 Add `time.h'.
46753 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
46754 `machine/time.h'. Add `time.h'.
46755 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46756
a39a0312 467572007-10-21 Robert Millan <rmh@aybabtu.com>
46758
46759 * include/grub/misc.h (grub_max): New function.
46760
2aad70e2 467612007-10-21 Robert Millan <rmh@aybabtu.com>
46762
46763 * util/misc.c (grub_util_info): Call fflush() before returning.
46764
54b71c4b 467652007-10-20 Robert Millan <rmh@aybabtu.com>
46766
46767 * genmk.rb (Image): Copy `extra_flags' from here ...
46768 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
46769
46770 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
46771 to `argc' and `args' arguments.
46772
a979f513 467732007-10-17 Robert Millan <rmh@aybabtu.com>
46774
46775 * kern/i386/loader.S: New file.
46776
46777 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
46778 * kern/i386/loader.S (grub_linux_prot_size)... to here.
46779 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
46780 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
46781 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
46782 * kern/i386/loader.S (grub_linux_real_addr)... to here.
46783 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
46784 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
46785 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
46786 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
46787 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
46788 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
46789 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
46790 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
46791
46792 * kern/i386/realmode.S: New file.
46793
46794 * kern/i386/pc/startup.S (protstack): Moved from here ...
46795 * kern/i386/realmode.S (protstack)... to here.
46796 * kern/i386/pc/startup.S (gdt): Moved from here ...
46797 * kern/i386/realmode.S (gdt)... to here.
46798 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
46799 * kern/i386/realmode.S (prot_to_real)... to here.
46800
46801 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
46802 `kern/i386/realmode.S'.
46803
825fc8fd 468042007-10-17 Robert Millan <rmh@aybabtu.com>
46805
46806 * include/grub/i386/loader.h: New file.
46807
46808 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
46809 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46810 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46811 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46812 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
46813 * include/grub/i386/loader.h (grub_linux_prot_size)
46814 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
46815 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
46816 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
46817 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
46818
46819 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
46820
e179b2f4 468212007-10-15 Robert Millan <rmh@aybabtu.com>
46822
46823 * normal/misc.c (grub_normal_print_device_info): Do not probe for
46824 filesystem when dev->disk is unset.
46825 Do probe for filesystem even when dev->disk->has_partitions is set.
46826 In case a filesystem is found, always report it.
46827 In case it isn't, if dev->disk->has_partitions is set, report that
46828 a partition table was found instead of reporting that no filesystem
46829 could be identified.
46830
5db82af6 468312007-10-12 Robert Millan <rmh@aybabtu.com>
46832
46833 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
46834 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
46835
68f6ac74 46836 * include/grub/types.h (grub_host_to_target16): New macro.
46837 (grub_host_to_target32): Likewise.
46838 (grub_host_to_target64): Likewise.
46839 (grub_target_to_host16): Likewise.
46840 (grub_target_to_host32): Likewise.
46841 (grub_target_to_host64): Likewise.
5db82af6 46842
46843 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46844 Renamed from to ...
46845 (GRUB_MOD_ALIGN): ...this. Update all users.
46846
68f6ac74 46847 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
46848 grub_host_to_target32.
46849 Replace grub_be_to_cpu32 with grub_target_to_host32.
46850 (load_modules): Likewise.
46851 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
46852 Replace grub_be_to_cpu32 with grub_target_to_host32.
46853 Replace grub_cpu_to_be16 with grub_host_to_target16.
46854 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 46855
3cf497cc 468562007-10-12 Robert Millan <rmh@aybabtu.com>
46857
46858 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
46859 * util/elf/grub-mkimage.c: ... here.
46860
46861 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
46862 `util/powerpc/ieee1275/grub-mkimage.c'.
46863
c8cc3692 468642007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 46865
c8cc3692 46866 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
46867 and make it easier to figure out.
46868 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
46869 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
46870 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
46871 leave us with less than HEAP_MIN_SIZE total heap.
46872 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 46873
5c58b791 468742007-10-03 Robert Millan <rmh@aybabtu.com>
46875
46876 * include/grub/i386/io.h: New file.
46877 * commands/i386/pc/play.c (inb): Removed.
46878 (outb): Removed.
46879 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46880 with grub_outb().
afcd2ef8 46881 * term/i386/pc/serial.c (inb): Removed.
46882 (outb): Removed.
46883 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46884 with grub_outb().
46885 * term/i386/pc/vga.c (inb): Removed.
46886 (outb): Removed.
46887 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
46888 with grub_outb().
5c58b791 46889
1a477ed6 468902007-10-02 Robert Millan <rmh@aybabtu.com>
46891
46892 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
46893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46894 Reported by Marcin Kurek.
46895
6b5d80fa 468962007-09-07 Robert Millan <rmh@aybabtu.com>
46897
46898 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
46899 SmartFirmware version updates (as released by Sven Luther), and avoid
46900 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
46901 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
46902 known broken.
46903
5618afbf 469042007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46905
46906 From Hitoshi Ozeki:
46907 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
46908 when merging two regions.
46909
6139dcd9 469102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46911
508e39ee 46912 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
46913 * normal/completion.c (grub_normal_do_completion): Likewise.
46914 Reported by Hitoshi Ozeki.
46915
469162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46917
6139dcd9 46918 Do not use devices at boot in chainloading.
f19dbdb7 46919
6139dcd9 46920 * loader/i386/pc/chainloader.c (boot_drive): New variable.
46921 (boot_part_addr): Likewise.
46922 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
46923 with BOOT_DRIVE and BOOT_PART_ADDR.
46924 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
46925 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
46926
38da6516 469272007-08-29 Robert Millan <rmh@aybabtu.com>
46928
46929 Patch from Simon Peter <dn.tlp@gmx.net>:
46930 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
46931 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
46932 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
46933 util/i386/pc/grub-setup.c_DEPENDENCIES.
46934 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
46935 util/grub-probe.c_DEPENDENCIES.
46936 * conf/powerpc-ieee1275.rmk: Likewise.
46937
29d0928c 469382007-08-28 Robert Millan <rmh@aybabtu.com>
46939
46940 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
46941 to tell grub-mkdevicemap how to name devices.
46942 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
46943 feature).
46944
46945 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
46946 util/i386/get_disk_name.c.
46947 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
46948 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
46949 util/ieee1275/get_disk_name.c.
46950
46951 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
46952
46953 * DISTLIST: Add util/i386/get_disk_name.c and
46954 util/ieee1275/get_disk_name.c.
46955
46956 * util/grub-mkdevicemap.c: Replace device naming logic with
46957 grub_util_get_disk_name() calls.
46958
5a0d3cca 469592007-08-20 Robert Millan <rmh@aybabtu.com>
46960
46961 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
46962 (so that it works for both plural and singular quantities).
46963
8b72db2f 469642007-08-05 Robert Millan <rmh@aybabtu.com>
46965
46966 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
46967 so that [xz] isn't taken into account when determining order.
46968
352466bf 469692007-08-02 Marco Gerards <marco@gnu.org>
46970
46971 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
46972 `include/multiboot2.h', `include/grub/elfload.h',
46973 `include/multiboot.h', `include/grub/multiboot.h',
46974 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
46975 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
46976 `kern/elf.c', `loader/multiboot_loader.c',
46977 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
46978 `loader/i386/pc/multiboot2.c',
46979 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
46980 `util/i386/pc/grub-mkrescue.in'. Remove
46981 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
46982 `include/grub/i386/pc/util/biosdisk.h' and
46983 `include/grub/powerpc/ieee1275/multiboot.h'.
46984
8f096014 469852007-08-02 Bean <bean123ch@gmail.com>
46986
46987 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
46988 (ntfs_mod_SOURCES): New variable.
46989 (ntfs_mod_CFLAGS): Likewise.
46990 (ntfs_mod_LDFLAGS): Likewise.
46991
46992 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
46993 (grub_probe_SOURCES): Likewise.
46994 (grub_emu_SOURCES): Likewise.
46995
46996 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
46997 (grub_emu_SOURCES): Likewise.
46998
46999 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47000 (grub_emu_SOURCES): Likewise.
f19dbdb7 47001
8f096014 47002 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47003
47004 * fs/ntfs.c: New file.
47005
9959f7db 470062007-08-02 Bean <bean123ch@gmail.com>
47007
47008 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47009
47010 * file.h (grub_file): Likewise.
47011
47012 * fshelp.h (grub_fshelp_read_file): Likewise.
47013
47014 * util/i386/pc/grub-setup.c (setup): Likewise.
47015 (save_first_sector): Likewise.
47016 (save_blocklists): Likewise.
f19dbdb7 47017
9959f7db 47018 * fs/affs.c (grub_affs_read_file): Likewise.
47019
47020 * fs/ext2.c (grub_ext2_read_file): Likewise.
47021
47022 * fs/fat.c (grub_fat_read_data): Likewise.
47023
47024 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47025
47026 * fs/hfs.c (grub_hfs_read_file): Likewise.
47027
47028 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47029
47030 * fs/jfs.c (grub_jfs_read_file): Likewise.
47031
47032 * fs/minix.c (grub_minix_read_file): Likewise.
47033
47034 * fs/sfs.c (grub_sfs_read_file): Likewise.
47035
47036 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 47037
9959f7db 47038 * fs/xfs.c (grub_xfs_read_file): Likewise.
47039
47040 * command/blocklist.c (read_blocklist): Likewise.
47041 (print_blocklist): Likewise.
47042
0a203f83 470432007-08-02 Marco Gerards <marco@gnu.org>
47044
47045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47046 `util/hostfs.c'.
47047
47048 * disk/host.c: New file.
47049
47050 * util/hostfs.c: Likewise.
47051
47052 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47053 return `GRUB_ERR_BAD_FS'.
47054 * fs/sfs.c (grub_sfs_mount): Likewise.
47055 * fs/xfs.c (grub_xfs_mount): Likewise.
47056
47057 * include/grub/disk.h (enum grub_disk_dev_id): Add
47058 `GRUB_DISK_DEVICE_HOST_ID'.
47059
47060 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47061
e5dfe777 470622007-07-24 Jerone Young <jerone@gmail.com>
47063
f19dbdb7 47064 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 47065 modules for compilation.
47066 * conf/powerpc-ieee1275.rmk: Likewise.
47067
47068 * include/multiboot.h: Move multiboot definitions to one file. Rename
47069 many definitions to not get grub specific.
47070 * include/multiboot2.h: Create header with multiboot 2 definitions.
47071 * include/grub/multiboot.h: Header for grub specific function
47072 prototypes and definitions.
47073 * include/grub/multiboot2.h: Likewise.
47074 * include/grub/multiboot_loader.h: Likewise.
47075 * include/grub/i386/pc/multiboot.h: Removed.
47076 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47077
47078 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47079 and 2 to allow for one multiboot and module commands.
47080 * loader/multiboot2.c: Add multiboot2 functionality.
47081 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47082 and definition names.
47083 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47084 2 functions.
47085 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47086 ieee1275 specific multiboot2 code.
47087
47088 * kern/i386/pc/startup.S: Change headers and definition names for
47089 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47090
daf0f0ba 470912007-07-22 Robert Millan <rmh@aybabtu.com>
47092
47093 * geninitheader.sh: Process file specified in first parameter rather
47094 than hardcoding grub_modules_init.lst.
fe6b695a 47095 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 47096 than hardcoding grub_modules_init.h.
47097
47098 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47099 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47100 grub_probe_init.[ch] and grub_setup_init.[ch].
47101
47102 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47103 grub_modules_init.h with grub_emu_init.h.
47104 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47105 grub_probe_init.[ch] files.
47106 * conf/i386-efi.rmk: Likewise.
47107 * conf/i386-pc.rmk: Likewise.
47108 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47109 grub_setup_init.[ch] files.
47110
47111 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47112 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47113 to initialize modules rather than a list of hardcoded functions.
47114 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47115 grub_init_all() to initialize modules rather than a list of hardcoded
47116 functions.
47117
54cdc1cc 471182007-07-22 Robert Millan <rmh@aybabtu.com>
47119
47120 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47121 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47122
ad0686cc 471232007-07-22 Robert Millan <rmh@aybabtu.com>
47124
47125 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47126 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47127 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47128 flag when running on SmartFirmware.
47129 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47130 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47131 was set.
47132
47133 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47134 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47135 rather than decreasing it.
47136
47137 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47138 there's not enough space to do it, fail in the same way as when it
47139 can't be done because there are no partitions.
47140
47141 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47142 when nvsetenv failed.
47143
969c02ec 471442007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47145
47146 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47147 because this rule is automatically generated.
47148 (grub-mkrescue): Removed for the same reason as above.
47149
5a79f472 471502007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47151
47152 Migrate to GNU General Public License Version 3.
f19dbdb7 47153
5a79f472 47154 * COPYING: Replaced with the plain text version of GPLv3.
47155
47156 * config.guess: Updated from gnulib.
47157 * config.sub: Likewise.
47158
47159 * geninit.sh: Output a GPLv3 copyright notice.
47160 * geninitheader.sh: Likewise.
47161 * genmodsrc.sh: Likewise.
47162 * gensymlist.sh.in: Likewise.
47163
47164 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47165 * boot/i386/pc/diskboot.S: Likewise.
47166 * boot/i386/pc/pxeboot.S: Likewise.
47167 * commands/blocklist.c: Likewise.
47168 * commands/boot.c: Likewise.
47169 * commands/cat.c: Likewise.
47170 * commands/cmp.c: Likewise.
47171 * commands/configfile.c: Likewise.
47172 * commands/echo.c: Likewise.
47173 * commands/help.c: Likewise.
47174 * commands/ls.c: Likewise.
47175 * commands/search.c: Likewise.
47176 * commands/terminal.c: Likewise.
47177 * commands/test.c: Likewise.
47178 * commands/videotest.c: Likewise.
47179 * commands/i386/cpuid.c: Likewise.
47180 * commands/i386/pc/halt.c: Likewise.
47181 * commands/i386/pc/play.c: Likewise.
47182 * commands/i386/pc/reboot.c: Likewise.
47183 * commands/i386/pc/vbeinfo.c: Likewise.
47184 * commands/i386/pc/vbetest.c: Likewise.
47185 * commands/ieee1275/halt.c: Likewise.
47186 * commands/ieee1275/reboot.c: Likewise.
47187 * commands/ieee1275/suspend.c: Likewise.
47188 * disk/loopback.c: Likewise.
47189 * disk/lvm.c: Likewise.
47190 * disk/raid.c: Likewise.
47191 * disk/efi/efidisk.c: Likewise.
47192 * disk/i386/pc/biosdisk.c: Likewise.
47193 * disk/ieee1275/ofdisk.c: Likewise.
47194 * font/manager.c: Likewise.
47195 * fs/affs.c: Likewise.
47196 * fs/ext2.c: Likewise.
47197 * fs/fat.c: Likewise.
47198 * fs/fshelp.c: Likewise.
47199 * fs/hfs.c: Likewise.
47200 * fs/hfsplus.c: Likewise.
47201 * fs/iso9660.c: Likewise.
47202 * fs/jfs.c: Likewise.
47203 * fs/minix.c: Likewise.
47204 * fs/sfs.c: Likewise.
47205 * fs/ufs.c: Likewise.
47206 * fs/xfs.c: Likewise.
47207 * hello/hello.c: Likewise.
47208 * include/grub/acorn_filecore.h: Likewise.
47209 * include/grub/arg.h: Likewise.
47210 * include/grub/bitmap.h: Likewise.
47211 * include/grub/boot.h: Likewise.
47212 * include/grub/cache.h: Likewise.
47213 * include/grub/device.h: Likewise.
47214 * include/grub/disk.h: Likewise.
47215 * include/grub/dl.h: Likewise.
47216 * include/grub/elfload.h: Likewise.
47217 * include/grub/env.h: Likewise.
47218 * include/grub/err.h: Likewise.
47219 * include/grub/file.h: Likewise.
47220 * include/grub/font.h: Likewise.
47221 * include/grub/fs.h: Likewise.
47222 * include/grub/fshelp.h: Likewise.
47223 * include/grub/gzio.h: Likewise.
47224 * include/grub/hfs.h: Likewise.
47225 * include/grub/kernel.h: Likewise.
47226 * include/grub/loader.h: Likewise.
47227 * include/grub/lvm.h: Likewise.
47228 * include/grub/misc.h: Likewise.
47229 * include/grub/mm.h: Likewise.
47230 * include/grub/net.h: Likewise.
47231 * include/grub/normal.h: Likewise.
47232 * include/grub/parser.h: Likewise.
47233 * include/grub/partition.h: Likewise.
47234 * include/grub/pc_partition.h: Likewise.
47235 * include/grub/raid.h: Likewise.
47236 * include/grub/rescue.h: Likewise.
47237 * include/grub/script.h: Likewise.
47238 * include/grub/setjmp.h: Likewise.
47239 * include/grub/symbol.h: Likewise.
47240 * include/grub/term.h: Likewise.
47241 * include/grub/terminfo.h: Likewise.
47242 * include/grub/tparm.h: Likewise.
47243 * include/grub/types.h: Likewise.
47244 * include/grub/video.h: Likewise.
47245 * include/grub/efi/api.h: Likewise.
47246 * include/grub/efi/chainloader.h: Likewise.
47247 * include/grub/efi/console.h: Likewise.
47248 * include/grub/efi/console_control.h: Likewise.
47249 * include/grub/efi/disk.h: Likewise.
47250 * include/grub/efi/efi.h: Likewise.
47251 * include/grub/efi/pe32.h: Likewise.
47252 * include/grub/efi/time.h: Likewise.
47253 * include/grub/i386/linux.h: Likewise.
47254 * include/grub/i386/setjmp.h: Likewise.
47255 * include/grub/i386/types.h: Likewise.
47256 * include/grub/i386/efi/kernel.h: Likewise.
47257 * include/grub/i386/efi/loader.h: Likewise.
47258 * include/grub/i386/efi/time.h: Likewise.
47259 * include/grub/i386/pc/biosdisk.h: Likewise.
47260 * include/grub/i386/pc/boot.h: Likewise.
47261 * include/grub/i386/pc/chainloader.h: Likewise.
47262 * include/grub/i386/pc/console.h: Likewise.
47263 * include/grub/i386/pc/init.h: Likewise.
47264 * include/grub/i386/pc/kernel.h: Likewise.
47265 * include/grub/i386/pc/loader.h: Likewise.
47266 * include/grub/i386/pc/memory.h: Likewise.
47267 * include/grub/i386/pc/multiboot.h: Likewise.
47268 * include/grub/i386/pc/serial.h: Likewise.
47269 * include/grub/i386/pc/time.h: Likewise.
47270 * include/grub/i386/pc/vbe.h: Likewise.
47271 * include/grub/i386/pc/vbeblit.h: Likewise.
47272 * include/grub/i386/pc/vbefill.h: Likewise.
47273 * include/grub/i386/pc/vbeutil.h: Likewise.
47274 * include/grub/i386/pc/vga.h: Likewise.
47275 * include/grub/ieee1275/ieee1275.h: Likewise.
47276 * include/grub/ieee1275/ofdisk.h: Likewise.
47277 * include/grub/powerpc/libgcc.h: Likewise.
47278 * include/grub/powerpc/setjmp.h: Likewise.
47279 * include/grub/powerpc/types.h: Likewise.
47280 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47281 * include/grub/powerpc/ieee1275/console.h: Likewise.
47282 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47283 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47284 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47285 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47286 * include/grub/powerpc/ieee1275/time.h: Likewise.
47287 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47288 * include/grub/sparc64/libgcc.h: Likewise.
47289 * include/grub/sparc64/setjmp.h: Likewise.
47290 * include/grub/sparc64/types.h: Likewise.
47291 * include/grub/sparc64/ieee1275/console.h: Likewise.
47292 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47293 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47294 * include/grub/sparc64/ieee1275/time.h: Likewise.
47295 * include/grub/util/biosdisk.h: Likewise.
47296 * include/grub/util/getroot.h: Likewise.
47297 * include/grub/util/lvm.h: Likewise.
47298 * include/grub/util/misc.h: Likewise.
47299 * include/grub/util/raid.h: Likewise.
47300 * include/grub/util/resolve.h: Likewise.
47301 * io/gzio.c: Likewise.
47302 * kern/device.c: Likewise.
47303 * kern/disk.c: Likewise.
47304 * kern/dl.c: Likewise.
47305 * kern/elf.c: Likewise.
47306 * kern/env.c: Likewise.
47307 * kern/err.c: Likewise.
47308 * kern/file.c: Likewise.
47309 * kern/fs.c: Likewise.
47310 * kern/loader.c: Likewise.
47311 * kern/main.c: Likewise.
47312 * kern/misc.c: Likewise.
47313 * kern/mm.c: Likewise.
47314 * kern/parser.c: Likewise.
47315 * kern/partition.c: Likewise.
47316 * kern/rescue.c: Likewise.
47317 * kern/term.c: Likewise.
47318 * kern/efi/efi.c: Likewise.
47319 * kern/efi/init.c: Likewise.
47320 * kern/efi/mm.c: Likewise.
47321 * kern/i386/dl.c: Likewise.
47322 * kern/i386/efi/init.c: Likewise.
47323 * kern/i386/efi/startup.S: Likewise.
47324 * kern/i386/pc/init.c: Likewise.
47325 * kern/i386/pc/lzo1x.S: Likewise.
47326 * kern/i386/pc/startup.S: Likewise.
47327 * kern/ieee1275/ieee1275.c: Likewise.
47328 * kern/powerpc/cache.S: Likewise.
47329 * kern/powerpc/dl.c: Likewise.
47330 * kern/powerpc/ieee1275/cmain.c: Likewise.
47331 * kern/powerpc/ieee1275/crt0.S: Likewise.
47332 * kern/powerpc/ieee1275/init.c: Likewise.
47333 * kern/powerpc/ieee1275/openfw.c: Likewise.
47334 * kern/sparc64/cache.S: Likewise.
47335 * kern/sparc64/dl.c: Likewise.
47336 * kern/sparc64/ieee1275/init.c: Likewise.
47337 * kern/sparc64/ieee1275/openfw.c: Likewise.
47338 * loader/efi/chainloader.c: Likewise.
47339 * loader/efi/chainloader_normal.c: Likewise.
47340 * loader/i386/efi/linux.c: Likewise.
47341 * loader/i386/efi/linux_normal.c: Likewise.
47342 * loader/i386/pc/chainloader.c: Likewise.
47343 * loader/i386/pc/chainloader_normal.c: Likewise.
47344 * loader/i386/pc/linux.c: Likewise.
47345 * loader/i386/pc/linux_normal.c: Likewise.
47346 * loader/i386/pc/multiboot.c: Likewise.
47347 * loader/i386/pc/multiboot_normal.c: Likewise.
47348 * loader/powerpc/ieee1275/linux.c: Likewise.
47349 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47350 * normal/arg.c: Likewise.
47351 * normal/cmdline.c: Likewise.
47352 * normal/command.c: Likewise.
47353 * normal/completion.c: Likewise.
47354 * normal/execute.c: Likewise.
47355 * normal/function.c: Likewise.
47356 * normal/lexer.c: Likewise.
47357 * normal/main.c: Likewise.
47358 * normal/menu.c: Likewise.
47359 * normal/menu_entry.c: Likewise.
47360 * normal/misc.c: Likewise.
47361 * normal/parser.y: Likewise.
47362 * normal/script.c: Likewise.
47363 * normal/i386/setjmp.S: Likewise.
47364 * normal/powerpc/setjmp.S: Likewise.
47365 * normal/sparc64/setjmp.S: Likewise.
47366 * partmap/acorn.c: Likewise.
47367 * partmap/amiga.c: Likewise.
47368 * partmap/apple.c: Likewise.
47369 * partmap/gpt.c: Likewise.
47370 * partmap/pc.c: Likewise.
47371 * partmap/sun.c: Likewise.
47372 * term/gfxterm.c: Likewise.
47373 * term/terminfo.c: Likewise.
47374 * term/efi/console.c: Likewise.
47375 * term/i386/pc/console.c: Likewise.
47376 * term/i386/pc/serial.c: Likewise.
47377 * term/i386/pc/vesafb.c: Likewise.
47378 * term/i386/pc/vga.c: Likewise.
47379 * term/ieee1275/ofconsole.c: Likewise.
47380 * util/biosdisk.c: Likewise.
47381 * util/console.c: Likewise.
47382 * util/genmoddep.c: Likewise.
47383 * util/getroot.c: Likewise.
47384 * util/grub-emu.c: Likewise.
47385 * util/grub-mkdevicemap.c: Likewise.
47386 * util/grub-probe.c: Likewise.
47387 * util/lvm.c: Likewise.
47388 * util/misc.c: Likewise.
47389 * util/raid.c: Likewise.
47390 * util/resolve.c: Likewise.
47391 * util/update-grub.in: Likewise.
47392 * util/update-grub_lib.in: Likewise.
47393 * util/grub.d/00_header.in: Likewise.
47394 * util/grub.d/10_hurd.in: Likewise.
47395 * util/grub.d/10_linux.in: Likewise.
47396 * util/i386/efi/grub-install.in: Likewise.
47397 * util/i386/efi/grub-mkimage.c: Likewise.
47398 * util/i386/pc/grub-install.in: Likewise.
47399 * util/i386/pc/grub-mkimage.c: Likewise.
47400 * util/i386/pc/grub-mkrescue.in: Likewise.
47401 * util/i386/pc/grub-setup.c: Likewise.
47402 * util/i386/pc/misc.c: Likewise.
47403 * util/powerpc/ieee1275/grub-install.in: Likewise.
47404 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47405 * util/powerpc/ieee1275/misc.c: Likewise.
47406 * video/bitmap.c: Likewise.
47407 * video/video.c: Likewise.
47408 * video/i386/pc/vbe.c: Likewise.
47409 * video/i386/pc/vbeblit.c: Likewise.
47410 * video/i386/pc/vbefill.c: Likewise.
47411 * video/i386/pc/vbeutil.c: Likewise.
47412 * video/readers/tga.c: Likewise.
47413
3572d015 474142007-07-02 Robert Millan <rmh@aybabtu.com>
47415
47416 * conf/i386-efi.rmk: Replace obsolete reference to
47417 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47418 with util/getroot.c.
47419 * conf/powerpc-ieee1275.rmk: Likewise.
47420 * conf/sparc64-ieee1275.rmk: Likewise.
47421
47422 * util/grub-emu.c (main): Fix unchecked pointer handling.
47423
2c2a681b 474242007-07-02 Robert Millan <rmh@aybabtu.com>
47425
47426 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47427 invocation to fail, in order to support partition-less media.
47428
47429 * util/i386/pc/grub-install.in: Likewise.
47430
47431 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47432 which fs or partmap modules are needed (akin to its sister scripts).
47433
47434 Also use grub-probe to get rid of unportable /proc/mounts check.
47435
47436 Print the same informational message that the other scripts do, before
fe6b695a 47437 exiting.
2c2a681b 47438
6193defe 474392007-06-23 Robert Millan <rmh@aybabtu.com>
47440
fe6b695a 47441 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 47442 a font file can be found and, if so, echo the GRUB path to it.
47443
47444 * util/update-grub.in: Handle multiple terminals depending on user
47445 input, platform availability and font file presence. Propagate
47446 variables of our findings to /etc/grub.d/ children.
47447
47448 * util/grub.d/00_header.in: Handle multiple terminals, based on
47449 environment setup by update-grub.
47450
eface1dc 474512007-06-23 Robert Millan <rmh@aybabtu.com>
47452
ba50d28f 47453 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 47454
bf697e28 474552007-06-21 Robert Millan <rmh@aybabtu.com>
47456
47457 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
47458 indicate end of data section in kernel image.
47459 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
47460 GRUB_KERNEL_MACHINE_DATA_END.
47461
47462 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
47463 space for it.
47464 * kern/i386/efi/startup.S: Likewise.
47465
47466 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
47467 during image generation. Implement --prefix option to override this
47468 patch.
47469 * util/i386/efi/grub-mkimage.c: Likewise.
47470
47471 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
47472 code to make path relative to its root into a separate function.
47473
47474 * util/i386/pc/grub-install.in: Use newly provided
47475 make_system_path_relative_to_its_root() to convert ${grubdir}, then
47476 pass the result to grub-install --prefix.
47477
baa574b4 474782007-06-13 Robert Millan <rmh@aybabtu.com>
47479
47480 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
47481 DEFAULT_DEVICE_MAP.
47482 * util/grub-emu.c: Use above definitions from misc.h instead of
47483 defining them.
47484 * util/grub-mkdevicemap.c: Likewise.
47485 * util/i386/pc/grub-setup.c: Likewise.
47486 * util/grub-probe.c: Likewise.
47487 (probe): Abort with grub_util_error() when either
47488 grub_guess_root_device or grub_util_get_grub_dev fails.
47489
0215dcbf 474902007-06-12 Robert Millan <rmh@aybabtu.com>
47491
47492 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
47493 "pager" assignment.
47494 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
47495 "pcdata".
47496 * util/grub-probe.c (probe): Likewise for "drive_name".
47497
8af2ab7b 474982007-06-11 Robert Millan <rmh@aybabtu.com>
47499
47500 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
47501 not just the cdrom one.
47502
59d31694 475032007-06-11 Robert Millan <rmh@aybabtu.com>
47504
47505 * util/i386/pc/grub-mkrescue.in: Add "set -e".
47506 Add --pkglibdir=DIR option to override pkglibdir.
47507 Mention --image-type=TYPE in help output.
47508 Fix --grub-mkimage (it was a no-op).
fe6b695a 47509 Abort gracefully when no parameter is given.
59d31694 47510
7ee367e4 475112007-06-11 Robert Millan <rmh@aybabtu.com>
47512
47513 * util/i386/pc/grub-mkrescue.in: New file.
47514 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
47515 * Makefile.in: Handle bin_SCRIPTS.
47516
29b0ed46 475172007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
47518
47519 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
47520 list of video modes.
47521
c0f90770 475222007-06-06 Robert Millan <rmh@aybabtu.com>
47523
47524 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
47525 file doesn't exist, or if it is in a filesystem grub can't read.
47526
47527 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
47528 not abort if GRUB_DRIVE could not be defined. Rearrange generated
47529 header comment to fit in 80 columns when the variables are resolved.
47530
47531 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
47532 could be identified by update-grub. Remove redundant check for
fe6b695a 47533 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 47534 handles that).
47535
fb36dc26 475362007-06-04 Robert Millan <rmh@aybabtu.com>
47537
47538 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
47539
47540 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
47541
47542 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
47543
0c68c93e 475442007-06-04 Robert Millan <rmh@aybabtu.com>
47545
47546 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
47547
47548 * include/grub/partition.h: Declare grub_apple_partition_map_init and
47549 grub_apple_partition_map_fini.
47550
47551 * util/biosdisk.c
47552 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
47553 to access >2 TiB disks).
47554
47555 Print disk->total_sectors with %llu instead of %lu, since this
47556 variable is always 64-bit (prevents wrong disk size from being displayed
47557 on either >2 TiB disk or big-endian CPU).
47558
47559 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
47560 into a generic case that supports all (sane) partition maps.
47561
47562 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
47563 breaks big-endian.
47564
47565 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
47566 and grub_apple_partition_map_fini() after that.
47567
0f23eb74 475682007-06-01 Robert Millan <rmh@aybabtu.com>
47569
47570 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
47571
47572 * util/grub.d/00_header.in: Only enable gfxterm when
47573 convert_system_path_to_grub_path() succeeds.
47574
42c71976 475752007-05-20 Robert Millan <rmh@aybabtu.com>
47576
47577 * util/update-grub_lib.in: New file.
47578 * DISTLIST: Add update-grub_lib.in.
47579 * conf/common.rmk: Generate update-grub_lib and install it in
47580 $(lib_DATA).
47581 * Makefile.in: Add install routine for $(lib_DATA).
47582
47583 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
47584 function provided by update-grub_lib to support arbitrary paths of
47585 unifont.pff.
47586 * util/update-grub.in: Use convert_system_path_to_grub_path() to
47587 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
47588
5beb2291 475892007-05-19 Robert Millan <rmh@aybabtu.com>
47590
47591 * commands/i386/cpuid.c: New module.
47592 * DISTLIST: Add it.
47593 * conf/i386-efi.rmk: Enable cpuid.mod.
47594 * conf/i386-pc.rmk: Likewise.
47595
7262eca1 475962007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47597
47598 * kern/disk.c (grub_disk_read): Check return value of
47599 grub_realloc().
47600
260ba823 476012007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
47602
47603 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
47604 arrays.
47605 * disk/raid.c (grub_raid_open): Likewise.
47606
1ecb6cf2 476072007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47608
47609 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
47610 stack instead of on the heap.
47611
47612 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
47613 before doing a read on it.
47614
47615 * configure.ac: Only use -fno-stack-protector for the target
47616 environment.
f19dbdb7 47617
21c8cbb1 476182007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
47619
47620 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
47621 __attribute_ ((unused)) to mode_type argument.
47622
47623 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 47624
21c8cbb1 47625 * kern/misc.c (memcmp): Fix prototype.
47626
47627 * include/grub/partition.h [GRUB_UTIL]
47628 (grub_gpt_partition_map_init): Add prototype.
47629 (grub_gpt_partition_map_fini): Likewise.
47630
47631 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
47632 at the right place.
47633
47634 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
47635 (grub_fat_read_data): Likewise.
47636 (grub_fat_find_dir): Likewise.
47637
47638 * font/manager.c (find_glyph): Make table a const.
47639 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 47640
849d55d3 476412007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
47642
47643 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
47644 code, first search for device in /dev/mapper, then in /dev.
47645 (grub_util_get_grub_dev): New function.
47646 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
47647 prototype.
47648 * util/grub-probe.c (probe): Remove check for RAID, call
47649 grub_util_get_grub_dev() instead of
47650 grub_util_biosdisk_get_grub_dev().
47651 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
47652 grub_util_biosdisk_get_grub_dev().
47653 * util/i386/pc/grub-setup.c (main): Likewise.
47654
8fff7c2f 476552007-05-16 Robert Millan <rmh@aybabtu.com>
47656
47657 * DISTLIST: Update for the latest changes.
47658 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
47659 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
47660 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
47661 grub/util/biosdisk.h.
47662 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
47663 grub/util/biosdisk.h.
47664
48e12b52 476652007-05-16 Robert Millan <rmh@aybabtu.com>
47666
47667 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
47668
46b9d128 476692007-05-16 Robert Millan <rmh@aybabtu.com>
47670
47671 * util/i386/efi/grub-install.in: New.
47672 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
47673 newly added grub-install.
47674 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
47675 include.
47676 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
47677 grub/util/biosdisk.h.
47678 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
47679 grub/util/biosdisk.h.
47680
2d1a40a9 476812007-05-16 Robert Millan <rmh@aybabtu.com>
47682
47683 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
47684 * include/grub/util/biosdisk.h: ... here.
47685 * util/i386/pc/biosdisk.c: Moved to ...
47686 * util/biosdisk.c: ... here.
47687 * util/i386/pc/getroot.c: Moved to ...
47688 * util/getroot.c: ... here.
47689 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
47690 * util/grub-mkdevicemap.c: ... here.
47691 * util/i386/pc/grub-probe.c: Moved to ...
47692 * util/grub-probe.c: ... here.
47693
9e26e3bc 476942007-05-15 Robert Millan <rmh@aybabtu.com>
47695
47696 * util/update-grub.in: Remove duplicated line in grub.cfg header
47697 message.
47698
57f96397 476992007-05-13 Robert Millan <rmh@aybabtu.com>
47700
47701 * util/update-grub.in: Fix a few assumptions about the devices holding
47702 /, /boot and /boot/grub being the same.
47703 * util/grub.d/00_header.in: Likewise.
47704 * util/grub.d/10_hurd.in: Likewise.
47705 * util/grub.d/10_linux.in: Likewise.
47706
47707 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
47708 patterns. Use that to define the `.old' suffix as older than `'.
47709
47710 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
47711
47712 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
47713 the grub.cfg header message.
47714
2e610d62 477152007-05-11 Robert Millan <rmh@aybabtu.com>
47716
47717 * util/update-grub.in: Create device.map if it doesn't already exist,
47718 before attempting to run grub-probe.
47719 Check for grub-probe and grub-mkdevicemap with the same code
47720 grub-install is using.
47721 Remove test mode.
47722
3f6a10ef 477232007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
47724
47725 * Makefile.in: Add the datarootdir autoconf variable.
47726
02e7b75e 477272007-05-09 Robert Millan <rmh@aybabtu.com>
47728
47729 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 47730 fail gracefully if dev->disk->partition == NULL.
02e7b75e 47731
75f396cc 477322007-05-07 Robert Millan <rmh@aybabtu.com>
47733
47734 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
47735 determine partition map module.
47736 * util/i386/pc/grub-install.in: Use this feature to decide which
47737 partition module to load, instead of hardcoding pc and gpt.
47738
da65cb36 477392007-05-07 Robert Millan <rmh@aybabtu.com>
47740
47741 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
47742 source directory differs from build directory.
47743
b57d6a91 477442007-05-05 Robert Millan <rmh@aybabtu.com>
47745
47746 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
47747 initialisation.
47748
509d00f1 477492007-05-05 Robert Millan <rmh@aybabtu.com>
47750
47751 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
47752
c48f23ef 477532007-05-05 Robert Millan <rmh@aybabtu.com>
47754
47755 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
47756 command-line arguments via ${GRUB_CMDLINE_LINUX}.
47757
20b97658 477582007-05-05 Robert Millan <rmh@aybabtu.com>
47759
47760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
47761 (grub_probe_SOURCES): Likewise.
47762 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
47763 GPT and initialize dos_part and bsd_part accordingly.
47764 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
47765 install_bsd_part.
47766 (main): Activate gpt module for use during partition identification,
47767 and deactivate it afterwards.
47768 * util/i386/pc/grub-install.in: Add gpt module to core.img.
47769 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
47770 partition identification, and deactivate it afterwards.
47771
99123174 477722007-05-05 Robert Millan <rmh@aybabtu.com>
47773
47774 * term/i386/pc/console.c (grub_console_fini): Call
47775 grub_term_set_current() before grub_term_unregister().
47776
ebd97f6e 477772007-05-04 Robert Millan <rmh@aybabtu.com>
47778
47779 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
47780 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
47781 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
47782 and update-grub_DATA.
47783 * conf/common.rmk: Build and install update-grub components.
47784 * conf/common.mk: Regenerate.
47785 * util/update-grub.in: New. Core of update-grub.
47786 * util/grub.d/00_header.in: New. Generates grub.cfg header.
47787 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
47788 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
47789 * util/grub.d/README: New. Document grub.d directory layout.
47790
b06a264d 477912007-05-01 Robert Millan <rmh@aybabtu.com>
47792
47793 * util/grub-emu.c: Move initialization functions
47794 grub_util_biosdisk_init() and grub_init_all() before
47795 grub_util_biosdisk_get_grub_dev(), which relies on them.
47796
41f0050e 477972007-04-19 Robert Millan <rmh@aybabtu.com>
47798
47799 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
47800 it is used later.
47801
04582bb3 478022007-04-18 Jerone Young <jerone@gmail.com>
47803
f19dbdb7 47804 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 47805 stanza.
47806
08db4632 478072007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 47808
08db4632 47809 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
47810 continue on and look for device node with real device name.
47811
801b76be 478122007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 47813
fe6b695a 47814 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 47815 ability.
47816 * Makefile.in: Add autoconf package transformation code.
47817 * util/i386/pc/grub-install.in: Likewise.
47818 * util/powerpc/ieee1275/grub-install.in: Likewise.
47819
6795c4e1 478202007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47821
47822 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
47823 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
47824 (EXT2_REVISION): Likewise.
47825 (EXT2_INODE_SIZE): Likewise.
47826 (struct grub_ext2_block_group): Added a missing member
47827 "used_dirs".
47828 (grub_ext2_read_inode): Divide by the inode size in a superblock
47829 instead of 128 to obtain INODES_PER_BLOCK.
47830 Use the macro EXT2_INODE_SIZE instead of directly using
47831 SBLOCK->INODE_SIZE.
47832
d70af616 478332007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47834
47835 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
47836 superblock instead of the structure size to compute an
47837 offset. This fixes the problem that GRUB could not read a
47838 filesystem when inode size is different from 128-byte.
47839
3b801603 478402007-03-05 Marco Gerards <marco@gnu.org>
47841
47842 * normal/main.c (read_config_file): When "menu" is not set, create
47843 an initial context.
47844
4785bfe4 478452007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47846
47847 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
47848 (HEAP_LIMIT): New macro.
47849 (grub_claim_heap): Claim memory up to `heaplimit'.
47850
a0cbb023 478512007-02-21 Hollis Blanchard <hollis@penguinppc.org>
47852
47853 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
47854 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
47855 (_start): Likewise.
47856 (grub_arch_modules_addr): Return address after `_end'.
47857 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
47858 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
47859 (add_segments): Calculate `_end' from phdr size and location.
47860 (ALIGN_UP): Moved to ...
47861 * include/grub/misc.h: here.
47862 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47863 New macro.
47864 (GRUB_IEEE1275_MODULE_BASE): Removed.
47865
fd7d8eba 478662007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47867
47868 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
47869 loop boundary.
47870
9b09e6fc 478712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47872
47873 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
47874 All users updated.
47875 (grub_elf64_load_hook_t): Likewise.
47876 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
47877 debug output.
47878
3ce27299 478792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
47880
47881 * kern/mm.c: Update copyright.
47882 (grub_mm_debug): Correct syntax error.
47883 (grub_mm_dump_free): New function.
47884 (grub_debug_free): Call `grub_free'.
47885 * include/grub/mm.h: Update copyright.
47886 (grub_mm_dump_free): Add declaration.
47887
077d5fee 478882007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47889
47890 * include/grub/ieee1275/ieee1275.h: Update copyright.
47891 * kern/powerpc/ieee1275/init.c: Likewise.
47892 * kern/powerpc/ieee1275/openfw.c: Likewise.
47893
47894 * loader/powerpc/ieee1275/linux.c: Likewise.
47895 * include/grub/elfload.h: Likewise.
47896 * kern/elf.c: Likewise.
47897 (grub_elf32_load): Pass `base' and `size' parameters. Update all
47898 callers.
47899 (grub_elf64_load): Likewise.
47900 (grub_elf32_load_segment): Move to a nested function.
47901 (grub_elf64_load_segment): Likewise.
47902
dc946850 479032007-02-12 Hollis Blanchard <hollis@penguinppc.org>
47904
47905 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
47906 prototype.
47907 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
47908 (grub_heap_len): Likewise.
47909 (HEAP_SIZE): New macro.
47910 (grub_claim_heap): New function.
47911 (grub_machine_init): Don't claim heap directly. Call
47912 `grub_claim_heap'.
47913 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
47914 (grub_available_iterate): New function.
47915
baa2a121 479162007-02-03 Thomas Schwinge <tschwinge@gnu.org>
47917
47918 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
47919 * configure.ac: Use it for testing the HOST and TARGET compilers.
47920
4fe9862e 479212006-12-13 Thomas Schwinge <tschwinge@gnu.org>
47922
47923 * Makefile.in (enable_grub_emu): New variable.
47924 * configure.ac (--enable-grub-emu): New option.
47925 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
47926 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
47927 * conf/i386-pc.rmk: Likewise.
47928 * conf/powerpc-ieee1275.rmk: Likewise.
47929 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
47930
a8aa5762 479312006-12-12 Marco Gerards <marco@gnu.org>
47932
47933 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
47934
47935 * kern/env.c (grub_env_unset): Don't free the member `value' when
47936 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
47937 pointer.
47938
47939 * normal/main.c (current_menu): Removed.
47940 (free_menu): Unset the `menu' environment variable.
47941 (grub_normal_menu_addentry): Make use of the environment variable
47942 `menu', instead of using the global `current_menu'. Allocate
47943 memory for the sourcecode of this entry.
47944 (read_config_file): New argument `nested', changed all callers.
47945 Only in the case of a new context, initialize a new menu. Set the
47946 `menu' environment variable.
47947 (grub_normal_execute): Don't set and unset the environment
47948 variable `menu' here anymore. Only free the menu when leaving the
47949 context.
47950
47951 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
47952 leak.
47953
957b3a3e 479542006-12-11 Marco Gerards <marco@gnu.org>
47955
47956 * normal/menu_entry.c (run): Fix off by one bug so the last line
47957 is executed. Move the loader check to outside the loop.
47958
ef875714 479592006-12-08 Hollis Blanchard <hollis@penguinppc.org>
47960
47961 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
47962
4e739985 479632006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
47964
47965 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
47966 the number of sectors. Reported by Andrey Shuvikov
47967 <mr_hyro@yahoo.com>.
f19dbdb7 47968
790707f2 479692006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
47970
47971 * kern/disk.c (grub_disk_read): When there is a read error, always
47972 try to read only the necessary data.
f19dbdb7 47973
790707f2 47974 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
47975 disk/raid.c.
47976 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
47977 prototype.
47978 [GRUB_UTIL] (grub_raid_fini): Likewise.
47979 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 47980 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 47981 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
47982 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
47983 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
47984 and grub_raid_fini().
f19dbdb7 47985
03e58196 479862006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47987
47988 * include/grub/types.h (__unused): Rename to UNUSED.
47989 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
47990 (grub_elf64_size): Likewise.
f19dbdb7 47991
ae4f23bf 479922006-11-03 Hollis Blanchard <hollis@penguinppc.org>
47993
47994 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
47995 grub_error_push and grub_error_pop in the error-handling path.
47996 (grub_elf32_load_segment): Only call grub_file_read with non-zero
47997 length.
47998
2166cc83 479992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48000
48001 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48002 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48004 (kernel_elf_SOURCES): Likewise.
48005 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48006 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48007 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48008 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48009 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48010 (elf_mod_SOURCES): New variable.
48011 (elf_mod_CFLAGS): Likewise.
48012 (elf_mod_LDFLAGS): Likewise.
48013 * include/grub/types.h (__unused): New macro.
48014 * include/grub/elfload.h: New file.
48015 * kern/elf.c: Likewise.
48016 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48017 (ELF32_LOADMASK): New macro.
48018 (ELF64_LOADMASK): Likewise.
48019 (vmlinux): Removed.
48020 (grub_linux_load32): New function.
48021 (grub_linux_load64): Likewise.
48022 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48023 Use grub_elf_t instead of grub_file_t.
48024
a09d5aa5 480252006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48026
48027 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48028 `catch_result' to struct set_color_args.
48029
d976fc51 480302006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48031
48032 * normal/menu.c: Include grub/script.h.
48033 * normal/menu_entry.c: Likewise.
48034 * include/grub/normal.h: Do not include grub/script.h.
48035
67507549 480362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48037
48038 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48039
69203a99 480402006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48041
48042 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48043 disk.
48044 (grub_disk_close): Print debug messages when closing a disk.
48045 (grub_disk_read): Print debug messages when disk read fails.
48046 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48047 filesystem type.
48048 * kern/partition.c: Include misc.h.
48049 (grub_partition_iterate): Print debug messages when detecting
48050 partition type.
48051
e2b8278c 480522006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48053
48054 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48055 is negative.
48056 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48057
97b2f2ff 480582006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48059
48060 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48061 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48062
6555d655 480632006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48064
48065 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48066 instead of sizeof(lv). Patch by Michael Guntsche.
48067
4d42b77f 480682006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48069
48070 * disk/lvm.c: Rename VGS to VG_LIST.
48071 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48072 (grub_lvm_open): Likewise.
48073 Thanks to Michael Guntsche for finding this bug.
48074
5d74d927 480752006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48076
48077 * configure.ac (AC_INIT): Bumped to 1.95.
48078
a1bb27e4 480792006-10-14 Robert Millan <rmh@aybabtu.com>
48080
48081 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48082 with "/dev/.static/dev/md".
48083
e0994b8b 480842006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48085
48086 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48087 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48088 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48089 DRIVE_NAME are always freed.
48090
48091 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48092 DOS_PART, as a DOS partition is counted from one instead of zero
48093 now. Reported by Robert Millan.
48094
ddd5cee9 480952006-10-14 Robert Millan <rmh@aybabtu.com>
48096
48097 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48098 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48099 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48100 string returned by grub_guess_root_device.
48101 * util/i386/pc/grub-setup.c: Likewise.
48102 * util/i386/pc/grub-probefs.c: Likewise.
48103
48104 * util/i386/pc/grub-probefs.c: Rename to ...
48105 * util/i386/pc/grub-probe.c: ... this.
48106 * DISTLIST: Remove grub-probefs, add grub-probe.
48107 * conf/i386-efi.rmk: Likewise.
48108 * conf/i386-pc.rmk: Likewise.
48109 * util/i386/pc/grub-install.in: Likewise.
48110
48111 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48112 choose which information we want to print.
48113
2b002173 481142006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48115
48116 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48117 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48118 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48119 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48120 video/readers/tga.c and video/i386/pc/vbeutil.c.
48121
481222006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48123
48124 Added support for RAID and LVM.
f19dbdb7 48125
2b002173 48126 * disk/lvm.c: New file.
48127 * disk/raid.c: Likewise.
48128 * include/grub/lvm.h: Likewise.
f19dbdb7 48129 * include/grub/raid.h: Likewise.
2b002173 48130 * include/grub/util/lvm.h: Likewise.
48131 * include/grub/util/raid.h: Likewise.
48132 * util/lvm.c: Likewise.
48133 * util/raid.c: Likewise.
48134
48135 * include/grub/disk.h (grub_disk_dev_id): Add
48136 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48137 (grub_disk_get_size): New prototype.
48138 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48139 returns a partition.
48140 (grub_disk_get_size): New function.
f19dbdb7 48141
2b002173 48142 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48143 verbatim if grub_install_dos_part is -2.
48144
48145 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48146 and LVM devices.
48147
48148 * util/i386/pc/grub-setup.c (setup): New argument
48149 MUST_EMBED. Force embedding of GRUB when the argument is
48150 true. Close FILE before returning.
48151 (main): Add support for RAID and LVM.
f19dbdb7 48152
2b002173 48153 * conf/common.rmk: Add RAID and LVM modules.
48154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48155 util/lvm.c.
48156 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48157
48158 * kern/misc.c (grub_strstr): New function.
48159 * include/grub/misc.h (grub_strstr): New prototype.
48160
050548d0 481612006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48162
48163 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48164
da849d2d 481652006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48166
48167 * kern/misc.c (grub_strtoull): Guess the base only if not
48168 specified.
48169
97b2f2ff 481702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 48171
48172 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48173 PowerMac support.
48174
97b2f2ff 481752006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 48176
48177 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48178
48179 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48180 Remove `flags' argument. All callers changed.
48181 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48182 (IEEE1275_IHANDLE_INVALID): New variable.
48183 (IEEE1275_CELL_INVALID): New variable.
48184 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48185 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48186 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48187 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48188 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48189 codes from Open Firmware. All callers updated.
48190 (grub_ieee1275_next_property): Directly return Open Firmware return
48191 code.
48192 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48193 Standardize error checking from `grub_ieee1275_get_property'.
48194 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48195 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48196
97b2f2ff 481972006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48198
48199 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48200 `instance_to_package_args' to `instance_to_path_args'.
48201
48202 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48203 `grub_ieee1275_chosen'.
48204
48205 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48206 `grub_ieee1275_interpret'.
48207
97b2f2ff 482082006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48209
48210 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48211
97b2f2ff 482122006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48213
48214 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48215 (__cmpdi): Likewise.
48216
48217 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48218 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48219 `grub_ssize_t'.
48220
02bb8acc 48221 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48222
48223 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48224 to type `grub_ssize_t'.
48225 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48226
7f9a8531 482272006-09-22 Marco Gerards <marco@gnu.org>
48228
48229 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48230 newlines.
48231
b5ef1102 482322006-09-22 Marco Gerards <marco@gnu.org>
48233
48234 * commands/echo.c: New file.
48235
48236 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48237
48238 * conf/common.rmk (echo_mod_SOURCES): New variable.
48239 (echo_mod_CFLAGS): Likewise.
48240 (echo_mod_LDFLAGS): Likewise.
48241
2cff3677 482422006-09-22 Marco Gerards <marco@gnu.org>
48243
48244 * normal/main.c (get_line): Malloc memory instead of using
48245 preallocated memory. Removed the arguments `cmdline' and
48246 `max_len'. Updated all callers.
48247
6ba4688b 482482006-09-22 Marco Gerards <marco@gnu.org>
48249
48250 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48251 (normal_mod_DEPENDENCIES): Likewise.
48252
48253 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48254 (normal_mod_DEPENDENCIES): Likewise.
48255
48256 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48257
e02ac02c 482582006-09-22 Johan Rydberg <jrydberg@gnu.org>
48259
48260 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48261 programs.
48262 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48263 (normal_mod_DEPENDENCIES): Likewise.
48264 * conf/i386-pc.mk: Regenerate.
48265 * conf/i386-efi.mk: Likewise
48266 * conf/common.mk: Likewise.
48267 * conf/powerpc-ieee1275.mk: Likewise.
48268 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48269
8d252e44 482702006-09-22 Robert Millan <rmh@aybabtu.com>
48271
48272 Sync with i386 version.
48273 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48274 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48275
209bf7ac 482762006-09-21 Robert Millan <rmh@aybabtu.com>
48277
48278 Import from GRUB Legacy (lib/device.c):
48279 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48280 (init_device_map) [__linux__]: Add support for I2O devices.
48281
6b146090 482822006-09-14 Marco Gerards <marco@gnu.org>
48283
48284 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48285 `-melf_i386'.
48286
e38600a8 482872006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 48288
48289 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48290 /boot/grub/*.lst.
78fa1790 48291
2952da5d 48292 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 48293
2952da5d 48294 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48295 before adding it to device.map.
48296
01b82a64 482972006-08-15 Johan Rydberg <jrydberg@gnu.org>
48298
fe6b695a 48299 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 48300 compiles a file; using the -MD option.
48301 * conf/common.mk: Regenerate.
48302 * conf/i386-pc.mk: Likewise.
48303 * conf/i386-efi.mk: Likewise.
48304 * conf/powerpc-ieee1275.mk: Likewise.
48305 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 48306
1064790d 483072006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48308
48309 Move the prototypes of grub_setjmp and grub_longjmp to
48310 cpu/setjmp.h, so that each architecture may specify different
48311 attributes.
f19dbdb7 48312
1064790d 48313 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48314 (grub_longjmp): Likewise.
48315 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48316 (grub_longjmp): Likewise.
48317 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48318 (grub_longjmp): Likewise.
48319
48320 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48321 [!GRUB_UTIL] (grub_longjmp): Removed.
48322
29dda3ed 483232006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48324
48325 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48326 "color!" method does not return any value.
48327
ad2a06ed 483282006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48329
48330 * include/grub/bitmap.h: New file.
48331
48332 * include/grub/i386/pc/vbeutil.h: Likewise.
48333
48334 * video/bitmap.c: Likewise.
48335
48336 * video/readers/tga.c: Likewise.
48337
48338 * video/i386/pc/vbeutil.c: Likewise.
48339
48340 * commands/videotest.c: Code cleanup and updated to reflect to new
48341 video API.
48342
48343 * term/gfxterm.c: Likewise.
48344
48345 * video/video.c: Likewise.
48346
48347 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48348 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48349 (bitmap_mod_SOURCES): New entry.
48350 (bitmap_mod_CFLAGS): Likewise.
48351 (bitmap_mod_LDFLAGS): Likewise.
48352 (tga_mod_SOURCES): Likewise.
48353 (tga_mod_CFLAGS): Likewise.
48354 (tga_mod_LDFLAGS): Likewise.
48355
48356 * include/grub/video.h (grub_video_blit_operators): New enum type.
48357 (grub_video_render_target): Changed as forward declaration and moved
48358 actual definition to be video driver specific.
48359 (grub_video_adapter.blit_bitmap): Added blitting operator.
48360 (grub_video_adapter.blit_render_target): Likewise.
48361 (grub_video_blit_bitmap): Likewise.
48362 (grub_video_blit_render_target): Likewise.
48363
48364 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48365 driver specific render target definition.
48366 (grub_video_vbe_map_rgba): Added driver internal helper.
48367 (grub_video_vbe_unmap_color): Updated to use
48368 grub_video_i386_vbeblit_info.
48369 (grub_video_vbe_get_video_ptr): Likewise.
48370
48371 * include/grub/i386/pc/vbeblit.h
48372 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48373 grub_video_i386_vbeblit_info.
48374 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48375 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48376 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48377 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48378 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48379 (grub_video_i386_vbeblit_index_index): Likewise.
48380 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48381 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48382 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48383 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48384 operator.
48385 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48386 operator.
48387
48388 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48389 include/grub/i386/pc/vbeblit.h.
48390
48391 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48392 Updated to use grub_video_i386_vbeblit_info.
48393 (grub_video_i386_vbefill_R8G8B8): Likewise.
48394 (grub_video_i386_vbefill_index): Likewise.
48395 (grub_video_i386_vbefill): Added generic filler.
48396
48397 * video/i386/pc/vbefill.c: Updated to reflect changes on
48398 include/grub/i386/pc/vbefill.h.
48399
48400 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48401 grub_video_i386_vbeblit_info.
48402 (grub_video_vbe_unmap_color): Likewise.
48403 (grub_video_vbe_blit_glyph): Likewise.
48404 (grub_video_vbe_scroll): Likewise.
48405 (grub_video_vbe_draw_pixel): Removed function.
48406 (grub_video_vbe_get_pixel): Likewise.
48407 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48408 updated code to use it.
48409 (common_blitter): Added common blitter for render target and bitmap.
48410 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48411 (grub_video_vbe_blit_render_target): Likewise.
48412
bc8c036d 484132006-07-30 Johan Rydberg <jrydberg@gnu.org>
48414
48415 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48416 is in text mode if there is no console control protocol instance
48417 available.
48418
684a8eff 484192006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48420
48421 * include/grub/video.h: Code cleanup.
48422
48423 * include/grub/i386/pc/vbe.h: Likewise.
48424
48425 * video/i386/pc/vbe.c: Likewise.
48426
48427 * video/i386/pc/vbeblit.c: Likewise.
48428
48429 * video/i386/pc/vbefill.c: Likewise.
48430
48431 * video/video.c: Likewise. Also added more comments.
48432
5915059b 484332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48434
48435 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48436 (struct grub_biosdisk_dap): Likewise.
48437
48438 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48439 linkage settings for all functions.
48440
90ce5d56 484412006-07-12 Marco Gerards <marco@gnu.org>
48442
48443 * configure.ac (--enable-mm-debug): Fix typo.
48444
48445 * genkernsyms.sh.in: Use proper quoting for `CC'.
48446
43e7f879 484472006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48448
48449 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48450 (normal_mod_ASFLAGS): Remove "-m32".
48451
4889bdec 484522006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
48453
48454 * util/misc.c: Include config.h.
48455 [!HAVE_MEMALIGN]: Do not include malloc.h.
48456 (grub_memalign): Use posix_memalign, if present. Then, use
48457 memalign, if present. Otherwise, emit an error.
48458
48459 * util/grub-emu.c: Do not include malloc.h.
48460
48461 * include/grub/util/misc.h: Include unistd.h. This is required for
48462 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
48463 D. Eades III <hde@foobar-qux.org>.
48464
48465 * configure.ac (AC_GNU_SOURCE): Added.
48466 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
48467 type.
48468
fd39d4da 484692006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
48470
48471 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
48472 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
48473
b786f3b5 484742006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
48475
48476 * include/grub/types.h (grub_host_addr_t): Rename to
48477 grub_target_addr_t.
48478 (grub_host_off_t): Rename to grub_target_off_t.
48479 (grub_host_size_t): Rename to grub_target_size_t.
48480 (grub_host_ssize_t): Rename to grub_target_ssize_t.
48481 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
48482
48483 * include/grub/kernel.h (struct grub_module_header): Change type
48484 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
48485 (grub_module_info): Likewise.
f19dbdb7 48486
051988bb 484872006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48488
48489 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
48490 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
48491 Velazquez <jesus.velazquez@gmail.com>.
48492
deae281b 484932006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
48494
48495 Count partitions from 1 instead of 0 in the string representation
48496 of partitions. Still use 0-based internally.
f19dbdb7 48497
deae281b 48498 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
48499 (sun_partition_map_iterate): Use grub_partition_t instead of
48500 struct grub_partition *. Cast DESC->START_CYLINDER to
48501 grub_uint64_t after converting the endian.
48502 (sun_partition_map_probe): Subtract 1 for PARTNUM.
48503 (sun_partition_map_get_name): Add 1 to P->INDEX.
48504
48505 * partmap/pc.c (grub_partition_parse): Subtract 1 for
48506 PCDATA->DOS_PART.
48507 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
48508
48509 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
48510 zero instead of one.
48511 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
48512 (gpt_partition_map_get_name): Add 1 into P->INDEX.
48513
48514 * partmap/apple.c (apple_partition_map_iterate): Change the type
48515 of POS to unsigned.
48516 (apple_partition_map_probe): Subtract 1 for PARTNUM.
48517 (apple_partition_map_get_name): Add 1 into P->INDEX.
48518
48519 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
48520 of POS to unsigned.
48521 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
48522 calculate the offset of a partition.
48523 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
48524 (amiga_partition_map_get_name): Add 1 into P->INDEX.
48525
48526 * partmap/acorn.c (acorn_partition_map_find): Change the type of
48527 SECTOR to grub_disk_addr_t.
48528 (acorn_partition_map_iterate): Likewise.
48529 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
48530 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
48531 top.
48532 (acorn_partition_map_get_name): Add 1 into P->INDEX.
48533
48534 * kern/i386/pc/init.c (make_install_device): Add 1 into
48535 GRUB_INSTALL_DOS_PART.
48536
48537 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
48538 conditional.
48539
524a1e6a 485402006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48541
48542 Clean up the code to support 64-bit addressing in disks and
48543 files. This change is not enough for filesystems yet.
f19dbdb7 48544
524a1e6a 48545 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
48546 type of "start" to grub_uint64_t.
48547 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
48548 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
48549 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
48550 convert addresses.
48551
48552 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
48553 to grub_disk_addr_t.
48554
48555 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
48556 string.
48557
48558 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48559
48560 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
48561 to char *.
48562
48563 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
48564
48565 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
48566
48567 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
48568
48569 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
48570 to grub_off_t, to detect an error from grub_file_seek.
48571 (grub_multiboot_load_elf32): Likewise.
48572
48573 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
48574 maximum unsigned long value when an overflow is detected.
48575 (grub_strtoull): New function.
48576 (grub_divmod64): Likewise.
48577 (grub_lltoa): use grub_divmod64.
48578
48579 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
48580 grub_disk_addr_t.
48581 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
48582 the pointer to next character. Use grub_strtoull instead of
48583 grub_strtoul.
48584 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
48585 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
48586 respectively.
48587
fe6b695a 48588 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 48589 return value is signed.
48590 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
48591 test if OFFSET is less than zero, as OFFSET is unsigned now.
48592
48593 * kern/disk.c (struct grub_disk_cache): Change the type of
48594 "sector" to grub_disk_addr_t.
48595 (grub_disk_cache_get_index): Change the type of SECTOR to
48596 grub_disk_addr_t. Calculate the hash with SECTOR casted to
48597 unsigned after shifting.
48598 (grub_disk_cache_invalidate): Change the type of SECTOR to
48599 grub_disk_addr_t.
48600 (grub_disk_cache_unlock): Likewise.
48601 (grub_disk_cache_store): Likewise.
48602 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
48603 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
48604 grub_disk_addr_t and grub_uint64_t, respectively.
48605 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
48606 body, as the value of OFFSET is tweaked by
48607 grub_disk_check_range. Change the types of START_SECTOR, LEN and
48608 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
48609 respectively.
48610 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
48611 body, as the value of OFFSET is tweaked by
48612 grub_disk_check_range. Change the types of LEN and N to
48613 grub_size_t.
48614
48615 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
48616 and "saved_offset" to grub_off_t.
48617 (test_header): Cast BUF to char *.
48618 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
48619 to char *.
48620 (grub_gzio_read): Change the types of OFFSET and SIZE to
48621 grub_off_t and grub_size_t, respectively.
48622
48623 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
48624 Removed.
48625 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
48626 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
48627 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
48628 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
48629 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
48630
48631 * include/grub/types.h (grub_off_t): Unconditionally set to
48632 grub_uint64_t.
48633 (grub_disk_addr_t): Changed to grub_uint64_t.
48634
48635 * include/grub/partition.h (struct grub_partition): Change the
48636 types of "start", "len" and "offset" to grub_disk_addr_t,
48637 grub_uint64_t and grub_disk_addr_t, respectively.
48638 (grub_partition_get_start): Return grub_disk_addr_t.
48639 (grub_partition_get_len): Return grub_uint64_t.
48640
48641 * include/grub/misc.h (grub_strtoull): New prototype.
48642 (grub_divmod64): Likewise.
48643
48644 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
48645 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
48646 grub_off_t, respectively.
48647 All callers and references changed.
48648
48649 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
48650 grub_size_t in "read".
48651 All callers and references changed.
48652
48653 * include/grub/file.h (struct grub_file): Change the types of
48654 "offset" and "size" to grub_off_t and grub_off_t,
48655 respectively. Change the type of SECTOR to grub_disk_addr_t in
48656 "read_hook".
48657 (grub_file_read): Change the type of LEN to grub_size_t.
48658 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
48659 grub_off_t.
48660 (grub_file_size): Return grub_off_t.
48661 (grub_file_tell): Likewise.
48662 All callers and references changed.
48663
48664 * include/grub/disk.h (struct grub_disk_dev): Change the types of
48665 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
48666 "write".
48667 (struct grub_disk): Change the type of "total_sectors" to
48668 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 48669 "read_hook".
524a1e6a 48670 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
48671 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
48672 (grub_disk_write): Likewise.
48673 All callers and references changed.
48674
48675 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
48676 char * for grub_strncmp to silence gcc.
48677 (grub_iso9660_mount): Likewise.
48678 (grub_iso9660_mount): Likewise.
48679 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
48680 return statement.
48681 (grub_iso9660_iterate_dir): Likewise.
48682 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
48683
48684 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
48685 LEN to grub_disk_addr_t and grub_size_t, respectively.
48686
48687 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
48688
48689 * fs/jfs.c (grub_jfs_read_file): Likewise.
48690
48691 * fs/minix.c (grub_jfs_read_file): Likewise.
48692
48693 * fs/sfs.c (grub_jfs_read_file): Likewise.
48694
48695 * fs/ufs.c (grub_jfs_read_file): Likewise.
48696
48697 * fs/xfs.c (grub_jfs_read_file): Likewise.
48698
48699 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
48700 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
48701 respectively.
48702
48703 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
48704 BLKNR to -1 instead of returning GRUB_ERRNO.
48705 (grub_ext2_read_file): Change the types of SECTOR and
48706 LEN to grub_disk_addr_t and grub_size_t, respectively.
48707
48708 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
48709 LEN to grub_disk_addr_t and grub_size_t, respectively.
48710
48711 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
48712 grub_file_read.
48713
48714 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
48715 string. Do not cast SECTOR explicitly.
48716
48717 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
48718 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
48719 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
48720 grub_disk_addr_t and grub_size_t, respectively. If the sector is
48721 over 2TB and LBA mode is not supported, raise an error.
48722 (get_safe_sectors): New function.
48723 (grub_biosdisk_read): Use get_safe_sectors.
48724 (grub_biosdisk_write): Likewise.
48725
48726 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
48727 (grub_efidisk_write): Likewise.
48728
48729 * disk/loopback.c (delete_loopback): Cosmetic changes.
48730 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
48731 correctly.
48732 (grub_loopback_open): Likewise.
48733 (grub_loopback_read): Likewise. Also, change the type of POS to
48734 grub_off_t, and fix the usage of grub_memset.
48735
48736 * commands/i386/pc/play.c: Include grub/machine/time.h.
48737
48738 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
48739 print FILE->SIZE.
48740
48741 * commands/configfile.c: Include grub/env.h.
48742
48743 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
48744 GRUB_ERRNO directly instead. Change the type of POS to
48745 grub_off_t. Follow the coding standard.
48746
48747 * commands/blocklist.c: Include grub/partition.h.
48748 (grub_cmd_blocklist): Return an error if the underlying device is
48749 not a disk. Take the starting sector of a partition into account,
48750 if a partition is used.
48751
48752 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
48753 a length field.
48754 (lba_mode): Support 64-bit addresses.
48755 (chs_mode): Likewise.
48756 (copy_buffer): Adapted to the new offsets of a length field and a
48757 segment field.
48758 (blocklist_default_start): Allocate 64-bit space.
48759
48760 * boot/i386/pc/boot.S (force_lba): Removed.
48761 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 48762 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 48763 space.
48764 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
48765 is useless.
48766 (lba_mode): Refactored to support a 64-bit address. More size
48767 optimization.
48768 (setup_sectors): Likewise.
48769
53af98ad 487702006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
48771
48772 * DISTLIST: Added include/grub/i386/linux.h. Removed
48773 include/grub/i386/pc/linux.h
48774
48775 * configure.ac (AC_INIT): Bumped to 1.94.
48776
48777 * config.guess: Updated from gnulib.
48778 * config.sub: Likewise.
48779 * install-sh: Likewise.
48780 * mkinstalldirs: Likewise.
48781
b4c1940a 487822006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48783
48784 * conf/common.rmk (grub_modules_init.lst): Depended on
48785 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
48786 MODSRCFILES.
48787
48788 * genmk.rb (PModule::rule): Reverted the previous change.
48789
cfca1cfd 487902006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
48791
48792 * conf/common.rmk (grub_modules_init.lst): Depends on
48793 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
48794 that the target does not exist before producing.
48795 (grub_modules_init.h): Remove the target before generating.
48796 (grub_emu_init.c): Likewise.
48797
48798 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
48799
aa6d7826 488002006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
48801
48802 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
48803 for the target-specific tests. Make sure that we also have the
48804 up-to-date target variables for those tests.
48805
26c607b9 488062006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48807
48808 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
48809 (PModule::rule): Likewise.
48810
0162321a 488112006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
48812
48813 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
48814 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
48815 target-specific flags should be prefixed.
48816 (PModule::rule): Likewise.
48817
6c826348 488182006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
48819
48820 * configure.ac (CMP): Check if cmp is available explicitly.
48821
b977bf01 488222006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
48823
48824 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
48825 (target_cpu): New variable.
48826 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 48827
b977bf01 48828 * util/i386/pc/grub-install.in (host_cpu): Removed.
48829 (target_cpu): New variable.
48830 (pkglibdir): Use target_cpu instead of host_cpu.
48831
48832 * util/genmoddep.c: Removed.
f19dbdb7 48833
b977bf01 48834 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
48835 instead of GRUB_HOST_SIZEOF_VOID_P.
48836 * kern/dl.c: Likewise.
48837
48838 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
48839 ...
48840 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48841 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48842 (GRUB_TARGET_SIZEOF_LONG): ... this.
48843 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48844 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48845 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48846 to ...
48847 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48848 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48849 (GRUB_TARGET_SIZEOF_LONG): ... this.
48850 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48851 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48852 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
48853 to ...
48854 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
48855 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
48856 (GRUB_TARGET_SIZEOF_LONG): ... this.
48857 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
48858 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
48859
48860 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
48861 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
48862 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
48863 instead of GRUB_HOST_SIZEOF_LONG.
48864 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
48865 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
48866 GRUB_CPU_WORDS_BIGENDIAN.
48867 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
48868 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
48869 grub_host_ssize_t.
48870
48871 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
48872 (genmoddep_SOURCES): Likewise.
48873 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
48874 (genmoddep_SOURCES): Likewise.
48875 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
48876 (genmoddep_SOURCES): Likewise.
48877 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
48878 Likewise.
48879 (genmoddep_SOURCES): Likewise.
48880
48881 * genmoddep.awk: New file.
48882
48883 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
48884 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
48885 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
48886 (PModule::rule): Likewise.
48887 (Program::rule): Likewise.
48888 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
48889 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
48890 respectively.
48891
48892 * configure.ac: Rewritten intensively to use host and target
48893 instead of build and host, respectively.
48894
48895 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
48896 (host_cpu): Removed.
48897 (target_cpu): New variable.
48898 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
48899 (BUILD_CC): Removed.
48900 (BUILD_CFLAGS): Likewise.
48901 (BUILD_CPPFLAGS): Likewise.
48902 (TARGET_CC): New variable.
48903 (TARGET_CFLAGS): Likewise.
48904 (TARGET_CPPFLAGS): Likewise.
48905 (TARGET_LDFLAGS): Likewise.
48906 (AWK): Likewise.
48907 (include): Use target_cpu instead of host_cpu.
48908 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 48909
b977bf01 48910 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
48911
f09771a1 489122006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
48913
48914 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
48915 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
48916 field 'false' to 'exec_on_false'.
48917 (grub_script_create_cmdif): Renamed argument names to reflect above
48918 changes.
48919
48920 * normal/execute.c (grub_script_execute_cmdif): Likewise.
48921
48922 * normal/script.c (grub_script_create_cmdif): Likewise.
48923
118f4fb3 489242006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
48925
48926 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
48927 top.
48928 (grub_hfsplus_btree_recptr): Likewise.
48929 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
48930 FILEBLOCK both to pass a block number and store next block
48931 number.
48932 (grub_hfsplus_read_block): Rewritten heavily to support an extent
48933 overflow file correctly. Specify errors appropriately, because
48934 fshelp expects that GRUB_ERRNO is set when fails. Reuse
48935 grub_hfsplus_btree_recptr to get the pointer to a found key.
48936 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
48937 is found.
48938
48939 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
48940 linux.mod.
48941 (_linux_mod_SOURCES): New variable.
48942 (_linux_mod_CFLAGS): Likewise.
48943 (_linux_mod_LDFLAGS): Likewise.
48944 (linux_mod_SOURCES): Likewise.
48945 (linux_mod_CFLAGS): Likewise.
48946 (linux_mod_LDFLAGS): Likewise.
48947
48948 * DISTLIST: Added loader/i386/efi/linux.c,
48949 loader/i386/efi/linux_normal.c and
48950 include/grub/i386/efi/loader.h.
48951
48952 * loader/i386/efi/linux.c: New file.
48953 * loader/i386/efi/linux_normal.c: Likewise.
48954 * include/grub/i386/efi/loader.h: Likewise.
48955
89a7d726 489562006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
48957
48958 * commands/blocklist.c: New file.
48959
48960 * DISTLIST: Added commands/blocklist.c.
48961
48962 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 48963 color for the background, and a darker color for the foreground.
89a7d726 48964 (grub_console_checkkey): Return READ_KEY.
48965 (grub_console_cls): Set the background to
48966 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
48967
48968 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
48969
48970 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
48971 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
48972
48973 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
48974 prototype.
48975
48976 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
48977 BG. The spec is wrong again.
48978
48979 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
48980 prototype.
48981 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
48982
48983 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48984 commands/blocklist.c.
48985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 48986
89a7d726 48987 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
48988 (blocklist_mod_SOURCES): New variable.
48989 (blocklist_mod_CFLAGS): Likewise.
48990 (blocklist_mod_LDFLAGS): Likewise.
48991
75c8f258 489922006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
48993
48994 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
48995 duplication.
48996 (lba_mode): Use %eax more intensively to reduce the code size.
48997
da2eb181 489982006-05-20 Marco Gerards <marco@gnu.org>
48999
49000 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49001
49002 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49003 for `menuentry'.
49004 (script): Accept leading newlines.
49005 (newlines): New rule to describe 0 or more newlines.
49006 (commands): Accept `command' with trailing newline. Fixed the
49007 order in which arguments were passed to `grub_script_add_cmd'.
49008 Accept commands separated by newlines.
49009 (function): Changed to accept newlines.
49010 (menuentry) Rewritten.
49011
49012 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49013 front of the list, instead of to the end.
49014
577b4050 490152006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49016
49017 * util/i386/pc/grub-install.in (bindir): New variable.
49018 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49019 Shaver <lbgwjl@gmail.com>.
49020
0d6e1189 490212006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49022
49023 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49024 grub/machine/linux.h
49025 * loader/i386/pc/linux.c: Likewise.
49026
49027 * include/grub/i386/pc/linux.h: Moved to ...
49028 * include/grub/i386/linux.h: ... here.
49029
49030 * include/grub/i386/linux.h (struct linux_kernel_params): New
49031 struct.
f19dbdb7 49032
31b86e9f 490332006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49034
49035 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49036 checking.
49037 (grub_video_vbe_blit_glyph): Likewise.
49038 (grub_video_vbe_blit_bitmap): Likewise.
49039 (grub_video_vbe_blit_render_target): Likewise.
49040
83b984de 490412006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49042
49043 * configure.ac (--with-platform): Properly quote the square
49044 brackets.
49045
5f0413bd 490462006-05-08 Marco Gerards <marco@gnu.org>
49047
49048 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49049 this...
49050 (kernel_elf_HEADERS): ...to this. Updated all users.
49051 (grubof_symlist.c): Renamed from this...
49052 (kernel_elf_symlist.c): ...to this. Updated all users.
49053 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49054 (grubof_SOURCES): Renamed from this...
49055 (kernel_elf_SOURCES): ...to this.
49056 (grubof_HEADERS): Renamed from this...
49057 (kernel_elf_HEADERS): ...to this.
49058 (grubof_CFLAGS): Renamed from this...
49059 (kernel_elf_CFLAGS): ...to this.
49060 (grubof_ASFLAGS): Renamed from this...
49061 (kernel_elf_ASFLAGS): ...to this.
49062 (grubof_LDFLAGS): Renamed from this...
49063 (kernel_elf_LDFLAGS): ...to this.
49064
49065 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49066 this...
49067 (kernel_elf_HEADERS): ...to this. Updated all users.
49068 (grubof_symlist.c): Renamed from this...
49069 (kernel_elf_symlist.c): ...to this. Updated all users.
49070 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49071 (grubof_SOURCES): Renamed from this...
49072 (kernel_elf_SOURCES): ...to this.
49073 (grubof_HEADERS): Renamed from this...
49074 (kernel_elf_HEADERS): ...to this.
49075 (grubof_CFLAGS): Renamed from this...
49076 (kernel_elf_CFLAGS): ...to this.
49077 (grubof_ASFLAGS): Renamed from this...
49078 (kernel_elf_ASFLAGS): ...to this.
49079 (grubof_LDFLAGS): Renamed from this...
49080 (kernel_elf_LDFLAGS): ...to this.
49081
49082 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49083 `kernel.elf' instead of `grubof'.
49084
05568c2e 490852006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49086
49087 Add --with-platform to configure. Use pkglibdir instead of
49088 pkgdatadir. This is reported by Roger Leigh.
49089
49090 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49091 (host_vendor): Likewise.
49092 (host_os): Likewise.
49093 (pkgdatadir): Likewise.
49094 (platform): New variable.
49095 (pkglibdir): Likewise.
49096 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 49097
05568c2e 49098 * util/i386/pc/grub-install.in (datadir): Removed.
49099 (host_vendor): Likewise.
49100 (host_os): Likewise.
49101 (pkgdatadir): Likewise.
49102 (platform): New variable.
49103 (pkglibdir): Likewise.
49104 Use PKGLIBDIR instead of PKGDATADIR.
49105
49106 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49107 instead of GRUB_DATADIR.
49108 (main): Likewise.
49109 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49110 (main): Likewise.
49111 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49112 (main): Likewise.
49113
49114 * configure.ac (--with-platform): New option.
49115 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49116
49117 * Makefile.in: Include a makefile based on PLATFORM instead of
49118 HOST_VENDOR.
49119 (pkgdatadir): Not appended by the machine type.
49120 (pkglibdir): Appended by the machine type.
49121 (host_vendor): Removed.
49122 (platform): New variable.
49123 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49124 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49125 (uninstall): Likewise.
49126
4e93851c 491272006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49128
49129 Use the environment context in the menu. Remove the commands
49130 "default" and "timeout", and use variables instead.
f19dbdb7 49131
4e93851c 49132 * normal/menu.c: Include grub/env.h.
49133 (print_entry): Cast TITLE to silence gcc.
49134 (get_timeout): New function.
49135 (set_timeout): Likewise.
49136 (get_entry_number): Likewise.
49137 (run_menu): Use a default entry, a fallback entry and a timeout
49138 in the environment variables "default", "fallback" and
49139 "timeout". Also, tweak the default entry if it is not within the
49140 current menu entries.
49141 (grub_menu_run): Use a fallback entry in the environment variable
49142 "fallback".
49143
49144 * normal/main.c (read_config_file): Do not initialize
49145 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49146 NEWMENU->TIMEOUT.
49147 (grub_normal_execute): Use a data slot to store the menu.
49148
49149 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49150 fallback_entry and timeout.
49151 (struct grub_menu_list): Removed.
49152 (grub_menu_list_t): Likewise.
49153 (struct grub_context): Likewise.
49154 (grub_context_t): Likewise.
49155 (grub_context_get): Likewise.
49156 (grub_context_get_current_menu): Likewise.
49157 (grub_context_push_menu): Likewise.
49158 (grub_context_pop_menu): Likewise.
49159 (grub_default_init): Likewise.
49160 (grub_default_fini): Likewise.
49161 (grub_timeout_init): Likewise.
49162 (grub_timeout_fini): Likewise.
49163
49164 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49165 and timeout.mod.
49166 (normal_mod_SOURCES): Removed normal/context.c.
49167
49168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49169 commands/default.c, commands/timeout.c and normal/context.c.
49170 (normal_mod_SOURCES): Removed normal/context.c.
49171
49172 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49173 commands/timeout.c and normal/context.c.
49174 (normal_mod_SOURCES): Removed normal/context.c.
49175
49176 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49177 commands/default.c, commands/timeout.c and normal/context.c.
49178 (normal_mod_SOURCES): Removed normal/context.c.
49179
49180 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49181 timeout.mod.
49182 (default_mod_SOURCES): Removed.
49183 (default_mod_CFLAGS): Likewise.
49184 (default_mod_LDFLAGS): Likewise.
49185 (timeout_mod_SOURCES): Removed.
49186 (timeout_mod_CFLAGS): Likewise.
49187 (timeout_mod_LDFLAGS): Likewise.
49188
49189 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49190 normal/context.c.
49191
49192 * commands/default.c: Removed.
49193 * commands/timeout.c: Likewise.
49194 * normal/context.c: Likewise.
49195
1eb9cc1d 491962006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49197
49198 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49199
385bd9c1 492002006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49201
49202 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49203 "next" to "prev" for readability.
49204 (struct grub_env_sorted_var): New struct.
49205 (grub_env_context): Renamed to ...
49206 (initial_context): ... this.
49207 (grub_env_var_context): Renamed to ...
49208 (current_context): ... this.
49209 (grub_env_find): Look only at CURRENT_CONTEXT.
49210 (grub_env_context_open): Rewritten to copy exported variables from
49211 previous context.
49212 (grub_env_context_close): Rewritten according to the new
49213 scheme. Also, add an assertion to prevent the initial context from
49214 removed.
49215 (grub_env_insert): Removed the code for the sorted list.
49216 (grub_env_remove): Likewise.
49217 (grub_env_export): Simply mark the variable with
49218 GRUB_ENV_VAR_GLOBAL.
49219 (grub_env_set): A cosmetic change for naming consistency.
49220 (grub_env_get): Likewise.
49221 (grub_env_unset): Likewise.
49222 (grub_env_iterate): Rewritten to sort variables within this
49223 function.
49224 (grub_register_variable_hook): Fixed for naming consistency. Call
49225 grub_env_find again, only if NAME is not found at the first time.
49226 (mangle_data_slot_name): New function.
49227 (grub_env_set_data_slot): Likewise.
49228 (grub_env_get_data_slot): Likewise.
49229 (grub_env_unset_data_slot): Likewise.
49230
49231 * include/grub/env.h (grub_env_var_type): New enum.
49232 (GRUB_ENV_VAR_LOCAL): New constant.
49233 (GRUB_ENV_VAR_GLOBAL): Likewise.
49234 (GRUB_ENV_VAR_DATA): Likewise.
49235 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49236 "type".
49237 (grub_env_set): Replace VAR with NAME for consistency.
49238 (grub_register_variable_hook): Likewise.
49239 (grub_env_export): Specify the name of the argument.
49240 (grub_env_set_data_slot): New prototype.
49241 (grub_env_get_data_slot): Likewise.
49242 (grub_env_unset_data_slot): Likewise.
49243
7f362539 492442006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49245
49246 Extend the loader so that GRUB can accept a loader which comes
49247 back to GRUB when a loaded image exits. Also, this change adds
49248 support for a chainloader on EFI.
f19dbdb7 49249
7f362539 49250 * term/efi/console.c: Include grub/misc.h.
49251 (grub_console_checkkey): Display a scan code on the top for
49252 debugging. This will be removed once the EFI port gets stable.
49253 Correct the scan code mapping.
49254
49255 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49256 allocate memory from larger regions, in order to reduce the number
49257 of allocated regions. Otherwise, the MacOSX loader panics.
49258 (filter_memory_map): Avoid less than 1MB for compatibility with
49259 other loaders.
49260 (add_memory_regions): Allocate from the tail of a region, if
49261 possible, to avoid allocating a region near to 1MB, for the MacOSX
49262 loader.
49263
49264 * kern/efi/init.c (grub_efi_set_prefix): Specify
49265 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49266
49267 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49268 argument IMAGE_HANDLE and specify it to get a loaded image.
49269 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49270 grub_efi_get_loaded_image.
fe6b695a 49271 (grub_efi_get_filename): Divide the length by the size of
7f362539 49272 grub_efi_char16_t.
49273 (grub_efi_get_device_path): New function.
49274 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49275 the length by the size of grub_efi_char16_t for a file path device
49276 path node.
49277
49278 * kern/loader.c (grub_loader_noreturn): New variable.
49279 (grub_loader_set): Accept a new argument NORETURN. Set
49280 GRUB_LOADER_NORETURN to NORETURN.
49281 All callers changed.
49282 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49283 grub_machine_fini.
49284
49285 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49286 prototype.
49287 (grub_efi_get_loaded_image): Take an argument to specify an image
49288 handle.
49289
49290 * include/grub/loader.h (grub_loader_set): Added one more argument
49291 NORETURN.
49292
49293 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49294 instead of grub_efi_open_protocol.
49295 (grub_efidisk_get_device_name): Likewise.
49296 (grub_efidisk_close): Print a newline.
49297 (grub_efidisk_get_device_handle): Fixed to use
49298 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49299 GRUB_EFI_DEVICE_PATH_TYPE.
49300
49301 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49302 * kern/efi/efi.c (device_path_guid): ... here.
49303
49304 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49305 chain.mod.
49306 (kernel_mod_HEADERS): Added efi/disk.h.
49307 (_chain_mod_SOURCES): New variable.
49308 (_chain_mod_CFLAGS): Likewise.
49309 (_chain_mod_LDFLAGS): Likewise.
49310 (chain_mod_SOURCES): Likewise.
49311 (chain_mod_CFLAGS): Likewise.
49312 (chain_mod_LDFLAGS): Likewise.
49313
49314 * DISTLIST: Added include/grub/efi/chainloader.h,
49315 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49316
49317 * include/grub/efi/chainloader.h: New file.
49318 * loader/efi/chainloader.c: Likewise.
49319 * loader/efi/chainloader_normal.c: Likewise.
49320
c0111d6e 493212006-04-30 Marco Gerards <marco@gnu.org>
49322
49323 * commands/configfile.c (grub_cmd_source): New function.
49324 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49325 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49326
df5341da 493272006-04-30 Marco Gerards <marco@gnu.org>
49328
49329 * normal/execute.c (grub_script_execute_cmd): Change the return
49330 type to `grub_err_t'. Correctly return the error.
49331 (grub_script_execute_cmdline): In case a command line is not a
49332 command or a function, try to interpret it as an assignment.
49333
f85934bd 493342006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49335
49336 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49337 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49338 skip a node whose name is obviously invalid as UTF-16,
49339 i.e. contains a NUL character. Stop the iteration when the last
49340 directory entry is found. Instead of using the return value of
49341 grub_hfsplus_btree_iterate_node, store the value in RET and use
49342 it, because the iterator can be stopped by the last directory
49343 entry.
49344
8f8a2cf8 493452006-04-30 Marco Gerards <marco@gnu.org>
49346
49347 * include/grub/env.h (grub_env_export): New prototype. Reported
49348 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49349
a27e84ce 493502006-04-30 Marco Gerards <marco@gnu.org>
49351
49352 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49353 size of the extents in a catalog file record.
49354
eaef0553 493552006-04-29 Marco Gerards <marco@gnu.org>
49356
49357 * commands/configfile.c (grub_cmd_configfile): Execute the
49358 configfile within its own context.
49359
49360 * include/grub/env.h (grub_env_context_open): New prototype.
49361 (grub_env_context_close): Likewise.
49362
49363 * kern/env.c (grub_env): Removed.
49364 (grub_env_sorted): Likewise.
49365 (grub_env_context): New variable.
49366 (grub_env_var_context): Likewise.
49367 (grub_env_find): Search both the active context and the global
49368 context.
49369 (grub_env_context_open): New function.
49370 (grub_env_context_close): Likewise.
49371 (grub_env_insert): Likewise.
49372 (grub_env_remove): Likewise.
49373 (grub_env_export): Likewise.
49374 (grub_env_set): Changed to use helper functions to avoid code
49375 duplication.
49376 (grub_env_iterate): Rewritten so both the current context and the
49377 global context are being used.
49378
49379 * normal/command.c (export_command): New function.
49380 (grub_command_init): Register the `export' function.
49381
7b455f4d 493822006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49383
49384 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49385 explicitly to suppress gcc's warnings.
49386 * fs/fat.c (grub_fat_find_dir): Likewise.
49387 (grub_fat_label): Likewise.
49388 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49389 (grub_xfs_mount): Likewise.
49390 (grub_xfs_label): Likewise.
49391 * fs/affs.c (grub_affs_mount): Likewise.
49392 (grub_affs_label): Likewise.
49393 (grub_affs_iterate_dir): Likewise.
49394 * fs/sfs.c (grub_sfs_mount): Likewise.
49395 (grub_sfs_iterate_dir): Likewise.
49396 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49397 * fs/hfs.c (grub_hfs_mount): Likewise.
49398 (grub_hfs_cmp_catkeys): Likewise.
49399 (grub_hfs_find_dir): Likewise.
49400 (grub_hfs_dir): Likewise.
49401 (grub_hfs_label): Likewise.
49402 * fs/jfs.c (grub_jfs_mount): Likewise.
49403 (grub_jfs_opendir): Likewise.
49404 (grub_jfs_getent): Likewise.
49405 (grub_jfs_lookup_symlink): Likewise.
49406 (grub_jfs_label): Likewise.
49407 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49408 (grub_hfsplus_iterate_dir): Likewise.
49409 (grub_hfsplus_btree_iterate_node): Made static.
49410
49411 * util/grub-emu.c (prefix): New variable.
49412 (grub_machine_set_prefix): New function.
49413 (main): Do not set the environment variable "prefix" here. Only
49414 set PREFIX, which is used later by grub_machine_set_prefix.
49415
49416 * include/grub/video.h: Do not include grub/symbol.h.
49417 (grub_video_register): Not exported. This symbol is not defined in
49418 the kernel.
49419 (grub_video_unregister): Likewise.
49420 (grub_video_iterate): Likewise.
49421 (grub_video_setup): Likewise.
49422 (grub_video_restore): Likewise.
49423 (grub_video_get_info): Likewise.
49424 (grub_video_get_blit_format): Likewise.
49425 (grub_video_set_palette): Likewise.
49426 (grub_video_get_palette): Likewise.
49427 (grub_video_set_viewport): Likewise.
49428 (grub_video_get_viewport): Likewise.
49429 (grub_video_map_color): Likewise.
49430 (grub_video_map_rgb): Likewise.
49431 (grub_video_map_rgba): Likewise.
49432 (grub_video_fill_rect): Likewise.
49433 (grub_video_blit_glyph): Likewise.
49434 (grub_video_blit_bitmap): Likewise.
49435 (grub_video_blit_render_target): Likewise.
49436 (grub_video_scroll): Likewise.
49437 (grub_video_swap_buffers): Likewise.
49438 (grub_video_create_render_target): Likewise.
49439 (grub_video_delete_render_target): Likewise.
49440 (grub_video_set_active_render_target): Likewise.
49441
49442 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49443 Undefined.
49444 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49445
49446 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49447 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49448 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49449 instead of $(srcdir)/genkernsyms.sh.
49450
49451 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49452 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49453 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49454 instead of $(srcdir)/genkernsyms.sh.
49455
49456 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
49457 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49458 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49459 instead of $(srcdir)/genkernsyms.sh.
49460
49461 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
49462 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49463 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49464 instead of $(srcdir)/genkernsyms.sh.
49465
49466 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
49467 genkernsyms.sh.
49468
49469 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
49470 genkernsyms.sh.
49471 (gensymlist.sh): New target.
49472 (genkernsyms.sh): Likewise.
49473
49474 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
49475 genkernsyms.sh.in and gensymlist.sh.in.
49476
49477 * genkernsyms.sh: Removed.
49478 * gensymlist.sh: Likewise.
f19dbdb7 49479
7b455f4d 49480 * genkernsyms.sh.in: New file.
49481 * gensymlist.sh.in: Likewise.
49482
1885bb27 494832006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49484
49485 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
49486 clobber "prefix", since we may have already set it manually.
49487
71538dff 494882006-04-25 Hollis Blanchard <hollis@penguinppc.org>
49489
49490 * kern/misc.c (abort): New alias for grub_abort.
49491
2965c7cc 494922006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
49493
49494 A new machine-specific function "grub_machine_set_prefix" is
49495 defined. This is called after loading modules, so that a prefix
49496 initialization can use modules. Also, this change adds an
49497 intensive debugging feature for the memory manager via the
49498 configure option "--enable-mm-debug".
f19dbdb7 49499
2965c7cc 49500 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
49501 PART.LEN.
49502
49503 * kern/sparc64/ieee1275/init.c (abort): Removed.
49504 (grub_stop): Likewise.
49505 (grub_exit): New function.
49506 (grub_set_prefix): Renamed to ...
49507 (grub_machine_set_prefix): ... this.
49508 (grub_machine_init): Do not call grub_set_prefix.
49509
49510 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
49511 (grub_machine_set_prefix): ... this.
49512 (grub_machine_init): Do not call grub_set_prefix.
49513
49514 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
49515 (grub_machine_init): Do not set the prefix here.
49516
49517 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
49518
49519 * kern/efi/init.c: Include grub/mm.h.
49520 (grub_efi_set_prefix): New function.
49521
49522 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
49523 (grub_efi_get_filename): New function.
49524 (grub_print_device_path): Renamed to ...
49525 (grub_efi_print_device_path): ... this.
49526
49527 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
49528 [MM_DEBUG] (grub_realloc): Likewise.
49529 [MM_DEBUG] (grub_free): Likewise.
49530 [MM_DEBUG] (grub_memalign): Likewise.
49531 [MM_DEBUG] (grub_mm_debug): New variable.
49532 [MM_DEBUG] (grub_debug_malloc): New function.
49533 [MM_DEBUG] (grub_debug_free): New function.
49534 [MM_DEBUG] (grub_debug_realloc): New function.
49535 [MM_DEBUG] (grub_debug_memalign): New function.
49536
49537 * kern/misc.c (grub_abort): Print a newline to distinguish
49538 the message.
49539
49540 * kern/main.c (grub_main): Call grub_machine_set_prefix and
49541 grub_set_root_dev after loading modules. This is necessary when
49542 setting a prefix depends on modules.
49543
49544 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
49545 (grub_efi_print_device_path): ... this.
49546 (grub_efi_get_filename): New prototype.
49547 (grub_efi_set_prefix): Likewise.
49548
49549 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
49550 and grub/disk.h.
49551 (grub_efidisk_get_device_handle): New prototype.
49552 (grub_efidisk_get_device_name): Likewise.
49553
49554 * include/grub/mm.h: Include config.h.
49555 (MM_DEBUG): Removed.
49556 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
49557 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
49558 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
49559 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
49560 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
49561 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
49562 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
49563 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
49564 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
49565
49566 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
49567
49568 * disk/efi/efidisk.c: Include grub/partition.h.
49569 (iterate_child_devices): New function.
49570 (add_device): First, compare only last device path nodes, so that
49571 devices are sorted by the types.
49572 (grub_efidisk_get_device_handle): New function.
49573 (grub_efidisk_get_device_name): Likewise.
49574
49575 * configure.ac (--enable-mm-debug): New option to enable the
49576 memory manager debugging feature. This makes the binary much
49577 bigger, so is disabled by default.
49578
9cacaa17 495792006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
49580
49581 Use grub_abort instead of grub_stop, and grub_exit must be
49582 define in each architecture now. Also, this change adds support
49583 for EFI disks.
f19dbdb7 49584
9cacaa17 49585 * util/i386/pc/grub-probefs.c: Include grub/term.h.
49586 (grub_getkey): New function.
49587 (grub_term_get_current): Likewise.
49588
49589 * util/i386/pc/grub-setup.c: Include grub/term.h.
49590 (grub_getkey): New function.
49591 (grub_term_get_current): Likewise.
49592
49593 * util/misc.c (grub_stop): Renamed to ...
49594 (grub_exit): ... this.
49595
49596 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
49597 (grub_exit): ... this.
49598 (grub_machine_init): Use grub_abort instead of abort.
49599 (grub_stop): Removed.
49600
49601 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
49602 abort.
49603
49604 * kern/i386/pc/startup.S (grub_exit): New function.
49605 (cold_reboot): New label.
49606
49607 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
49608 (grub_efi_init): Call grub_efidisk_init.
49609 (grub_efi_fini): Call grub_efidisk_fini.
49610
49611 * kern/efi/efi.c: Include grub/mm.h.
49612 (grub_efi_console_control_guid): Renamed to ...
49613 (console_control_guid): ... this.
49614 (grub_efi_loaded_image_guid): Renamed to ...
49615 (loaded_image_guid): ... this.
49616 (grub_efi_locate_handle): New function.
49617 (grub_efi_open_protocol): Likewise.
49618 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
49619 GRUB_EFI_CONSOLE_CONTROL_GUID.
49620 (grub_efi_exit): Removed.
49621 (grub_stop): Likewise.
49622 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
49623 (grub_exit): New function.
49624 (grub_print_device_path): Likewise.
49625
49626 * kern/rescue.c (grub_rescue_cmd_exit): New function.
49627 (grub_enter_rescue_mode): Register "exit".
49628
49629 * kern/misc.c (grub_real_dprintf): A cosmetic change.
49630 (grub_abort): New function.
49631
49632 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
49633
49634 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
49635
49636 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
49637
49638 * include/grub/efi/efi.h (grub_efi_exit): Removed.
49639 (grub_print_device_path): New prototype.
49640 (grub_efi_locate_handle): Likewise.
49641 (grub_efi_open_protocol): Likewise.
49642
49643 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
49644 * disk/efi/efidisk.c: Likewise.
49645
49646 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
49647
49648 * include/grub/efi/console_control.h
49649 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
49650
49651 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
49652 last 8 bytes as an array.
49653 (GRUB_EFI_DISK_IO_GUID): New macro.
49654 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
49655 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
49656 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
49657 grub_uint8_t.
49658 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
49659 (struct grub_efi_device_path): Rename the member "sub_type" to
49660 "subtype".
49661 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
49662 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
49663 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
49664 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
49665 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
49666 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
49667 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
49668 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
49669 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
49670 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
49671 (struct grub_efi_pci_device_path): New structure.
49672 (grub_efi_pci_device_path_t): New type.
49673 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
49674 (struct grub_efi_pccard_device_path): New structure.
49675 (grub_efi_pccard_device_path_t): New type.
49676 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
49677 (struct grub_efi_memory_mapped_device_path): New structure.
49678 (grub_efi_memory_mapped_device_path_t): New type.
49679 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
49680 (struct grub_efi_vendor_device_path): New structure.
49681 (grub_efi_vendor_device_path_t): New type.
49682 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
49683 (struct grub_efi_controller_device_path): New structure.
49684 (grub_efi_controller_device_path_t): New type.
49685 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
49686 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
49687 (struct grub_efi_acpi_device_path): New structure.
49688 (grub_efi_acpi_device_path_t): New type.
49689 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
49690 (struct grub_efi_expanded_acpi_device_path): New structure.
49691 (grub_efi_expanded_acpi_device_path_t): New type.
49692 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
49693 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
49694 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
49695 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
49696 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
49697 (struct grub_efi_atapi_device_path): New structure.
49698 (grub_efi_atapi_device_path_t): New type.
49699 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
49700 (struct grub_efi_fibre_channel_device_path): New structure.
49701 (grub_efi_fibre_channel_device_path_t): New type.
49702 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
49703 (struct grub_efi_1394_device_path): New structure.
49704 (grub_efi_1394_device_path_t): New type.
49705 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
49706 (struct grub_efi_usb_device_path): New structure.
49707 (grub_efi_usb_device_path_t): New type.
49708 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
49709 (struct grub_efi_usb_class_device_path): New structure.
49710 (grub_efi_usb_class_device_path_t): New type.
49711 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
49712 (struct grub_efi_i2o_device_path): New structure.
49713 (grub_efi_i2o_device_path_t): New type.
49714 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
49715 (struct grub_efi_mac_address_device_path): New structure.
49716 (grub_efi_mac_address_device_path_t): New type.
49717 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
49718 (struct grub_efi_ipv4_device_path): New structure.
49719 (grub_efi_ipv4_device_path_t): New type.
49720 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
49721 (struct grub_efi_ipv6_device_path): New structure.
49722 (grub_efi_ipv6_device_path_t): New type.
49723 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
49724 (struct grub_efi_infiniband_device_path): New structure.
49725 (grub_efi_infiniband_device_path_t): New type.
49726 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
49727 (struct grub_efi_uart_device_path): New structure.
49728 (grub_efi_uart_device_path_t): New type.
49729 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
49730 (struct grub_efi_vendor_messaging_device_path): New structure.
49731 (grub_efi_vendor_messaging_device_path_t): New type.
49732 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
49733 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
49734 (struct grub_efi_hard_drive_device_path): New structure.
49735 (grub_efi_hard_drive_device_path_t): New type.
49736 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
49737 (struct grub_efi_cdrom_device_path): New structure.
49738 (grub_efi_cdrom_device_path_t): New type.
49739 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
49740 (struct grub_efi_vendor_media_device_path): New structure.
49741 (grub_efi_vendor_media_device_path_t): New type.
49742 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
49743 (struct grub_efi_file_path_device_path): New structure.
49744 (grub_efi_file_path_device_path_t): New type.
49745 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
49746 (struct grub_efi_protocol_device_path): New structure.
49747 (grub_efi_protocol_device_path_t): New type.
49748 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
49749 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
49750 (struct grub_efi_bios_device_path): New structure.
49751 (grub_efi_bios_device_path_t): New type.
49752 (struct grub_efi_disk_io): New structure.
49753 (grub_efi_disk_io_t): New type.
49754 (struct grub_efi_block_io_media): New structure.
49755 (grub_efi_block_io_media_t): New type.
49756 (struct grub_efi_block_io): New structure.
49757 (grub_efi_block_io_t): New type.
49758
49759 * include/grub/misc.h (grub_stop): Removed.
49760 (grub_exit): New prototype.
49761 (grub_abort): Likewise.
49762
49763 * include/grub/disk.h (enum grub_disk_dev_id): Added
49764 GRUB_DISK_DEVICE_EFIDISK_ID.
49765
49766 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
49767 disk/efi/efidisk.c.
49768 (kernel_syms.lst): Remove the target if an error occurs.
49769
49986a9f 497702006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
49771
49772 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
49773 as it was simply too buggy.
49774
970d3b8a 497752006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
49776
49777 * kern/misc.c (grub_lltoa): New function.
49778 (grub_vsprintf): Added support for the long long suffix,
49779 i.e. "ll".
49780
ff04ec24 497812006-04-20 Hollis Blanchard <hollis@penguinppc.org>
49782
49783 * Makefile.in (LDFLAGS): Add variable.
49784 (LD): Remove variable.
49785 * configure.ac: Add -m32 to LDFLAGS.
49786 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
49787 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
49788 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
49789 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
49790 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
49791 variables.
49792 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
49793 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
49794 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
49795
37e5e1a4 497962006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
49797
49798 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
49799 length for unknown glyph.
49800
c352d8dd 498012006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
49802
2eab1c0d 49803 Add support for pre-loaded modules into the EFI port.
f19dbdb7 49804
2eab1c0d 49805 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
49806 completely. Accept one more argument DIR. The caller has changed.
49807
49808 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
49809
49810 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
49811 (grub_efi_loaded_image_guid): New variable.
49812 (grub_efi_get_loaded_image): New function.
49813 (grub_arch_modules_addr): Likewise.
49814
49815 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
49816 prototype.
49817
49818 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
49819 (struct grub_efi_loaded_image): New structure.
49820 (grub_efi_loaded_image_t): New type.
49821
498222006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 49823
c352d8dd 49824 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
49825 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
49826 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
49827
6d01d6b4 498282006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
49829
49830 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
49831
976a4ea0 498322006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
49833
49834 * DISTLIST: Added include/grub/efi/console.h,
49835 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
49836 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49837
49838 * include/grub/efi/console.h: New file.
49839 * include/grub/efi/time.h: Likewise.
49840 * include/grub/i386/efi/kernel.h: Likewise.
49841 * kern/efi/init.c: Likewise.
49842 * kern/efi/mm.c: Likewise.
49843 * term/efi/console.c: Likewise.
f19dbdb7 49844
976a4ea0 49845 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
49846 (grub_stop): Removed.
49847 (grub_get_rtc): Likewise.
49848 (grub_machine_init): Simply call grub_efi_init.
49849 (grub_machine_fini): Call grub_efi_fini.
49850
49851 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
49852 (grub_efi_output_string): Removed.
49853 (grub_efi_stall): New function.
49854 (grub_stop): Likewise.
49855 (grub_get_rtc): Likewise.
49856
49857 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
49858 (grub_efi_stall): New prototype.
49859 (grub_efi_allocate_pages): Likewise.
49860 (grub_efi_free_pages): Likewise.
49861 (grub_efi_get_memory_map): Likewise.
49862 (grub_efi_mm_init): Likewise.
49863 (grub_efi_mm_fini): Likewise.
49864 (grub_efi_init): Likewise.
49865 (grub_efi_fini): Likewise.
49866
49867 * include/grub/i386/efi/time.h: Do not include
49868 grub/symbol.h. Include grub/efi/time.h.
49869 (GRUB_TICKS_PER_SECOND): Removed.
49870 (grub_get_rtc): Likewise.
49871
49872 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
49873 Added padding. The EFI spec is buggy.
49874 (GRUB_EFI_BLACK): New macro.
49875 (GRUB_EFI_BLUE): Likewise.
49876 (GRUB_EFI_GREEN): Likewise.
49877 (GRUB_EFI_CYAN): Likewise.
49878 (GRUB_EFI_RED): Likewise.
49879 (GRUB_EFI_MAGENTA): Likewise.
49880 (GRUB_EFI_BROWN): Likewise.
49881 (GRUB_EFI_LIGHTGRAY): Likewise.
49882 (GRUB_EFI_BRIGHT): Likewise.
49883 (GRUB_EFI_DARKGRAY): Likewise.
49884 (GRUB_EFI_LIGHTBLUE): Likewise.
49885 (GRUB_EFI_LIGHTGREEN): Likewise.
49886 (GRUB_EFI_LIGHTCYAN): Likewise.
49887 (GRUB_EFI_LIGHTRED): Likewise.
49888 (GRUB_EFI_LIGHTMAGENTA): Likewise.
49889 (GRUB_EFI_YELLOW): Likewise.
49890 (GRUB_EFI_WHITE): Likewise.
49891 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
49892 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
49893 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
49894 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
49895 (GRUB_EFI_BACKGROUND_RED): Likewise.
49896 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
49897 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
49898 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
49899 (GRUB_EFI_TEXT_ATTR): Likewise.
49900
49901 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
49902 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
49903 (kernel_mod_HEADERS): Added efi/time.h.
49904
83709125 499052006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
49906
49907 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
49908 include/grub/efi/api.h, include/grub/efi/console_control.h,
49909 include/grub/efi/efi.h, include/grub/efi/pe32.h,
49910 include/grub/i386/efi/time.h, kern/efi/efi.c,
49911 kern/i386/efi/init.c, kern/i386/efi/startup.S,
49912 and util/i386/efi/grub-mkimage.c.
49913
49914 * Makefile.in (RMKFILES): Added i386-efi.rmk.
49915
49916 * genmk.rb (PModule#rule): Do not export symbols if
49917 #{prefix}_EXPORTS is set to "no".
49918
49919 * conf/i386-efi.mk: New file.
49920 * conf/i386-efi.rmk: Likewise.
49921 * include/grub/efi/api.h: Likewise.
49922 * include/grub/efi/console_control.h: Likewise.
49923 * include/grub/efi/efi.h: Likewise.
49924 * include/grub/efi/pe32.h: Likewise.
49925 * include/grub/i386/efi/time.h: Likewise.
49926 * kern/efi/efi.c: Likewise.
49927 * kern/i386/efi/init.c: Likewise.
49928 * kern/i386/efi/startup.S: Likewise.
49929 * util/i386/efi/grub-mkimage.c: Likewise.
49930
499312006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 49932
49933 * include/grub/script.h: Include <grub/parser.h> and
49934 "grub_script.tab.h".
49935 (struct grub_lexer_param): New struct.
49936 (struct grub_parser_param): Likewise.
49937 (grub_script_create_arglist): Pass the state in an argument.
49938 (grub_script_add_arglist): Likewise.
49939 (grub_script_create_cmdline): Likewise.
49940 (grub_script_create_cmdblock): Likewise.
49941 (grub_script_create_cmdif): Likewise.
49942 (grub_script_create_cmdmenu): Likewise.
49943 (grub_script_add_cmd): Likewise.
49944 (grub_script_arg_add): Likewise.
49945 (grub_script_lexer_ref): Likewise.
49946 (grub_script_lexer_deref): Likewise.
49947 (grub_script_lexer_record_start): Likewise.
49948 (grub_script_lexer_record_stop): Likewise.
49949 (grub_script_mem_record): Likewise.
49950 (grub_script_mem_record_stop): Likewise.
49951 (grub_script_malloc): Likewise.
49952 (grub_script_yylex): Likewise.
49953 (grub_script_yyparse): Likewise.
49954 (grub_script_yyerror): Likewise.
49955 (grub_script_yylex): Likewise.
49956 (grub_script_lexer_init): Return the state.
49957
49958 * normal/lexer.c (grub_script_lexer_state): Removed variable.
49959 (grub_script_lexer_done): Likewise.
49960 (grub_script_lexer_getline): Likewise.
49961 (grub_script_lexer_refs): Likewise.
49962 (script): Likewise.
49963 (newscript): Likewise.
49964 (record): Likewise.
49965 (recording): Likewise.
49966 (recordpos): Likewise.
49967 (recordlen): Likewise.
49968 (grub_script_lexer_init): Return the state instead of setting
49969 global variables.
49970 (grub_script_lexer_ref): Use the newly added argument for state
49971 instead of globals.
49972 (grub_script_lexer_deref): Likewise.
49973 (grub_script_lexer_record_start): Likewise.
49974 (grub_script_lexer_record_stop): Likewise.
49975 (recordchar): Likewise.
49976 (nextchar): Likewise.
49977 (grub_script_yylex2): Likewise.
49978 (grub_script_yylex): Likewise.
49979 (grub_script_yyerror): Likewise.
49980
49981 * normal/parser.y (func_mem): Removed variable.
49982 (menu_entry): Likewise.
49983 (err): Likewise.
49984 (%lex-param): New parser option.
49985 (%parse-param): Likewise.
49986 (script): Always return the AST.
49987 (argument): Pass the state around.
49988 (arguments): Likewise.
49989 (grubcmd): Likewise.
49990 (commands): Likewise.
49991 (function): Likewise.
49992 (menuentry): Likewise.
49993 (if_statement): Likewise.
49994 (if): Likewise.
49995
49996 * normal/script.c (grub_script_memused): Removed variable.
49997 (grub_script_parsed): Likewise.
49998 (grub_script_malloc): Added a state argument. Use that instead of
49999 global variables.
50000 (grub_script_mem_record): Likewise.
50001 (grub_script_mem_record_stop): Likewise.
50002 (grub_script_arg_add): Likewise.
50003 (grub_script_add_arglist): Likewise.
50004 (grub_script_create_cmdline): Likewise.
50005 (grub_script_create_cmdif): Likewise.
50006 (grub_script_create_cmdmenu): Likewise.
50007 (grub_script_add_cmd): Likewise.
50008 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 50009
e2a8c904 500102006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 50011
50012 * normal/command.c (grub_command_init): Remove the title command.
50013
50014 * normal/lexer.c (grub_script_yylex): Renamed from this...
50015 (grub_script_yylex2): ... to this.
50016 (grub_script_yylex): New function. Temporary
50017 introduced to filter some tokens.
50018 (grub_script_yyerror): Print a newline.
50019
50020 * normal/main.c (read_config_file): Output information about the
50021 lines that contain errors. Wait for a key after all lines have
50022 been processed. Don't return an empty menu.
50023
50024 * normal/parser.y (func_mem): Don't initialize.
50025 (menu_entry): Likewise.
50026 (err): New variable.
50027 (script): Don't return anything when an error was encountered.
50028 (ws, returns): Removed rules.
50029 (argument): Disabled concatenated variable support.
50030 (arguments): Remove explicit separators.
50031 (grubcmd): Likewise.
50032 (function): Likewise.
50033 (menuentry): Likewise.
50034 (if): Likewise.
50035 (commands): Likewise. Add error handling.
50036
50037 * normal/script.c (grub_script_create_cmdline): If
50038 `grub_script_parsed' is 0, assume the parser encountered an error.
50039
c9a86192 500402006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50041
50042 * configure.ac: Add support for EFI. Fix the typo
50043 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50044
70f3b243 500452006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50046
50047 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50048 foreign multibyte characters should be shown correctly.
50049
65f201ad 500502006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50051
50052 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50053 calculation.
50054 (read_config_file): Made it to close file before returning.
50055
b4b93674 500562006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50057
50058 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50059 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50060 video/i386/pc/vbefill.c.
50061
50062 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50063 video/i386/pc/vbefill.c.
50064
50065 * include/grub/video.h (grub_video_blit_format): New enum.
50066 (grub_video_mode_info): Added new member blit_format.
50067 (grub_video_get_blit_format): New function prototype.
50068
50069 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50070 function prototype.
50071 (grub_video_vbe_map_rgb): Likewise.
50072 (grub_video_vbe_unmap_color): Likewise.
50073
50074 * include/grub/i386/pc/vbeblit.h: New file.
50075
50076 * include/grub/i386/pc/vbefill.h: New file.
50077
50078 * video/video.c (grub_video_get_blit_format): New function.
50079 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50080 (grub_video_vbe_map_rgb): Likewise.
50081 (grub_video_vbe_unmap_color): Likewise.
50082
50083 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50084 optimized fills.
50085 (grub_video_vbe_blit_render_target): Changed to use more optimized
50086 blits.
50087 (grub_video_vbe_setup): Added detection for optimized settings.
50088 (grub_video_vbe_create_render_target): Likewise.
50089
50090 * video/i386/pc/vbeblit.c: New file.
50091
50092 * video/i386/pc/vbefill.c: New file.
50093
c2379b9c 500942006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50095
50096 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50097 here...
50098
50099 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50100 parsing to support both hex and dec ranges. If filename was missing
50101 show usage information.
50102
bd0d7896 501032006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50104
50105 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50106 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50107
50108 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50109 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50110 (video_mod_SOURCES): Added.
50111 (video_mod_CFLAGS): Likewise.
50112 (video_mod_LDFLAGS): Likewise.
50113 (gfxterm_mod_SOURCES): Likewise.
50114 (gfxterm_mod_CFLAGS): Likewise.
50115 (gfxterm_mod_LDFLAGS): Likewise.
50116 (videotest_mod_SOURCES): Likewise.
50117 (videotest_mod_CFLAGS): Likewise.
50118 (videotest_mod_LDFLAGS): Likewise.
50119 (vesafb_mod_SOURCES): Removed.
50120 (vesafb_mod_CFLAGS): Likewise.
50121 (vesafb_mod_LDFLAGS): Likewise.
50122 (vga_mod_SOURCES): Likewise.
50123 (vga_mod_CFLAGS): Likewise.
50124 (vga_mod_LDFLAGS): Likewise.
50125
50126 * commands/videotest.c: New file.
50127
50128 * font/manager.c (fill_with_default_glyph): Modified to use
50129 grub_font_glyph.
50130 (grub_font_get_glyph): Likewise.
50131 (fontmanager): Renamed from this...
50132 (font_manager): ... to this.
50133
50134 * include/grub/font.h (grub_font_glyph): Added new structure.
50135 (grub_font_get_glyph): Modified to use grub_font_glyph.
50136
50137 * include/grub/misc.h (grub_abs): Added as inline function.
50138
50139 * include/grub/video.h: New file.
50140
50141 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50142 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50143 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50144 (grub_vbe_get_controller_info): Renamed from this...
50145 (grub_vbe_bios_get_controller_info): ... to this.
50146 (grub_vbe_get_mode_info): Renamed from this...
50147 (grub_vbe_bios_get_mode_info): ... to this.
50148 (grub_vbe_set_mode): Renamed from this...
50149 (grub_vbe_bios_set_mode): ... to this.
50150 (grub_vbe_get_mode): Renamed from this...
50151 (grub_vbe_bios_get_mode): ... to this.
50152 (grub_vbe_set_memory_window): Renamed from this...
50153 (grub_vbe_bios_set_memory_window): ... to this.
50154 (grub_vbe_get_memory_window): Renamed from this...
50155 (grub_vbe_bios_get_memory_window): ... to this.
50156 (grub_vbe_set_scanline_length): Renamed from this...
50157 (grub_vbe_set_scanline_length): ... to this.
50158 (grub_vbe_get_scanline_length): Renamed from this...
50159 (grub_vbe_bios_get_scanline_length): ... to this.
50160 (grub_vbe_set_display_start): Renamed from this...
50161 (grub_vbe_bios_set_display_start): ... to this.
50162 (grub_vbe_get_display_start): Renamed from this...
50163 (grub_vbe_bios_get_display_start): ... to this.
50164 (grub_vbe_set_palette_data): Renamed from this...
50165 (grub_vbe_bios_set_palette_data): ... to this.
50166 (grub_vbe_set_pixel_rgb): Removed.
50167 (grub_vbe_set_pixel_index): Likewise.
50168
50169 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50170 from this...
50171 (grub_vbe_bios_get_controller_info): ... to this.
50172 (grub_vbe_get_mode_info): Renamed from this...
50173 (grub_vbe_bios_get_mode_info): ... to this.
50174 (grub_vbe_set_mode): Renamed from this...
50175 (grub_vbe_bios_set_mode): ... to this.
50176 (grub_vbe_get_mode): Renamed from this...
50177 (grub_vbe_bios_get_mode): ... to this.
50178 (grub_vbe_set_memory_window): Renamed from this...
50179 (grub_vbe_bios_set_memory_window): ... to this.
50180 (grub_vbe_get_memory_window): Renamed from this...
50181 (grub_vbe_bios_get_memory_window): ... to this.
50182 (grub_vbe_set_scanline_length): Renamed from this...
50183 (grub_vbe_set_scanline_length): ... to this.
50184 (grub_vbe_get_scanline_length): Renamed from this...
50185 (grub_vbe_bios_get_scanline_length): ... to this.
50186 (grub_vbe_set_display_start): Renamed from this...
50187 (grub_vbe_bios_set_display_start): ... to this.
50188 (grub_vbe_get_display_start): Renamed from this...
50189 (grub_vbe_bios_get_display_start): ... to this.
50190 (grub_vbe_set_palette_data): Renamed from this...
50191 (grub_vbe_bios_set_palette_data): ... to this.
50192 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50193 getting corrupted after calling it. Added more pushes and pops.
50194 (grub_vbe_bios_set_mode): Likewise.
50195 (grub_vbe_bios_get_mode): Likewise.
50196 (grub_vbe_bios_get_memory_window): Likewise.
50197 (grub_vbe_bios_set_scanline_length): Likewise.
50198 (grub_vbe_bios_get_scanline_length): Likewise.
50199 (grub_vbe_bios_get_display_start): Likewise.
50200 (grub_vbe_bios_set_palette_data): Likewise.
50201
50202 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50203 (cl_insert): Likewise.
50204 (cl_delete): Likewise.
50205
50206 * term/gfxterm.c: New file.
50207
50208 * term/i386/pc/vesafb.c: Removed file.
50209
50210 * video/video.c: New file.
50211
50212 * video/i386/pc/vbe.c (real2pm): Added new function.
50213 (grub_video_vbe_draw_pixel): Likewise.
50214 (grub_video_vbe_get_video_ptr): Likewise.
50215 (grub_video_vbe_get_pixel): Likewise
50216 (grub_video_vbe_init): Likewise.
50217 (grub_video_vbe_fini): Likewise.
50218 (grub_video_vbe_setup): Likewise.
50219 (grub_video_vbe_get_info): Likewise.
50220 (grub_video_vbe_set_palette): Likewise.
50221 (grub_video_vbe_get_palette): Likewise.
50222 (grub_video_vbe_set_viewport): Likewise.
50223 (grub_video_vbe_get_viewport): Likewise.
50224 (grub_video_vbe_map_color): Likewise.
50225 (grub_video_vbe_map_rgb): Likewise.
50226 (grub_video_vbe_map_rgba): Likewise.
50227 (grub_video_vbe_unmap_color): Likewise.
50228 (grub_video_vbe_fill_rect): Likewise.
50229 (grub_video_vbe_blit_glyph): Likewise.
50230 (grub_video_vbe_blit_bitmap): Likewise.
50231 (grub_video_vbe_blit_render_target): Likewise.
50232 (grub_video_vbe_scroll): Likewise.
50233 (grub_video_vbe_swap_buffers): Likewise.
50234 (grub_video_vbe_create_render_target): Likewise.
50235 (grub_video_vbe_delete_render_target): Likewise.
50236 (grub_video_vbe_set_active_render_target): Likewise.
50237 (grub_vbe_set_pixel_rgb): Remove function.
50238 (grub_vbe_set_pixel_index): Likewise.
50239 (index_color_mode): Remove static variable.
50240 (active_mode): Likewise.
50241 (framebuffer): Likewise.
50242 (bytes_per_scan_line): Likewise.
50243 (grub_video_vbe_adapter): Added new static variable.
50244 (framebuffer): Likewise.
50245 (render_target): Likewise.
50246 (initial_mode): Likewise.
50247 (mode_in_use): Likewise.
50248 (mode_list): Likewise.
50249
5f97350b 502502006-03-10 Marco Gerards <marco@gnu.org>
50251
50252 * configure.ac (AC_INIT): Bumped to 1.93.
50253
50254 * DISTLIST: Added `include/grub/hfs.h'.
50255
a3c5c6f8 502562006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50257
50258 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50259 18H, which might help the BIOS falling back to next boot media.
50260
6de53d26 502612006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50262
50263 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50264 Poe Chen <poe.poechen@gmail.com>.
50265
77c4a393 502662006-01-17 Marco Gerards <marco@gnu.org>
50267
50268 * include/grub/normal.h: Include <grub/script.h>.
50269 (grub_command_list): Removed struct.
50270 (grub_command_list_t): Removed type.
50271 (grub_menu_entry): Remove members `num' and `command_list'. Add
50272 members `commands' and `sourcecode'.
50273 * include/grub/script.h: Add inclusion guards.
50274 (grub_script_cmd_menuentry): New struct.
50275 (grub_script_execute_menuentry): New prototype.
50276 (grub_script_lexer_record_start): Likewise.
50277 (grub_script_lexer_record_stop): Likewise.
50278 * normal/execute.c (grub_script_execute_menuentry): New function.
50279 * normal/lexer.c (record, recording, recordpos, recordlen): New
50280 variables.
50281 (grub_script_lexer_record_start): New function.
50282 (grub_script_lexer_record_stop): Likewise.
50283 (recordchar): Likewise.
50284 (nextchar): Likewise.
50285 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50286 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50287 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50288 (current_menu): New variable.
50289 (free_menu): Mainly rewritten.
50290 (grub_normal_menu_addentry): New function.
50291 (read_config_file): Rewritten.
50292 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 50293 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 50294 the menu entry.
50295 (run): Mainly rewritten.
50296 * normal/parser.y (menu_entry): New variable.
50297 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50298 (menuentry): New rule.
50299 (command): Add `menuentry'.
50300 (if_statement): Allow additional returns before `fi'.
50301 * normal/script.c (grub_script_create_cmdmenu): New function.
50302
144f1f98 503032006-01-03 Marco Gerards <marco@gnu.org>
50304
50305 * INSTALL: GNU Bison is required.
50306 * configure.ac: Rewritten the test to detect Bison.
50307 * Makefile.in (YACC): New variable. Reported by Xun Sun
50308 <xun.sun.cn@gmail.com>.
50309
af4b2d89 503102006-01-03 Marco Gerards <marco@gnu.org>
50311
50312 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50313 the HFS+ filesystem to filesystem blocks.
50314 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50315 GCC warning is silenced.
50316
15643b71 503172006-01-03 Marco Gerards <marco@gnu.org>
50318
50319 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50320 read from disk from big endian to host byte order.
50321
00905879 503222006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50323
50324 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50325 documentation.
50326 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50327 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50328 embedded HFS+ filesystem.
50329 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50330 (grub_hfs_sblock): Move from here...
50331 * include/grub/hfs.h: To here... New file.
50332 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50333 documentation.
50334 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50335 New macros.
50336 (grub_hfsplus_volheader): Change type of member `magic' to
50337 `grub_uint16_t'.
50338 (grub_hfsplus_data): Add new member `embedded_offset'.
50339 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50340 returned block.
50341 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50342 Calculate the offset.
50343
8899bc3e 503442005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50345
50346 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50347 Removed.
50348 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50349
ae8c0277 503502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50351
50352 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50353 ENV->NAME is NULL after allocating ENV->VALUE.
50354
07084456 503552005-12-25 Marco Gerards <marco@gnu.org>
50356
50357 * kern/env.c (grub_env_set): Rewritten the error handling code.
50358
4750f5f1 503592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50360
50361 * geninit.sh: Made more robust, and more portable.
50362
50214199 503632005-12-25 Marco Gerards <marco@gnu.org>
50364
50365 Add support for Apple HFS+ filesystems.
f19dbdb7 50366
50214199 50367 * fs/hfsplus.c: New file.
50368
50369 * DISTLIST: Added `fs/hfsplus.c'.
50370
50371 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50372 (hfsplus_mod_SOURCES): New variable.
50373 (hfsplus_mod_CFLAGS): Likewise.
50374 (hfsplus_mod_LDFLAGS): Likewise.
50375 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50376 (grub_setup_SOURCES): Likewise.
50377 (grub_mkdevicemap_SOURCES): Likewise.
50378 (grub_emu_SOURCES): Likewise.
50379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50380
50381 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50382
50383 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50384
befaed6c 503852005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50386
50387 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50388 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50389 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50390 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50391 normal/lexer.c, normal/parser.y, normal/script.c, and
50392 partmap/gpt.c.
50393 Removed kern/sparc64/cache.c.
50394
50395 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50396 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50397 grub_emu_init.c.
50398
50399 * configure.ac (AC_INIT): Bumped to 1.92.
50400
6a124103 504012005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50402
50403 * kern/err.c (grub_error_push): Added new function to support error
50404 stacks.
50405 (grub_error_pop): Likewise.
50406 (grub_error_stack_items): New local variable to support error stacks.
50407 (grub_error_stack_pos): Likewise.
50408 (grub_error_stack_assert): Likewise.
50409 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50410 stack depth.
50411 (grub_print_error): Added support to print errors from error stack.
50412
50413 * include/grub/err.h (grub_error_push): Added function prototype.
50414 (grub_error_pop): Likewise.
50415
be973c1b 504162005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50417
50418 * configure.ac: Accept `powerpc64' as host_cpu.
50419 (amd64): Rename to `biarch32'.
50420
50421 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50422 non-cacheline-aligned addresses.
50423
50424 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50425 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50426 if `size' is non-zero.
50427
b04216ab 504282005-12-03 Marco Gerards <mgerards@xs4all.nl>
50429
50430 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50431 and `cd' to make sure the filename is not prefixed with a
50432 directory name.
50433 (pkgdata_MODULES): Add `gpt.mod'.
50434 (gpt_mod_SOURCES): New variable.
50435 (gpt_mod_CFLAGS): Likewise.
50436 (gpt_mod_LDFLAGS): Likewise.
50437
50438 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50439
50440 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50441 New macro.
50442
50443 * partmap/gpt.c: New file.
50444
50445 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50446 GPT partition map is detected.
50447
41730ed9 504482005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50449
50450 * commands/i386/pc/play.c: New file.
50451 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50452 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
50453 macros.
f19dbdb7 50454
95dc3643 504552005-11-27 Marco Gerards <mgerards@xs4all.nl>
50456
50457 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
50458 ((unused))' to silence gcc warning.
50459
1569ec51 504602005-11-26 Hollis Blanchard <hollis@penguinppc.org>
50461
50462 * configure.ac: Correct `AC_PROG_YACC' test.
50463
9abde152 504642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50465
50466 * util/powerpc/ieee1275/grub-install.in: Run the mount point
50467 check before installing files.
50468
44b83271 504692005-11-22 Mike Small <smallm@panix.com>
50470
50471 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
50472 number regex so multidigit numbers are recognized correctly.
50473
504742005-11-22 Mike Small <smallm@panix.com>
50475
50476 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
50477 debugging message before attempting to claim memory.
50478 (grub_rescue_cmd_initrd): Add a claim debugging message and try
50479 multiple addresses in case of failure.
50480
9c12956b 504812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50482
50483 * term/tparm.c (get_space): Remove empty `if' statement.
50484
50485 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
50486
50487 * kern/parser.c (check_varstate): Rename `state' to 's'.
50488
aeaf81d9 504892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50490
50491 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
50492 variable definitions to the beginning of each function. Sort stack
50493 variables by size.
50494 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
50495 `buf' argument to `char *'.
50496
79bbb63f 504972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
50498
50499 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
50500 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50501 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 50502 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50503 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50504 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50505 configfile.mod, search.mod, gzio.mod and test.mod.
50506 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50507 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50508 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50509 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50510 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50511 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50512 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50513 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50514 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50515 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50516 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50517 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50518 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50519 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50520 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50521 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50522 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50523 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50524 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50525 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50526 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50527 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50528 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
50529
50530 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
50531 `grep --include'.
50532 (pkgdata_MODULES): Add test.mod.
50533
233b1628 505342005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50535
50536 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
50537 appending to variables with "+=".
50538 (PModule): Use full pathname to generate *.lst filenames.
50539
50540 * Makefile.in: Fixed list rules moved from genmk.rb.
50541 (.DELETE_ON_ERROR): New special target.
50542 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
50543
50544 * conf/i386-pc.rmk: Include conf/common.mk.
50545 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 50546 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 50547 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
50548 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
50549 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
50550 configfile.mod, search.mod, gzio.mod and test.mod.
50551 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
50552 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
50553 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
50554 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
50555 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
50556 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
50557 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
50558 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
50559 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
50560 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
50561 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50562 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50563 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
50564 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
50565 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
50566 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
50567 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
50568 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
50569 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
50570 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
50571 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
50572 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
50573 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
50574 here...
50575 * conf/common.rmk: ... to here. New file.
50576
50577 * conf/common.mk: New file.
50578
16f820c8 505792005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
50580
50581 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
50582 (grub_script.tab.c): ... here.
50583
50584 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
50585 (grub_script.tab.c): ... here.
50586
50587 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
50588 (grub_script.tab.c): ... here.
50589
50590 * normal/command.c (grub_command_find): Fixed a memory leak of
50591 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
50592
63ba1554 505932005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50594
50595 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
50596 "@" which marks the start of a comment on ARM.
50597 (VARIABLE): Likewise.
50598
7f67dc13 505992005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50600
79bbb63f 50601 Add support for Linux/ADFS partition tables.
7f67dc13 50602
50603 * partmap/acorn.c: New file.
50604
50605 * include/grub/acorn_filecore.h: Likewise.
50606
50607 * DISTLIST: Added `partmap/acorn.c' and
50608 `include/grub/acorn_filecore.h'.
f19dbdb7 50609
7f67dc13 50610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50611 `partmap/acorn.c'.
50612 (pkgdata_MODULES): Add `acorn.mod'.
50613 (acorn_mod_SOURCES): New variable.
50614 (acorn_mod_CFLAGS): Likewise.
50615
50616 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50617 `partmap/acorn.c'.
50618 (pkgdata_MODULES): Add `acorn.mod'.
50619 (acorn_mod_SOURCES): New variable.
50620 (acorn_mod_CFLAGS): Likewise.
50621
50622 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
50623 (pkgdata_MODULES): Add `acorn.mod'.
50624 (acorn_mod_SOURCES): New variable.
50625 (acorn_mod_CFLAGS): Likewise.
50626 (acorn_mod_LDFLAGS): Likewise.
50627
50628 * include/types.h (grub_disk_addr_t): New typedef.
50629
6d099807 506302005-11-13 Marco Gerards <mgerards@xs4all.nl>
50631
50632 * geninit.sh: New file.
50633
50634 * geninitheader.sh: Likewise.
50635
50636 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
50637 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
50638 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
50639 * commands/configfile.c (grub_configfile_init)
50640 (grub_configfile_fini): Likewise.
50641 * commands/default.c (grub_default_init, grub_default_fini):
50642 Likewise.
50643 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
50644 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
50645 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
50646 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
50647 Likewise.
50648 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
50649 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
50650 Likewise.
50651 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 50652 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 50653 Likewise.
50654 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
50655 Likewise.
fe6b695a 50656 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 50657 Likewise.
50658 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
50659 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
50660 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
50661 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
50662 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
50663 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
50664 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
50665 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
50666 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
50667 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
50668 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
50669 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
50670 * partmap/amiga.c (grub_amiga_partition_map_init)
50671 (grub_amiga_partition_map_fini): Likewise.
50672 * partmap/apple.c (grub_apple_partition_map_init)
50673 (grub_apple_partition_map_fini): Likewise.
50674 * partmap/pc.c (grub_pc_partition_map_init)
50675 (grub_pc_partition_map_fini): Likewise.
50676 * partmap/sun.c (grub_sun_partition_map_init,
50677 grub_sun_partition_map_fini): Likewise.
50678 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
50679 Likewise.
50680
50681 * util/grub-emu.c: Include <grub_modules_init.h>.
50682 (main): Don't initialize and de-initialize any modules directly,
50683 use `grub_init_all' and `grub_fini_all' instead.
50684
50685 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
50686 `grub_vesafb_mod_init'.
50687 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
50688 all users.
50689 * term/i386/pc/vga.c (grub_vga_init): Renamed to
50690 `grub_vga_mod_init'. Updated all users.
50691 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 50692
6d099807 50693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
50694 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
50695 rules.
50696
50697 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
50698 Generate a function to initialize the module in utilities.
50699 Updated all callers.
50700 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
50701 initialize the module in utilities. Updated all callers.
50702
9046bcf0 507032005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50704
50705 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
50706 escape sequence and a literal ^L to clear the screen.
50707
50708 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
50709 when returning from Open Firmware.
50710
d13ea639 507112005-11-09 Hollis Blanchard <hollis@penguinppc.org>
50712
50713 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
50714 (grub_ofconsole_height): Likewise.
50715 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
50716 manually insert a '\n'.
50717 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
50718 `grub_ofconsole_height'. Return early if these are already set.
50719
a8fcf206 507202005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
50721
50722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
50723 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
50724 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
50725 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
50726 and `normal/script.c'.
50727 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50728 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50729 (test_mod_SOURCES): New variable.
50730 (test_mod_CFLAGS): Likewise.
50731 (test_mod_LDFLAGS): Likewise.
50732 (pkgdata_MODULES): Add `test.mod'.
50733 (grub_script.tab.c): New rule.
50734 (grub_script.tab.h): Likewise.
50735
b6b32745 507362005-11-07 Marco Gerards <mgerards@xs4all.nl>
50737
50738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50739 `commands/test.c', `normal/execute.c', `normal/lexer.c',
50740 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50741 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50742 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
50743 (test_mod_SOURCES): New variable.
50744 (test_mod_CFLAGS): Likewise.
50745 (pkgdata_MODULES): Add `test.mod'.
50746 (grub_script.tab.c): New rule.
50747 (grub_script.tab.h): Likewise.
50748
daac212a 507492005-11-06 Marco Gerards <mgerards@xs4all.nl>
50750
50751 Add initial scripting support.
50752
50753 * commands/test.c: New file.
50754 * include/grub/script.h: Likewise.
50755 * normal/execute.c: Likewise.
50756 * normal/function.c: Likewise.
50757 * normal/lexer.c: Likewise.
50758 * normal/parser.y: Likewise.
50759 * normal/script.c: Likewise.
50760
50761 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 50762
daac212a 50763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
50764 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
50765 `normal/function.c' and `normal/script.c'.
50766 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
50767 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 50768 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
50769 variables.
daac212a 50770 (pkgdata_MODULES): Add `test.mod'.
50771 (grub_script.tab.c): New rule.
50772 (grub_script.tab.h): Likewise.
50773
50774 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
50775
50776 * include/grub/normal.h (grub_test_init): New prototype.
50777 (grub_test_fini): Likewise.
f19dbdb7 50778
daac212a 50779 * normal/command.c: Include <grub/script.h>.
50780 (grub_command_execute): Rewritten.
f19dbdb7 50781
daac212a 50782 * util/grub-emu.c (main): Call `grub_test_init' and
50783 `grub_test_fini'.
50784
77500b2b 507852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50786
50787 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
50788 to 0.
50789 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
50790 there are no pending characters.
50791
e45deb9e 507922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50793
50794 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
50795 `grub_strndup' to drop device arguments. Replace unnecessary
50796 `grub_strndup' with `grub_strdup'.
50797
4ce32619 507982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
50799
50800 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
50801 `debug' environment variable has been set.
50802
508032005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 50804
4ce32619 50805 * Makefile.in (install-local): Use $(DATA).
50806 (uninstall): Likewise.
50807 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
50808 (sbin_UTILITIES): ... to here.
50809 (sbin_SCRIPTS): New variable.
50810 (grub_install_SOURCES): New variable.
50811 * util/powerpc/ieee1275/grub-install.in: New file.
50812 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
50813 variable.
50814 (add_segments): Call `grub_util_get_path'.
50815
25fe6f03 508162005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
50817
50818 From Timothy Baldwin:
50819 * commands/ls.c (grub_ls_list_files): Close FILE with
50820 grub_file_close.
50821 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
50822
04ccf3ec 508232005-10-24 Marco Gerards <mgerards@xs4all.nl>
50824
50825 * include/grub/parser.h: New file.
50826
50827 * kern/parser.c: Likewise.
50828
50829 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
50830 (grub_setup_SOURCES): Likewise.
50831 (grub_probefs_SOURCES): Likewise.
50832 (grub_emu_SOURCES): Likewise.
50833 (kernel_img_HEADERS): Add `parser.h'.
50834
50835 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50836 (grub_emu_SOURCES): Add `kern/parser.c'.
50837 (grubof_SOURCES): Likewise.
50838
50839 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
50840 (grubof_SOURCES): Add `kern/parser.c'.
50841
50842 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
50843
50844 * kern/misc.c (grub_split_cmdline): Removed function.
50845
50846 * kern/rescue.c: Include <grub/parser.h>.
50847 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
50848 of `grub_split_cmdline'.
50849
50850 * normal/command.c: Include <grub/parser.h>.
50851 (grub_command_execute): Use `grub_parser_split_cmdline' instead
50852 of `grub_split_cmdline'.
50853
50854 * normal/completion.c: Include <grub/parser.h>.
50855 (cmdline_state): New variable.
50856 (iterate_dir): End the filename with a quote depending on the
50857 command line state.
50858 (get_state): new function.
50859 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
50860 split the arguments and determine the current argument. When the
50861 argument string is not quoted, escape all spaces.
50862
6d8f4b0e 508632005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50864
50865 * normal/sparc64/setjmp.S: New file.
50866
15cf03ed 508672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50868
50869 * include/grub/sparc64/libgcc.h: New file.
50870 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
50871 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
50872 normal/sparc64/setjmp.c.
50873
03e8661a 508742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
50875
50876 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
50877 * kern/sparc64/cache.S: New file.
50878 * kern/sparc64/cache.c: Removed.
50879 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
50880 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
50881 -mtune=ultrasparc.
50882 (COMMON_LDFLAGS): Add -melf64_sparc.
50883 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
50884 (grubof_SOURCES): Use cache.S instead of cache.c.
50885 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
50886 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
50887 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
50888 commented though.
50889 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
50890 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
50891 (linux_mod_CFLAGS): Commented out.
50892 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
50893 out because module isn't built.
50894 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
50895 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
50896 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
50897 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
50898 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
50899 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
50900 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
50901 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
50902 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
50903 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
50904 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
50905 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
50906 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
50907 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
50908
34eeec8a 509092005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
50910
50911 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
50912 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
50913 longer, because HFS should not be used on PC.
50914
708367a3 509152005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
50916
50917 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
50918 consistently within the loop.
50919
6fa1251a 509202005-10-15 Marco Gerards <mgerards@xs4all.nl>
50921
50922 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
50923 directory can not be read.
50924
4801580b 509252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50926
50927 * configure.ac (AC_INIT): Increase the version number to 1.91.
50928
50929 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
50930 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
50931 term/i386/pc/serial.c.
50932
219ad426 509332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50934
50935 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
50936 file size must be permitted.
50937
50938 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
50939 between %ah and %al.
50940
688e5699 509412005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
50942
50943 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
50944 grub_uint64_t.
50945 Call the hook with a NUL-terminated filename.
50946 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
50947 grub_cpu_to_be32.
50948
50949 * kern/term.c (cursor_state): New variable.
50950 (grub_term_set_current): Reset the cursor state on a new
50951 terminal.
50952 (grub_setcursor): Rewritten to use CURSOR_STATE.
50953 (grub_getcursor): New function.
50954
50955 * include/grub/term.h (grub_getcursor): New prototype.
50956
50957 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
50958 integers on ARM. Reported by Timothy Baldwin
50959 <T.E.Baldwin99@members.leeds.ac.uk>.
50960
bb34586c 509612005-10-11 Marco Gerards <mgerards@xs4all.nl>
50962
50963 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
50964 allocated.
50965 (grub_sfs_dir): Likewise.
50966
9a909877 509672005-10-09 Marco Gerards <mgerards@xs4all.nl>
50968
50969 Add support for the SFS filesystem.
50970
50971 * fs/sfs.c: New file.
50972
50973 * DISTLIST: Added `fs/sfs.c'.
50974
50975 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
50976 (grub_probefs_SOURCES): Likewise.
50977 (grub_emu_SOURCES): Likewise.
50978 (pkgdata_MODULES): Add `sfs.mod'.
50979 (sfs_mod_SOURCES): New variable.
50980 (sfs_mod_CFLAGS): Likewise.
50981 (sfs_mod_LDFLAGS): Likewise.
50982
50983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
50984 (pkgdata_MODULES): Add `sfs.mod'.
50985 (sfs_mod_SOURCES): New variable.
50986 (sfs_mod_CFLAGS): Likewise.
50987
50988 * util/grub-emu.c (main): Call `grub_sfs_init' and
50989 `grub_sfs_fini'.
50990
50991 * include/grub/fs.h (grub_sfs_init): New prototype.
50992 (grub_sfs_fini): Likewise.
50993
57bdbde3 509942005-10-07 Marco Gerards <mgerards@xs4all.nl>
50995
50996 Add support for the AFFS filesystem.
50997
50998 * fs/affs.c: New file.
50999
51000 * DISTLIST: Added `fs/affs.c'.
51001
51002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51003 (grub_probefs_SOURCES): Likewise.
51004 (grub_emu_SOURCES): Likewise.
51005 (pkgdata_MODULES): Add `affs.mod'.
51006 (affs_mod_SOURCES): New variable.
51007 (affs_mod_CFLAGS): Likewise.
51008 (affs_mod_LDFLAGS): Likewise.
51009
51010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51011 (pkgdata_MODULES): Add `affs.mod'.
51012 (affs_mod_SOURCES): New variable.
51013 (affs_mod_CFLAGS): Likewise.
51014
51015 * util/grub-emu.c (main): Call `grub_affs_init' and
51016 `grub_affs_fini'.
51017
51018 * include/grub/fs.h (grub_affs_init): New prototype.
51019 (grub_affs_fini): Likewise.
51020
047b67e0 510212005-10-01 Marco Gerards <mgerards@xs4all.nl>
51022
51023 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51024
59b8208a 510252005-10-01 Marco Gerards <mgerards@xs4all.nl>
51026
51027 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51028 `-m32' to CFLAGS.
51029
51030 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51031 linking.
f19dbdb7 51032
59b8208a 51033 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51034 (COMMON_LDFLAGS): New variable.
51035 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51036 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51037 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51038 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51039 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51040 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51041 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51042 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51043 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51044 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51045 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51046 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51047 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51048 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51049 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51050 variables.
51051 (normal_mod_ASFLAGS): Add `-m32'.
51052
51053 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51054 (grub_host_size_t, grub_host_ssize_t): New types.
51055 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 51056 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 51057 `GRUB_HOST_SIZEOF_VOID_P'.
51058
51059 * include/grub/kernel.h (struct grub_module_header): Type of
51060 member offset changed to `grub_host_off_t'. Type of member size
51061 changed to `grub_host_size_t'.
51062 (struct grub_module_info): Type of member offset changed to
51063 `grub_host_off_t'. Type of member size changed to
51064 `grub_host_size_t'.
51065
b4093103 510662005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51067
51068 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 51069
b4093103 51070 * kern/i386/pc/startup.S (multiboot_header): New label.
51071 (multiboot_entry): Likewise.
51072 (multiboot_trampoline): Likewise.
51073
51074 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51075 Increased to 0x4A0.
51076
51077 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51078 put parentheses after a question mark.
51079 [!GRUB_UTIL] (my_mod): New variable.
51080
51081 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51082
b2499b29 510832005-09-28 Marco Gerards <mgerards@xs4all.nl>
51084
51085 Adds support for the XFS filesystem. Btrees are not supported
51086 yet.
51087
51088 * fs/xfs.c: New file.
51089
51090 * DISTLIST: Added `fs/xfs.c'.
51091
51092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51093 (grub_probefs_SOURCES): Likewise.
51094 (grub_emu_SOURCES): Likewise.
51095 (pkgdata_MODULES): Add `xfs.mod'.
51096 (xfs_mod_SOURCES): New variable.
51097 (xfs_mod_CFLAGS): Likewise.
51098
51099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51100 (pkgdata_MODULES): Add `xfs.mod'.
51101 (xfs_mod_SOURCES): New variable.
51102 (xfs_mod_CFLAGS): Likewise.
51103
51104 * util/grub-emu.c (main): Call `grub_xfs_init' and
51105 `grub_xfs_fini'.
51106
51107 * include/grub/fs.h (grub_xfs_init): New prototype.
51108 (grub_xfs_fini): Likewise.
51109
f19dbdb7 51110
83d37a62 511112005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51112
51113 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51114 color modes, allow greater than 16 colors to be configured as
51115 a default palette.
51116
47d2d65e 511172005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51118
51119 * normal/completion.c (complete_arguments): Add the qualifier
51120 const into OPTIONS.
51121
51122 From Omniflux <omniflux+lists@omniflux.com>:
51123 * include/grub/terminfo.h: New file.
51124 * include/grub/tparm.h: Likewise.
51125 * include/grub/i386/pc/serial.h: Likewise.
51126 * term/terminfo.c: Likewise.
51127 * term/tparm.c: Likewise.
51128 * term/i386/pc/serial.c: Likewise.
51129 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51130 serial.mod.
51131 (terminfo_mod_SOURCES): New variable.
51132 (terminfo_mod_CFLAGS): Likewise.
51133 (serial_mod_SOURCES): Likewise.
51134 (serial_mod_CFLAGS): Likewise.
51135
48b671ff 511362005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51137
51138 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51139 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51140 and kern/powerpc/ieee1275/cmain.c, respectively.
51141
51142 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51143 * kern/powerpc/ieee1275/crt0.S: ... here.
51144
51145 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51146 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51147
48b671ff 51148 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51149 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51150 instead of boot/powerpc/ieee1275/crt0.S and
51151 boot/powerpc/ieee1275/cmain.c, respectively.
51152
51153 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51154 sectors. It was not used anyway.
51155
09fc77a7 511562005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51157
51158 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51159 `unused parameter' warning.
51160
003789c7 511612005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51162
51163 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51164 function.
51165 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51166 getcharwidth.
51167
67f44c86 511682005-08-28 Marco Gerards <metgerards@student.han.nl>
51169
51170 * include/grub/normal.h (enum grub_completion_type): Added
51171 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51172
51173 * normal/cmdline.c (print_completion): Handle
51174 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51175 * normal/menu_entry.c (store_completion): Likewise.
51176
51177 * normal/completion.c (complete_arguments): New function.
51178 (grub_normal_do_completion): Call `complete_arguments' when the
51179 current words start with a dash.
51180
0b5abe02 511812005-08-27 Marco Gerards <metgerards@student.han.nl>
51182
51183 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51184 `gzio.mod' instead of `io.mod').
51185
d9864ee1 511862005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51187
51188 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51189 (DISTDIRS): Added io and video.
51190 Rewrite the search routine to make an output consistently.
51191
51192 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51193 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51194 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51195 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51196 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51197 util/powerpc/ieee1275/misc.c.
f19dbdb7 51198
d9864ee1 51199 * include/grub/gzio.h: New file.
51200 * io/gzio.c: Likewise.
f19dbdb7 51201
d9864ee1 51202 * kern/file.c (grub_file_close): Call grub_device_close only if
51203 FILE->DEVICE is not NULL.
51204
51205 * include/grub/mm.h [!NULL] (NULL): New macro.
51206
51207 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51208
51209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51210 (pkgdata_MODULES): Added gzio.mod.
51211 (gzio_mod_SOURCES): New variable.
51212 (gzio_mod_CFLAGS): Likewise.
51213
51214 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51215 (pkgdata_MODULES): Added gzio.mod.
51216 (gzio_mod_SOURCES): New variable.
51217 (gzio_mod_CFLAGS): Likewise.
51218
51219 * commands/cat.c: Include grub/gzio.h.
51220 (grub_cmd_cat): Use grub_gzfile_open instead of
51221 grub_file_open.
f19dbdb7 51222
d9864ee1 51223 * commands/cmp.c: Include grub/gzio.h.
51224 (grub_cmd_cmp): Use grub_gzfile_open instead of
51225 grub_file_open.
51226
51227 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51228 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51229 grub_file_open.
51230 (grub_rescue_cmd_module): Likewise.
51231
fa46f4b5 512322005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51233
51234 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51235 kern/sparc64/ieee1275/init.c because it contains _start.
51236 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51237
e9211b5d 512382005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51239
51240 * configure.ac: Add support for sparc64 host with ieee1275
51241 firmware.
51242 * configure: Generated from configure.ac.
51243 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51244 instead of int.
51245 (grub_ofdisk_read): Likewise.
51246 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51247 pointers as (void *) to remove a warning.
51248 (grub_ofdisk_close): Likewise.
51249 (grub_ofdisk_read): Likewise.
51250 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51251 returns, so make it return void to remove a warning.
51252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51253 Corresponding prototype change.
51254 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51255 values, and cast the pointers as (void *) to remove a warning.
51256 (grub_mm_dump): Likewise.
51257 * conf/sparc64-ieee1275.mk: New file.
51258 * conf/sparc64-ieee1275.rmk: Likewise.
51259 * include/grub/sparc64/setjmp.h: Likewise.
51260 * include/grub/sparc64/types.h: Likewise.
51261 * include/grub/sparc64/ieee1275/console.h: Likewise.
51262 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51263 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51264 * include/grub/sparc64/ieee1275/time.h: Likewise.
51265 * kern/sparc64/cache.c: Likewise.
51266 * kern/sparc64/dl.c: Likewise.
51267 * kern/sparc64/ieee1275/init.c: Likewise.
51268 * kern/sparc64/ieee1275/openfw.c: Likewise.
51269
385c6a92 512702005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51271
51272 * util/console.c (grub_ncurses_putchar): If C is greater than
51273 0x7f, set C to a question mark.
51274 (grub_ncurses_getcharwidth): New function.
51275 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51276 getcharwidth.
51277
51278 * normal/menu.c (print_entry): Made aware of Unicode. First,
51279 convert TITLE to UCS-4, and predict the cursor position by
51280 grub_getcharwidth.
51281
51282 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51283 const to SRC.
51284 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51285
16ccb8b1 512862005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51287
51288 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51289 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51290 grub_strcat.
51291
51292 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51293 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51294 grub_strcpy and grub_strlen. Take it into account that a space
51295 character is inserted as a delimiter.
51296
6a85ce79 512972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51298
51299 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 51300 invalid magic in the error.
6a85ce79 51301
51302 * commands/search.c: New file.
f19dbdb7 51303
6a85ce79 51304 * util/grub-emu.c (main): Call grub_search_init and
51305 grub_search_fini.
51306
51307 * kern/rescue.c (grub_rescue_print_disks): Removed.
51308 (grub_rescue_print_devices): New function.
51309 (grub_rescue_cmd_ls): Use grub_device_iterate with
51310 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51311 grub_rescue_print_disks.
51312
51313 * kern/partition.c (grub_partition_iterate): Return the result of
51314 PARTMAP->ITERATE instead of GRUB_ERRNO.
51315
51316 * kern/device.c: Include grub/partition.h.
51317 (grub_device_iterate): New function.
51318
51319 * include/grub/partition.h (grub_partition_iterate): Return int
51320 instead of grub_err_t.
51321
51322 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51323 prototype.
51324 [GRUB_UTIL] (grub_search_fini): Likewise.
51325
51326 * include/grub/device.h (grub_device_iterate): New prototype.
51327
51328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51329 commands/search.c.
51330 (pkgdata_MODULES): Added search.mod.
51331 (search_mod_SOURCES): New variable.
51332 (search_mod_CFLAGS): Likewise.
51333
51334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51335 (pkgdata_MODULES): Added search.mod.
51336 (search_mod_SOURCES): New variable.
51337 (search_mod_CFLAGS): Likewise.
51338
51339 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51340 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51341 All callers changed.
51342
51343 * DISTLIST: Added commands/search.c.
51344
ef095434 513452005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51346
51347 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51348 conversion.
51349 (grub_getcharwidth): New function.
51350
51351 * kern/misc.c (grub_utf8_to_ucs4): New function.
51352
51353 * include/grub/term.h (struct grub_term): Added a new member
51354 "getcharwidth".
51355 (grub_getcharwidth): New prototype.
51356
51357 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51358
51359 * term/i386/pc/console.c (map_char): New function. Segregated from
51360 grub_console_putchar.
51361 (grub_console_putchar): Use map_char.
51362 (grub_console_getcharwidth): New function.
51363 (grub_console_term): Specified grub_console_getcharwidth as
51364 getcharwidth.
51365
51366 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51367 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51368
51369 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51370 GRUB_ERRNO.
51371 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51372 on grub_strtoul completely.
51373 (write_char): Declare local variables in the beginning of the
51374 function.
51375 (grub_vesafb_getcharwidth): New function.
51376 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51377 getcharwidth.
51378
1f0a95e4 513792005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51380
51381 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51382 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51383 commands/i386/pc/vbetest.c.
51384
51385 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51386 call grub_vbe_get_controller_info again, because the returned
51387 information is volatile.
51388 (grub_vbe_set_video_mode): Mostly rewritten.
51389 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51390 grub_vbe_status_t correctly.
51391 (grub_vbe_get_video_mode_info): Likewise.
51392 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51393 several if statements.
51394
51395 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51396 * commands/i386/pc/vbeinfo.c: ... this.
51397
51398 * commands/i386/pc/vbe_test.c: Renamed to ...
51399 * commands/i386/pc/vbetest.c: ... this.
51400
51401 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51402 ...
51403 (grub_cmd_vbeinfo): ... this. Save video modes before
51404 iterating. Skip a video mode, if it is not available, not enough
51405 information is given or it is monochrome. Show the memory
51406 model. Leave the interpretation of MODEVAR to grub_strtoul
51407 completely.
51408 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51409 (GRUB_MOD_FINI): Likewise.
51410
51411 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51412 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51413 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51414 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51415 grub_strtoul completely.
51416 (real2pm): Removed.
51417 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51418 (GRUB_MOD_FINI): Likewise.
51419
51420 * normal/misc.c: Include grub/mm.h.
51421
51422 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51423 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51424 (vbe_list_modes_mod_SOURCES): Removed.
51425 (vbe_list_modes_mod_CFLAGS): Likewise.
51426 (vbe_test_mod_SOURCES): Likewise.
51427 (vbe_test_mod_CFLAGS): Likewise.
51428 (vbeinfo_mod_SOURCES): New variable.
51429 (vbeinfo_mod_CFLAGS): Likewise.
51430 (vbetest_mod_SOURCES): Likewise.
51431 (vbetest_mod_CFLAGS): Likewise.
51432
992ffbbe 514332005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51434
51435 * normal/misc.c: New file.
51436
51437 * DISTLIST: Added normal/misc.c.
f19dbdb7 51438
992ffbbe 51439 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51440 DISK to HOOK. Call HOOK with DISK.
51441 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51442 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51443 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51444
51445 * normal/menu_entry.c (struct screen): Added a new member
51446 "completion_shown".
51447 (completion_buffer): New global variable.
51448 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51449 (store_completion): New function.
51450 (complete): Likewise.
51451 (clear_completions): Likewise.
51452 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
51453 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
51454 a tab, call complete.
51455
51456 * normal/completion.c (disk_dev): Removed.
51457 (print_simple_completion): Likewise.
51458 (print_partition_completion): Likewise.
51459 (print_func): New global variable.
51460 (add_completion): Do not take the arguments WHAT or PRINT any
51461 longer. Added a new argument TYPE. Instead of printing directly,
51462 call PRINT_FUNC if not NULL.
51463 All callers changed.
51464 (complete_device): Use a local variable DEV instead of
51465 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
51466 (grub_normal_do_completion): Take a new argument HOOK. Do not
51467 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
51468 empty string, return NULL instead.
51469 All callers changed.
51470
51471 * normal/cmdline.c (print_completion): New function.
51472
51473 * kern/partition.c (grub_partition_iterate): Add an argument DISK
51474 to HOOK.
51475 All callers changed.
51476
51477 * kern/disk.c (grub_print_partinfo): Removed.
51478
51479 * include/grub/partition.h (struct grub_partition_map): Add a new
51480 argument DISK into HOOK of ITERATE.
51481 (grub_partition_iterate): Add a new argument DISK to HOOK.
51482
51483 * include/grub/normal.h (enum grub_completion_type): New enum.
51484 (grub_completion_type_t): New type.
51485 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
51486 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
51487 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
51488 (GRUB_COMPLETION_TYPE_FILE): Likewise.
51489 (grub_normal_do_completion): Added a new argument HOOK.
51490 (grub_normal_print_device_info): New prototype.
51491
51492 * include/grub/disk.h (grub_print_partinfo): Removed.
51493
51494 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
51495 (normal_mod_SOURCES): Likewise.
51496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51497 (normal_mod_SOURCES): Likewise.
51498
51499 * commands/ls.c (grub_ls_list_disks): Use
51500 grub_normal_print_device_info instead of grub_print_partinfo. Free
51501 PNAME.
51502 (grub_ls_list_files): Use grub_normal_print_device_info instead of
51503 duplicating the code.
51504
0bd41162 515052005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51506
51507 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 51508 follow GCS more precisely.
51509 * commands/i386/pc/vbe_test.c: Likewise.
51510 * include/grub/i386/pc/vbe.h: Likewise.
51511 * term/i386/pc/vesafb.c: Likewise.
51512 * video/i386/pc/vbe.c: Likewise.
0bd41162 51513
6323696a 515142005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
51515
51516 * DISTLIST: Added term/i386/pc/vesafb.c
51517 DISTLIST: Added video/i386/pc/vbe.c
51518 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
51519 DISTLIST: Added commands/i386/pc/vbe_test.c.
51520 * commands/i386/pc/vbe_list_modes.c: New file.
51521 * commands/i386/pc/vbe_test.c: Likewise.
51522 * term/i386/pc/vesafb.c: Likewise.
51523 * video/i386/pc/vbe.c: Likewise.
51524 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
51525 (grub_vbe_probe) Added prototype.
51526 (grub_vbe_set_video_mode) Likewise.
51527 (grub_vbe_get_video_mode) Likewise.
51528 (grub_vbe_get_video_mode_info) Likewise.
51529 (grub_vbe_set_pixel_rgb) Likewise.
51530 (grub_vbe_set_pixel_index) Likewise.
51531 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
51532 (pkgdata_MODULES): Added vesafb.mod.
51533 (pkgdata_MODULES): Added vbe_list_modes.mod.
51534 (pkgdata_MODULES): Added vbe_test.mod.
51535 (vbe_mod_SOURCES): Added.
51536 (vbe_mod_CFLAGS): Likewise.
51537 (vesafb_mod_SOURCES): Likewise.
51538 (vesafb_mod_CFLAGS): Likewise.
51539 (vbe_list_modes_mod_SOURCES): Likewise.
51540 (vbe_list_modes_mod_CFLAGS): Likewise.
51541 (vbe_test_mod_SOURCES): Likewise.
51542 (vbe_test_mod_CFLAGS): Likewise.
51543
0a74e62f 515442005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
51545
0a74e62f 51546 * normal/command.c (grub_command_execute): If INTERACTIVE is
51547 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
51548 CMDLINE. Disable the pager if INTERACTIVE is true.
51549 All callers are changed.
51550
51551 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
51552 before reading a config file.
51553 * normal/main.c (read_config_file): Even if a command is not
51554 found, register it if it is within an entry.
51555
51556 * util/grub-emu.c: Include sys/types.h and unistd.h.
51557 (options): Added --hold.
51558 (struct arguments): Added a new member "hold".
51559 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
51560 missing.
51561 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
51562 cleared by a debugger, if it is not zero.
51563
51564 * include/grub/normal.h (grub_command_execute): Add an argument
51565 INTERACTIVE.
51566
e51f85ae 515672005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
51568
51569 * DISTLIST: Added include/grub/i386/pc/vbe.h.
51570
e9c6f39b 515712005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
51572
51573 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
51574 program with another one, because the old one didn't detect a bug
51575 in gcc-3.4. Always use regparm 2, because the new test is still
51576 not enough for gcc-4.0. Someone must investigate a simple test
51577 case which detects a bug in gcc-4.0.
51578
8de3495c 515792005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
51580
51581 * DISTLIST: Added normal/completion.c.
51582
51583 * normal/completion.c: New file.
f19dbdb7 51584
8de3495c 51585 * term/i386/pc/console.c (grub_console_getwh): New function.
51586 (grub_console_term): Assign grub_console_getwh to getwh.
51587
51588 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
51589 function is defined in normal/completion.c as
51590 grub_normal_do_completion.
51591 (grub_cmdline_get): Use grub_normal_do_completion instead of
51592 grub_tab_complete.
51593
51594 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
51595 returns non-zero, otherwise return 0.
51596 (grub_partition_iterate): First, probe the partition map. Then,
51597 call ITERATE only for this partition map.
51598
51599 * kern/misc.c (grub_strncmp): Rewritten.
51600
51601 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
51602 returns non-zero. Otherwise return 0.
51603
51604 * include/grub/partition.h (grub_partition_map_iterate): Return
51605 int instead of void.
51606
51607 * include/grub/normal.h (grub_normal_do_completion): New prototype.
51608
51609 * include/grub/misc.h (grub_strncmp): Change the type of N to
51610 grub_size_t.
51611
51612 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
51613 of void.
51614
51615 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 51616 unsigned explicitly before comparing it with I.
8de3495c 51617
51618 * kern/main.c (grub_env_write_root): Add the attribute unused into
51619 VAR.
51620
51621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51622 normal/completion.c.
51623 (normal_mod_SOURCES): Likewise.
51624 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
51625 (normal_mod_SOURCES): Likewise.
51626
51627 * normal/command.c (grub_iterate_commands): If ITERATE returns
51628 non-zero, return one immediately.
51629
e85e144b 516302005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
51631
51632 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
51633 * kern/i386/pc/startup.S: Updated Global Descriptor table's
51634 descriptions.
51635 (grub_vbe_get_controller_info): New function.
51636 (grub_vbe_get_mode_info): Likewise.
51637 (grub_vbe_set_mode): Likewise.
51638 (grub_vbe_get_mode): Likewise.
51639 (grub_vbe_set_memory_window): Likewise.
51640 (grub_vbe_get_memory_window): Likewise.
51641 (grub_vbe_set_scanline_length): Likewise.
51642 (grub_vbe_get_scanline_length): Likewise.
51643 (grub_vbe_set_display_start): Likewise.
51644 (grub_vbe_get_display_start): Likewise.
51645 (grub_vbe_set_palette_data): Likewise.
51646 * include/grub/i386/pc/vbe.h: New file.
51647
c46153d2 516482005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51649
51650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51651 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
51652 * DISTLIST: Likewise.
51653 * kern/ieee1275/of.c: Moved to ...
51654 * kern/ieee1275/ieee1275.c: ... here.
51655
0cb90c45 516562005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51657
51658 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
51659 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
51660 Pass 0 as `end' parameter to grub_strtoul().
51661
a19fb360 516622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
51663
51664 * include/grub/powerpc/ieee1275/console.h: Do not include
51665 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
51666 ifdef.
51667 (grub_console_cur_color): Remove i386-specific prototype.
51668 (grub_console_real_putchar): Likewise.
51669 (grub_console_checkkey): Likewise.
51670 (grub_console_getkey): Likewise.
51671 (grub_console_getxy): Likewise.
51672 (grub_console_gotoxy): Likewise.
51673 (grub_console_cls): Likewise.
51674 (grub_console_setcursor): Likewise.
51675 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
51676 Include <grub/machine/console.h>.
51677 * term/ieee1275/ofconsole.c: Likewise.
51678
4ac9bd04 516792005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
51680
51681 * Makefile.in (LIBLZO): New variable.
51682
51683 * configure.ac: Check for LZO version 2.
51684
51685 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
51686 lzo/lzo1x.h instead of lzo1x.h.
51687
51688 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
51689 of -llzo.
51690
51691 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
51692 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
51693
51694 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
51695 copying the data from PARTITION to P.
51696
f4917dfd 516972005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51698
51699 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
51700 negative, unload the module.
51701
51702 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
51703 map is "pc_partition_map" but not "pc".
51704 (usage): Fix the description. The options are --boot-image and
51705 --core-image but not --boot-file or --core-file.
51706 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
51707 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
51708 DEFAULT_DIRECTORY.
51709
51710 * util/i386/pc/grub-install.in: Do not specify --boot-file or
51711 --core-file. Specify INSTALL_DEVICE as an argument.
51712
51713 * util/console.c: Include config.h.
51714 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
51715 [HAVE_NCURSES_H]: Include ncurses.h.
51716 [HAVE_CURSES_H]: Include curses.h.
51717 [!A_NORMAL] (A_NORMAL): Defined as zero.
51718 [!A_STANDOUT] (A_STANDOUT): Likewise.
51719
51720 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
51721 -lncurses.
51722 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
51723
51724 * configure.ac: Check for curses libraries and headers.
51725
51726 * Makefile.in (LIBCURSES): New variable.
51727
51728 * genmk.rb (Script::rule): Set the executable bits.
51729
51730 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
51731 name of the PC partition map is "pc_partition_map" but not "pc".
51732
0e143073 517332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51734
51735 * util/i386/pc/grub-install.in (grub_probefs): New variable.
51736 (modules): Likewise.
51737 (usage): Added descriptions for --modules and --grub-probefs.
51738 Handle --modules and --grub-probefs. Save the arguments in MODULES
51739 and GRUB_PROBEFS, respectively.
51740 Auto-detect a filesystem module against GRUBDIR. If the result is
51741 empty and modules are not specified explicitly, abort the
51742 installation. Add the result to MODULES.
51743
51744 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
51745 disk/powerpc/ieee1275/ofdisk.c,
51746 include/grub/powerpc/ieee1275/init.h and
51747 term/powerpc/ieee1275/ofconsole.c.
51748 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
51749 term/ieee1275/ofconsole.c.
51750
51751 * include/grub/powerpc/ieee1275/console.h: Resurrected.
51752
51753 * COPYING: Upgraded to the latest version. Only the address of the
51754 FSF office has changed.
f19dbdb7 51755
efd6e6d5 517562005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
51757
51758 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
51759 kern/ieee1275.c with kern/ieee1275/of.c.
51760
51761 * kern/ieee1275.c: Moved to ...
51762 * kern/ieee1275/of.c: ... here.
51763
8ceafda2 517642005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
51765
51766 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 51767 readability.
8ceafda2 51768
51769 * config.guess: Updated to the latest version from gnulib.
51770 * config.sub: Likewise.
51771 * install.sh: Likewise.
51772 * mkinstalldirs: Likewise.
51773
51774 * include/grub/console.h: Removed. This file is arch-specific. Do
51775 not put this in include/grub.
51776
51777 * include/grub/i386/pc/console.h: Resurrected.
51778
51779 * util/console.c: Include grub/machine/console.h instead of
51780 grub/console.h.
51781 * util/grub-emu.c: Likewise.
51782
267f6cd9 517832005-08-04 Marco Gerards <metgerards@student.han.nl>
51784
51785 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
51786 hardcoded value.
f19dbdb7 51787
267f6cd9 51788 From Vincent Pelletier <subdino2004@yahoo.fr>
51789 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
51790 Redefined to use grub_getwh.
51791 (grub_term): New member named getwh.
51792 (grub_getwh): New prototype.
51793 * kern/term.c (grub_getwh): New function.
51794 * term/i386/pc/console.c (grub_console_getwh): New function.
51795 (grub_console_term): New member `getwh'.
51796 * term/i386/pc/vga.c (grub_vga_getwh): New function.
51797 (grub_vga_term): New member `getwh'.
0b5abe02 51798 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 51799 grub_ssize_t.
51800 (grub_ofconsole_getw): New function.
51801 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
51802 (grub_ofconsole_term): New field named getwh and new initial
51803 value.
51804
3be7266d 518052005-08-03 Hollis Blanchard <hollis@penguinppc.org>
51806
51807 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
51808 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
51809 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
51810 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
51811 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
51812 of <grub/machine/ieee1275.h>.
51813 * commands/ieee1275/reboot.c: Likewise.
51814 * boot/powerpc/ieee1275/ieee1275.c: Move ...
51815 * kern/ieee1275.c: ... to here. All users updated. Change all
51816 parameter structs to use new type `grub_ieee1275_cell_t'.
51817 * term/powerpc/ieee1275/ofconsole.c: Move ...
51818 * term/ieee1275/ofconsole.c: ... to here. All users updated.
51819 * disk/powerpc/ieee1275/ofdisk.c: Move ...
51820 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
51821 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
51822 to return int.
51823 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
51824 Remove unused prototypes. All users updated.
51825 * include/grub/powerpc/ieee1275/console.h: Removed.
51826 * include/grub/powerpc/ieee1275/ieee1275.h: Define
51827 `grub_ieee1275_cell_t'.
51828 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
51829 Cast comparisons with -1 to the correct type.
51830 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
51831 type to match `grub_ieee1275_entry_fn'.
51832
8b5f3938 518332005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
51834
51835 * DISTLIST: Added util/i386/pc/grub-probefs.c.
51836
51837 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
51838 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
51839 partmap/sun.c.
51840 (grub_probefs_SOURCES): New variable.
51841
51842 * util/i386/pc/grub-probefs.c: New file.
51843
51844 * util/i386/pc/grub-setup.c (main): Call
51845 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
51846 grub_hfs_init and grub_jfs_init to initialize the system. Call
51847 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
51848 grub_pc_partition_map_fini to finish the system.
51849
ea409713 518502005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
51851
51852 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
51853 function.
51854 (grub_multiboot_load_elf32): Likewise.
51855 (grub_multiboot_is_elf64): Likewise.
51856 (grub_multiboot_load_elf64): Likewise.
51857 (grub_multiboot_load_elf): Likewise.
51858 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
51859 an ELF32 or ELF64 file.
51860 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
51861
51862 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
51863 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
51864 NULL before calling FS->LABEL.
51865 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
51866 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
51867 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
51868 before calling FS->LABEL.
51869
141a288b 518702005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
51871
51872 * util/i386/pc/grub-install.in (datadir): New variable.
51873 (libdir): Removed.
51874 (pkgdatadir): New variable.
51875 (pkglibdir): Removed.
51876
0d5f8a54 518772005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
51878
51879 * DISTLIST: Added util/i386/pc/grub-install.in.
51880
51881 * util/i386/pc/grub-install.in: New file.
51882
51883 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
51884 (grub_install_SOURCES): Likewise.
51885
51886 * genmk.rb: Added support for scripts.
51887 (Script): New class.
51888 (scripts): New variable.
51889
51890 * Makefile.in (install-local): Install sbin_SCRIPTS by
51891 INSTALL_SCRIPT.
51892 (uninstall): Remove sbin_SCRIPTS.
51893
51894 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
51895 device, try to get a GRUB device by
51896 grub_util_biosdisk_get_grub_dev.
51897 Free DEST_DEV.
51898
51899 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
51900 description for --device-map.
51901
5f968e1e 519022005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51903
51904 Change the semantics of variable hooks. They now return strings
51905 instead of error values.
f19dbdb7 51906
5f968e1e 51907 * util/i386/pc/grub-setup.c: Include grub/env.h.
51908 (setup): Use grub_device_set_root instead of grub_env_set.
51909
51910 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
51911 grub_env_get instead of grub_device_set_root and
51912 grub_device_get_root, respectively.
51913
51914 * kern/main.c (grub_env_write_root): New function.
51915 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
51916 grub_env_set instead of grub_device_set_root.
51917
51918 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
51919 many variables.
51920 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
51921 rather than calling ENV->WRITE_HOOK afterwards.
51922 (grub_env_get): Return the result of ENV->READ_HOOK rather than
51923 passing a pointer of a pointer.
51924 (grub_register_variable_hook): Change the types of "read_hook" and
51925 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
51926 respectively.
51927 Allocate the default empty string on the heap, because this string
51928 may be freed later.
51929
51930 * kern/device.c: Include grub/env.h.
51931 (grub_device_set_root): Removed.
51932 (grub_device_get_root): Likewise.
51933 (grub_device_open): Use grub_env_get instead of
51934 grub_device_get_root.
51935
51936 * include/grub/env.h (grub_env_read_hook_t): New type.
51937 (grub_env_write_hook_t): Likewise.
51938 (grub_env_var): Change the types of "read_hook" and "write_hook"
51939 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
51940 (grub_register_variable_hook): Likewise.
51941
51942 * include/grub/device.h (grub_device_set_root): Removed.
51943 (grub_device_set_root): Likewise.
51944
51945 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
51946 make sure that DIRNAME terminates with '/', so that
51947 grub_fat_find_dir will fail if PATH is not a directory.
51948
51949 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
51950 from DIRNAME.
51951 Use the qualifier auto for print_files and print_files_long.
51952 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
51953 as a regular file.
51954 Put a newline only if there is no error.
51955 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
51956 used.
51957
896f0afd 519582005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
51959
51960 * kern/partition.c (grub_partition_probe): Initialize PART to
51961 NULL. Otherwise, when no partition map is registered, this returns
51962 a garbage.
51963
b28b81b2 519642005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
51965
51966 * partmap/apple.c (apple_partition_map_iterate): Check if POS
51967 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
51968 valid.
51969
5f3607e0 519702005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
51971
51972 * commands/ls.c (grub_ls_list_disks): Print the filesystem
51973 information on each device, if it does not have partitions. Print
51974 "Device" instead of "Disk", because this function is not specific
51975 to disk devices.
51976
51977 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
51978 static to ensure that it is put on the memory rather than a
51979 register.
51980
502c87e8 519812005-07-17 Yoshinori Okuji <okuji@enbug.org>
51982
51983 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
51984 (grub_cat_init): Likewise.
51985 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
51986 (options): Likewise.
51987 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
51988 (grub_configfile_init): Likewise.
51989 * font/manager.c (GRUB_MOD_INIT): Likewise.
51990 * commands/help.c (GRUB_MOD_INIT): Likewise.
51991 (grub_help_init): Likewise.
51992 * normal/command.c (grub_command_init): Likewise.
51993 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
51994 * disk/loopback.c (grub_loop_init): Likewise.
51995 (GRUB_MOD_INIT): Likewise.
51996 * commands/ls.c (grub_ls_init): Likewise.
51997 (GRUB_MOD_INIT): Likewise.
51998 (options): Likewise.
51999 * commands/boot.c (grub_boot_init): Likewise.
52000 (GRUB_MOD_INIT): Likewise.
52001 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52002 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52003 (GRUB_MOD_INIT): Likewise.
52004 * commands/cmp.c (grub_cmp_init): Likewise.
52005 (GRUB_MOD_INIT): Likewise.
52006
52007 * normal/arg.c: Use <> instead of "" to include header files.
52008 (SHORT_ARG_HELP): New macro.
52009 (SHORT_ARG_USAGE): Likewise.
52010 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52011 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52012 descriptions.
52013 (find_short): Check if C is 'h' or 'u' explicitly.
52014 (grub_arg_show_help): Use space characters instead of tabs. Treat
52015 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52016 are shown with --help and --usage only if they are not used for
52017 the command itself.
52018 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52019 'h' and 'u'.
52020
52021 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52022 const into "longarg". Change the type of "shortarg" to int.
52023
f806d18e 520242005-07-17 Yoshinori Okuji <okuji@enbug.org>
52025
52026 * boot/i386/pc/boot.S (boot_drive_check): New label.
52027
52028 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52029 macro.
52030
52031 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52032 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52033
e293232b 520342005-07-17 Yoshinori Okuji <okuji@enbug.org>
52035
52036 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52037 When turning off Gate A20, skip the check and return immediately,
52038 because this is not fatal usually.
52039
ebedfd00 520402005-07-17 Yoshinori Okuji <okuji@enbug.org>
52041
52042 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52043 be 0x7C00 instead of 0x8000.
52044
52045 * boot/i386/pc/pxeboot.S: Rewritten.
52046
52047 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52048 EXT_C.
52049 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52050 result.
52051
654fc59f 520522005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52053
52054 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52055 robustness. This routine now supports a BIOS call and System
52056 Control Port A to modify the gate A20.
52057
52058 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52059 Increased to 0x440.
52060
09f9923f 520612005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52062
52063 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52064 device path and resulting ihandle.
52065 (grub_ofdisk_close): dprintf the ihandle being closed.
52066 (grub_ofdisk_read): dprintf function parameters.
52067 * kern/mm.c (grub_mm_init_region): Likewise.
52068 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52069 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52070 size, and boot arguments.
52071 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52072 before loading into memory.
52073 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52074 before loading into memory.
52075
7ef504d8 520762005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52077
52078 * kern/mm.c: Added much documentation.
52079 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52080 8, set to 5 instead of 8.
52081
e0f050c2 520822005-07-10 Yoshinori Okuji <okuji@enbug.org>
52083
52084 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52085
52086 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52087 (grub_mkdevicemap_SOURCES): New variable.
52088
52089 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52090 lib/device.c of GRUB Legacy.
52091
7224189a 520922005-07-10 Yoshinori Okuji <okuji@enbug.org>
52093
52094 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52095 instead of PATH is NULL.
52096
68c864eb 520972005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52098
52099 * commands/cmp.c (BUFFER_SIZE): New macro.
52100 (grub_cmd_cmp): Close the right file at the right time. Compare
52101 only data just read. Don't report files of different size as
52102 identical. Dynamically allocate buffers. Move variable
52103 declarations at the beginning of function.
52104
e6f3e614 521052005-07-09 Yoshinori Okuji <okuji@enbug.org>
52106
52107 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52108 reverse.
52109
f8f1559a 521102004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52111
52112 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52113 when backspace is pressed at beginning of line.
52114
39c9d41d 521152005-07-03 Yoshinori Okuji <okuji@enbug.org>
52116
52117 * DISTLIST: Added genfslist.sh.
52118
52119 * normal/main.c (fs_module_list): New variable.
52120 (autoload_fs_module): New function.
52121 (read_fs_list): Likewise.
52122 (grub_normal_execute): Call read_fs_list.
52123
52124 * kern/fs.c (grub_fs_autoload_hook): New variable.
52125 (grub_fs_probe): Added support for auto-loading.
52126
52127 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52128 (grub_fs_module_list_t): New type.
52129
52130 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52131 (grub_fs_autoload_hook): New prototype.
52132
52133 * genfslist.sh: New file.
f19dbdb7 52134
39c9d41d 52135 * genmk.rb: Added a rule to generate a filesystem list.
52136
121c1d83 521372005-06-30 Marco Gerards <metgerards@student.han.nl>
52138
52139 * configure.ac: Fix the test for cross-compiling.
52140
52141 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52142 define GRUB_UTIL anymore.
52143
52144 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52145 so this function works on other systems than just big endian.
52146 (load_modules): Likewise.
52147 (add_segments): Likewise.
52148
e75d76e1 521492005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52150
52151 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52152 contains `l' modifier, get a long from va_arg().
52153
50b5a0a7 521542005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52155
52156 * kern/mm.c (grub_free): If the next free block which is being
52157 merged is the first free block, set the first block to the block
52158 being freed.
52159 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52160
89371b20 521612005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52162
52163 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52164 `grub_ieee1275_chosen'.
52165
168d6e58 521662005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52167
52168 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52169 (grub_ieee1275_chosen): New variable.
52170 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52171 `chosen'.
52172 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52173 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52174 Rename first argument to `phandle' for consistency.
52175 (grub_ieee1275_get_property_length): Likewise.
52176 (grub_ieee1275_next_property): Likewise. Change type of first argument
52177 to grub_ieee1275_phandle_t.
52178 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52179 Move export next to declaration.
52180 (grub_ieee1275_chosen): New variable.
52181 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52182 Correct cosmetic typo.
52183 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52184 `grub_ieee1275_chosen'.
52185 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52186 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52187 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52188 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52189 `grub_ieee1275_chosen'.
52190
ca5baa3f 521912005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52192
52193 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52194 /chosen/bootargs.
52195 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52196 /chosen/bootargs as "variable=value" pairs.
52197
708b345f 521982005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52199
52200 * include/grub/misc.h (grub_dprintf): New macro.
52201 (grub_real_dprintf): New prototype.
52202 (grub_strword): Likewise.
52203 (grub_iswordseparator): Likewise.
52204 * kern/misc.c (grub_real_dprintf): New function.
52205 (grub_strword): Likewise.
52206 (grub_iswordseparator): Likewise.
52207
f4c5e67c 522082005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52209
52210 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52211 (roundup): Remove macro.
52212 (grub_ieee1275_flags): Make static.
52213 (grub_ieee1275_realmode): Remove.
52214 (grub_ieee1275_test_flag): New function.
52215 (grub_ieee1275_set_flag): Likewise.
52216 (find_options): Rename to `grub_ieee1275_find_options'; update
52217 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52218 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52219 (cmain): New prototype.
52220 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52221 `grub_ieee1275_flags' directly.
52222 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52223 machine/biosdisk.h.
52224 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52225 Don't include grub/machine/init.h.
52226 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52227 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52228 Remove prototype.
52229 (grub_ieee1275_realmode): Likewise.
52230 (grub_ieee1275_flag): New enum.
52231 (grub_ieee1275_test_flag): New prototype.
52232 (grub_ieee1275_set_flag): New prototype.
52233 * include/grub/powerpc/ieee1275/init.h: Remove file.
52234 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52235 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52236 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52237 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52238 comment.
52239 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52240 `grub_ieee1275_test_flag'.
52241 (grub_ieee1275_encode_devname): Likewise.
52242
ed16607e 522432005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52244
52245 * include/grub/powerpc/ieee1275/ieee1275.h
52246 (grub_ieee1275_encode_devname): New prototype.
52247 (grub_ieee1275_get_filename): Likewise.
52248 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52249 function.
52250 (grub_set_prefix): Likewise.
52251 (grub_machine_init): Call grub_set_prefix.
52252 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52253 (grub_parse_type): New enum.
52254 (grub_ieee1275_get_devargs): New function.
52255 (grub_ieee1275_get_devname): Likewise.
52256 (grub_ieee1275_parse_args): Likewise.
52257 (grub_ieee1275_get_filename): Likewise.
52258 (grub_ieee1275_encode_devname): Likewise.
52259
be369920 522602005-03-30 Marco Gerards <metgerards@student.han.nl>
52261
52262 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52263 `grub_loader_unset'.
52264
a5ce3a4a 522652005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52266
52267 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52268 instead of grub_ieee1275_interpret.
52269 (grub_halt_init): New function.
52270 (grub_halt_fini): Likewise.
52271 (GRUB_MOD_INIT): Correct message grammar.
52272 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52273 instead of grub_ieee1275_interpret.
52274 (grub_reboot_init): New function.
52275 (grub_reboot_fini): Likewise.
52276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52277 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52278 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52279 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52280 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52281 function.
52282 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52283 Add prototype.
52284 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52285 prototype.
52286 (grub_halt): Likewise.
52287 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52288 (cmain): Remove __attribute__((unused)).
52289 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52290 (grub_heap_len): Likewise.
52291 (grub_machine_fini): New function.
52292 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52293 (grub_halt): Likewise.
52294 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52295 function.
52296 * util/powerpc/ieee1275/misc.c: New file.
52297
0058f771 522982005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52299
52300 * DISTLIST: New file.
52301 * gendistlist.sh: Likewise.
f19dbdb7 52302
0058f771 52303 * Makefile.in (COMMON_DISTFILES): Removed.
52304 (BOOT_DISTFILES): Likewise.
52305 (CONF_DISTFILES): Likewise.
52306 (DISK_DISTFILES): Likewise.
52307 (FS_DISTFILES): Likewise.
52308 (INCLUDE_DISTFILES): Likewise.
52309 (KERN_DISTFILES): Likewise.
52310 (LOADER_DISTFILES): Likewise.
52311 (TERM_DISTFILES): Likewise.
52312 (UTIL_DISTFILES): Likewise.
52313 (DISTFILES): Likewise.
52314 (uninstall): Uninstall files in $(pkgdata_DATA).
52315 (DISTLIST): New target.
52316 (distdir): Use the contents of the file DISTLIST to get a list of
52317 distributed files.
52318
46b3b8a5 523192005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52320
52321 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52322 descriptor. This is ported from GRUB Legacy.
52323
52324 * gencmdlist.sh: Added an extra semicolon to make it work with
52325 old sed versions. Reported by Robert Bihlmeyer
52326 <robbe@orcus.priv.at>.
52327
5822ff87 523282005-03-08 Yoshinori Okuji <okuji@enbug.org>
52329
52330 Automatic loading of commands is supported.
f19dbdb7 52331
5822ff87 52332 * normal/main.c (read_command_list): New function.
52333 (grub_normal_execute): Call read_command_list.
52334
52335 * normal/command.c (grub_register_command): Return zero or CMD.
52336 Allocate CMD->NAME from the heap.
52337 Initialize CMD->MODULE_NAME to zero.
52338 Find the same name as well. If the same command is found and it is
52339 a dummy command, overwrite members. If it is not a dummy command,
52340 return zero.
52341 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52342 (grub_command_find): If a dummy command is found, load a module
52343 and retry to find a command only once.
52344
52345 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52346 make sure that each command is loaded.
52347
52348 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52349 macro.
52350 (struct grub_command): Remove const from the member `name'.
52351 Add a new member `module_name'.
52352 (grub_register_command): Return grub_command_t.
52353
52354 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52355 sure that each command is loaded.
52356
52357 * genmk.rb (PModule::rule): Specify a module name without the
52358 suffix ".mod" to gencmdlist.sh.
52359
7b1f4b57 523602005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52361
52362 * gencmdlist.sh: New file.
f19dbdb7 52363
7b1f4b57 52364 * genmk.rb (PModule::rule): Generate a rule for a command list.
52365 Clean command.lst.
52366 Generate command.lst from $(COMMANDFILES).
52367
52368 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52369 (DATA): Added $(pkgdata_DATA).
52370 (install-local): Install files in $(pkgdata_DATA).
52371
062aaf39 523722005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52373
52374 * term/i386/pc/vga.c (debug_command): Removed.
52375 (GRUB_MOD_INIT): Do not register the command "debug".
52376
52377 From Hollis Blanchard:
52378 * commands/configfile.c: New file.
52379 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52380 commands/configfile.c.
52381 (pkgdata_MODULES): Added configfile.mod.
52382 (configfile_mod_SOURCES): New variable.
52383 (configfile_mod_CFLAGS): Likewise.
52384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52385 commands/configfile.c.
52386 (pkgdata_MODULES): Added configfile.mod.
52387 (configfile_mod_SOURCES): New variable.
52388 (configfile_mod_CFLAGS): Likewise.
52389 * util/grub-emu.c (main): Call grub_configfile_init and
52390 grub_configfile_fini.
52391 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52392 prototype.
52393 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 52394
cee01aa6 523952005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52396
52397 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52398 address.
52399
52400 * commands/help.c (grub_cmd_help): Do not print newlines after
52401 the last command in print_command_help.
52402
93f3a1d8 524032005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52404
52405 * commands/default.h: New file.
52406 * commands/timeout.h: Likewise.
52407 * normal/context.c: Likewise.
f19dbdb7 52408
93f3a1d8 52409 * util/misc.c: Do not include sys/times.h.
52410 Include sys/time.h and grub/machine/time.h.
52411 (grub_get_rtc): Rewritten with gettimeofday.
52412
52413 * util/grub-emu.c (main): Call grub_default_init and
52414 grub_timeout_init before grub_normal_init, and call
52415 grub_timeout_fini and grub_default_fini after grub_main.
52416
52417 * util/console.c (grub_ncurses_checkkey): Return the read
52418 character or -1.
52419
52420 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52421 timeouts.
52422
52423 * normal/main.c (read_config_file): Push MENU. If this fails,
52424 print an error and wait for a user input.
52425 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52426 If a menu is empty or an error occurs, pop MENU.
52427 (grub_normal_execute): Pop and free MENU after grub_menu_run
52428 returns.
52429
52430 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52431
52432 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52433 include time.h.
52434 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52435 without GRUB_UTIL.
52436 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52437 time.h.
52438 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52439 without GRUB_UTIL.
52440
52441 * include/grub/normal.h (struct grub_menu_list): New struct.
52442 (grub_menu_list_t): New type.
52443 (struct grub_context): New struct.
52444 (grub_context_t): New type.
52445 (grub_register_command): Got rid of EXPORT_FUNC.
52446 (grub_unregister_command): Likewise.
52447 (grub_context_get): New prototype.
52448 (grub_context_get_current_menu): Likewise.
52449 (grub_context_push_menu): Likewise.
52450 (grub_context_pop_menu): Likewise.
52451 [GRUB_UTIL] (grub_default_init): Likewise.
52452 [GRUB_UTIL] (grub_default_fini): Likewise.
52453 [GRUB_UTIL] (grub_timeout_init): Likewise.
52454 [GRUB_UTIL] (grub_timeout_fini): Likewise.
52455
52456 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
52457 commands/timeout.c and normal/context.c.
52458 (pkgdata_MODULES): Added default.mod and timeout.mod.
52459 (normal_mod_SOURCES): Added normal/context.c.
52460 (default_mod_SOURCES): New variable.
52461 (default_mod_CFLAGS): Likewise.
52462 (timeout_mod_SOURCES): Likewise.
52463 (timeout_mod_CFLAGS): Likewise.
52464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
52465 conf/i386-pc.rmk.
52466 (pkgdata_MODULES): Added default.mod and timeout.mod.
52467 (normal_mod_SOURCES): Added normal/context.c.
52468 (default_mod_SOURCES): New variable.
52469 (default_mod_CFLAGS): Likewise.
52470 (timeout_mod_SOURCES): Likewise.
52471 (timeout_mod_CFLAGS): Likewise.
52472
52473 * Makefile.in (all-local): Added $(MKFILES).
52474
4ed2e1dd 524752005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
52476
52477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
52478 (grub_emu_SOURCES): Likewise.
52479 (pkgdata_MODULES): Add `sun.mod'.
52480 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52482 `partmap/sun.c'.
52483 (pkgdata_MODULES): Add `sun.mod'.
52484 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
52485 * include/grub/partition.h (grub_sun_partition_map_init): New
52486 prototype.
52487 (grub_sun_partition_map_fini): Likewise.
52488 * partmap/sun.c: New file.
52489 * util/grub-emu.c (main): Initialize and de-initialize the sun
52490 partitionmap support.
52491
4d4e372e 524922005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
52493
52494 This implements an Emacs-like menu entry editor.
f19dbdb7 52495
4d4e372e 52496 * normal/menu_entry.c: New file.
f19dbdb7 52497
4d4e372e 52498 * util/console.c (grub_ncurses_putchar): Translate some Unicode
52499 characters to ASCII.
52500 (saved_char): New variable.
52501 (grub_ncurses_checkkey): Rewritten completely.
52502 (grub_ncurses_getkey): Likewise.
52503 (grub_ncurses_init): Call raw instead of cbreak.
52504
52505 * normal/menu.c (print_entry): Do not put a space.
52506 (init_page): Renamed to ...
52507 (grub_menu_init_page): ... this. All callers changed.
52508 (edit_menu_entry): Removed.
52509 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
52510
52511 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
52512
52513 * kern/misc.c (grub_vprintf): Call grub_refresh.
52514
52515 * normal/menu.c (DISP_LEFT): Renamed to ...
52516 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
52517 * normal/menu.c (DISP_UP): Renamed to ...
52518 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
52519 * normal/menu.c (DISP_RIGHT): Renamed to ...
52520 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
52521 * normal/menu.c (DISP_DOWN): Renamed to ...
52522 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
52523 * normal/menu.c (DISP_HLINE): Renamed to ...
52524 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
52525 * normal/menu.c (DISP_VLINE): Renamed to ...
52526 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
52527 * normal/menu.c (DISP_UL): Renamed to ...
52528 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
52529 * normal/menu.c (DISP_UR): Renamed to ...
52530 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
52531 * normal/menu.c (DISP_LL): Renamed to ...
52532 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
52533 * normal/menu.c (DISP_LR): Renamed to ...
52534 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
52535 * normal/menu.c (TERM_WIDTH): Renamed to ...
52536 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
52537 * normal/menu.c (TERM_HEIGHT): Renamed to ...
52538 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
52539 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
52540 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
52541 * normal/menu.c (TERM_MARGIN): Renamed to ...
52542 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
52543 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
52544 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
52545 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
52546 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
52547 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
52548 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
52549 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
52550 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
52551 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
52552 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
52553 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
52554 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
52555 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
52556 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
52557 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
52558 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
52559 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
52560 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
52561 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
52562 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
52563 All callers changed.
52564
52565 * include/grub/normal.h: New prototype.
52566
52567 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52568 normal/menu_entry.c.
52569 (normal_mod_SOURCES): Likewise.
52570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52571 (normal_mod_SOURCES): Likewise.
52572
e6b92c8a 525732005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
52574
52575 * include/grub/normal.h (grub_halt_init): New prototype.
52576 (grub_halt_fini): Likewise.
52577 (grub_reboot_init): Likewise.
52578 (grub_reboot_fini): Likewise.
52579
52580 * util/grub-emu.c: Include signal.h.
52581 (main_env): New global variable.
52582 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
52583 catch C-c.
52584 (grub_machine_fini): New function.
52585 (main): Call grub_halt_init and grub_reboot_init before
52586 grub_main, and grub_reboot_fini and grub_halt_fini after it.
52587 Call setjmp with MAIN_ENV to go back afterwards.
52588 Call grub_machine_fini right before return.
52589
52590 * include/grub/util/misc.h: Include setjmp.h.
52591 (main_env): New prototype.
52592
52593 * include/grub/kernel.h (grub_machine_fini): New prototype.
52594 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
52595 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
52596
52597 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
52598 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
52599 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 52600
e6b92c8a 52601 * util/i386/pc/misc.c: New file.
f19dbdb7 52602
e6b92c8a 52603 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52604 util/i386/pc/misc.c, commands/i386/pc/halt.c and
52605 commands/i386/pc/reboot.c.
52606
c642636f 526072005-02-14 Guillem Jover <guillem@hadrons.org>
52608
52609 * include/grub/dl.h (grub_dl_check_header): New prototype.
52610 (grub_arch_dl_check_header): Change return type to grub_err_t,
52611 remove size parameter and export function. Update all callers.
52612 * kern/dl.c (grub_dl_check_header): New function.
52613 (grub_dl_load_core): Use `grub_dl_check_header' instead of
52614 `grub_arch_dl_check_header'. Check ELF type. Check if sections
52615 are inside the core.
52616 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
52617 independent ELF header checks.
52618 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52619 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
52620 `grub_dl_check_header' instead of explicit checks. Check for the
52621 ELF type.
52622 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
52623 `grub_dl_check_header' instead of explicit checks. Remove arch
52624 specific ELF header checks.
52625
e6b92c8a 52626 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
52627 argument SIZE.
52628
5eabe94b 526292005-02-13 Hollis Blanchard <hollis@penguinppc.org>
52630
52631 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
52632 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
52633
1b14a681 526342005-02-12 Hollis Blanchard <hollis@penguinppc.org>
52635
52636 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 52637 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 52638 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 52639 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 52640 * partmap/amiga.c (amiga_partition_map_iterate): Return
52641 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
52642 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52643
aca108aa 526442005-02-01 Guillem Jover <guillem@hadrons.org>
52645
52646 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
52647 help info.
52648
c9f9c556 526492005-01-31 Marco Gerards <metgerards@student.han.nl>
52650
52651 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
52652 Removed prototype.
52653 (grub_rescue_cmd_linux): New prototype.
52654 (grub_rescue_cmd_initrd): Likewise.
52655 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
52656 `bi_rec'.
52657 (grub_linux_release_mem): Release the memory for the initrd.
52658 (grub_load_linux): Renamed from this...
52659 (grub_rescue_cmd_linux): ...To this. Changed all callers.
52660 Changed `entry' not to be static. Loop over memory regions to
52661 find another one when the default fails.
52662 (grub_rescue_cmd_initrd): New function.
52663 (grub_linux_init): Remove function.
52664 (grub_linux_fini): Likewise.
52665 (GRUB_MOD_INIT): Register `initrd'.
52666 (GRUB_MOD_FINI): Unregister `initrd'.
52667 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
52668 Function removed.
52669 (grub_linux_normal_fini): Likewise.
52670 (GRUB_MOD_INIT): Register `initrd'.
52671 (GRUB_MOD_FINI): Unregister `initrd'.
52672
990cf3aa 526732005-01-31 Marco Gerards <metgerards@student.han.nl>
52674
52675 * commands/help.c: New file.
52676 * normal/arg.c (show_help): Renamed to...
52677 (grub_arg_show_help): ... this.
52678 * commands/i386/pc/halt.c: New file.
52679 * commands/i386/pc/reboot.c: Likewise.
52680 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
52681 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
52682 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
52683 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
52684 variables.
52685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52686 `commands/help.c'.
52687 (pkgdata_MODULES): Add `help.mod'.
52688 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
52689 * grub/i386/pc/init.h (grub_reboot): New prototype.
52690 (grub_halt): Likewise.
52691 * include/grub/normal.h (grub_arg_show_help): New prototype.
52692 (grub_help_init): Likewise.
52693 (grub_help_fini): Likewise.
52694 * util/grub-emu.c (main): Initialize and deinitialize the help
52695 command.
52696
52697 * normal/cmdline.c (grub_cmdline_get): Doc fix.
52698
52699 * normal/command.c (grub_command_init): Fixed the description of
52700 the `set' and `unset' commands.
52701
527022005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 52703
52704 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
52705 function.
52706 * commands/ieee1275/halt.c: New file.
52707 * commands/ieee1275/reboot.c: Likewise.
52708 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
52709 `__attribute__ ((unused))'. Some GCS related fixed.
52710 (grub_suspend_init) [GRUB_UTIL]: Function removed.
52711 (grub_suspend_fini): Likewise.
52712 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
52713 and `halt.mod'.
52714 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
52715 (halt_mod_CFLAGS): New variables.
52716 * include/grub/powerpc/ieee1275/ieee1275.h
52717 (grub_ieee1275_interpret): New prototype.
52718
1ab09cc7 527192005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
52720
52721 * include/grub/misc.h (memmove): New prototype.
52722 (memcpy): Likewise.
52723
8b8cbdb2 527242005-01-22 Hollis Blanchard <hollis@penguinppc.org>
52725
52726 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
52727 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
52728
e3741a27 527292005-01-22 Marco Gerards <metgerards@student.han.nl>
52730
52731 * kern/misc.c (grub_strndup): Function rewritten.
52732
776bd780 527332005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
52734
52735 * normal/menu.c (TERM_WIDTH): Macro redefined.
52736 (TERM_TOP_BORDER_Y): Likewise.
52737 (draw_border): Replaced while-loop by a for-loop. Make the number
52738 of lines consistent with the number of lines displayed in
52739 print_entries. Added a margin below the rectangle.
52740 (print_entry): Make the entry fit in the rectangle.
52741 (print_entries): Display the scroll arrows next to the right
52742 border.
52743
78026bce 527442005-01-21 Marco Gerards <metgerards@student.han.nl>
52745
52746 * fs/minix.c (grub_minix_find_file): Reserve more space for
52747 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
52748 `grub_strncpy' to copy `path' into it.
52749
67bbaf0f 527502005-01-21 Marco Gerards <metgerards@student.han.nl>
52751
52752 Add the loopback device, a device via which files can be accessed
52753 as devices.
f19dbdb7 52754
67bbaf0f 52755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
52756 (pkgdata_MODULES): Add loopback.mod.
52757 (loopback_mod_SOURCES): New variable.
52758 (loopback_mod_CFLAGS): Likewise.
52759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
52760 `disk/loopback.c'.
52761 (pkgdata_MODULES): Add loopback.mod.
52762 (loopback_mod_SOURCES): New variable.
52763 (loopback_mod_CFLAGS): Likewise.
52764 * disk/loopback.c: new file.
52765 * include/grub/normal.h (grub_loop_init): New prototype.
52766 (grub_loop_fini): New prototype.
52767 * util/grub-emu.c (main): Initialize and de-initialize loopback
52768 support.
52769 * include/grub/disk.h (grub_disk_dev_id): Add
52770 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
52771
6f1c18bd 527722005-01-20 Hollis Blanchard <hollis@penguinppc.org>
52773
52774 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
52775 function.
52776 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
52777 (suspend_mod_SOURCES): New variable.
52778 (suspend_mod_CFLAGS): Likewise.
52779 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
52780 New prototype.
52781 * commands/ieee1275/suspend.c: New file.
52782
b38551da 527832005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
52784
52785 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 52786 ((unused))' to `__attribute__ ((used))'.
b38551da 52787 (GRUB_MOD_FINI): Likewise.
52788 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
52789 * genmk.rb (PModule): Assign space to common symbols when linking
52790 modules.
52791
777aff39 527922005-01-20 Marco Gerards <metgerards@student.han.nl>
52793
52794 * include/grub/mm.h (grub_mm_init_region): Change the type of the
52795 `unsigned' arguments to `grub_size_t'.
52796 (grub_malloc): Likewise.
52797 (grub_realloc): Likewise.
52798 (grub_memalign): Likewise.
52799 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
52800 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
52801 * util/misc.c (grub_malloc): Likewise.
52802 (grub_realloc): Likewise.
52803 * kern/mm.c (get_header_from_pointer): Change the casts to
52804 `unsigned' into a cast to `grub_size_t'.
52805
52806 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
52807 point to `currnode' when `currnode' is changed.
52808
52809 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
52810 Schottelius <nico-linux@schottelius.org>.
52811
d0ff18e1 528122005-01-09 Hollis Blanchard <hollis@penguinppc.org>
52813
52814 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
52815 (note_path): Remove variable.
52816 (GRUB_IEEE1275_NOTE_NAME): New macro.
52817 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
52818 (grub_ieee1275_note_hdr): New structure.
52819 (grub_ieee1275_note_desc): Likewise.
52820 (grub_ieee1275_note): Likewise.
52821 (load_note): Remove `dir' argument. All callers updated. Remove
52822 `note_img' and `path'. Do not load a file from `note_path'.
52823 Initialize a struct grub_ieee1275_note and write that to `out'.
52824 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
52825
4ca7004c 528262005-01-05 Marco Gerards <metgerards@student.han.nl>
52827
52828 * util/misc.c (grub_util_read_image): Revert last change. It
52829 called `grub_util_read_at', which seeks from the beginning of the
52830 file.
52831
0b412211 528322005-01-04 Hollis Blanchard <hollis@penguinppc.org>
52833
52834 * TODO: Add note about endianness in grub-mkimage.
52835 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
52836 section.
52837 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
52838 (grub_mkimage_SOURCES): New target.
52839 * include/grub/kernel.h (grub_start_addr): Remove variable.
52840 (grub_end_addr): Likewise.
52841 (grub_total_module_size): Likewise.
52842 (grub_kernel_image_size): Likewise.
52843 (GRUB_MODULE_MAGIC): New constant.
52844 (grub_module_info): New structure.
52845 (grub_arch_modules_addr): New prototype.
52846 (grub_get_end_addr): Remove prototype.
52847 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
52848 * include/grub/powerpc/ieee1275/kernel.h: New file.
52849 * include/grub/util/misc.h (grub_util_get_fp_size): New
52850 prototype.
52851 (grub_util_read_at): Likewise.
52852 (grub_util_write_image_at): Likewise.
52853 * kern/main.c (grub_get_end_addr): Remove function.
52854 (grub_load_modules): Call grub_arch_modules_addr instead of using
52855 grub_end_addr. Look for a grub_module_info struct in memory. Use
52856 the grub_module_info fields instead of calling grub_get_end_addr
52857 as loop conditions. Move grub_add_unused_region code here.
52858 (grub_add_unused_region): Remove function.
52859 * kern/i386/pc/init.c: Include grub/cache.h.
52860 (grub_machine_init): Remove call to grub_get_end_addr. Remove
52861 one call to add_mem_region.
52862 (grub_arch_modules_addr): New function.
52863 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
52864 (grub_total_module_size): Likewise.
52865 Include grub/machine/kernel.h.
52866 (grub_arch_modules_addr): New function.
52867 * util/grub-emu.c (grub_end_addr): Remove variable.
52868 (grub_total_module_size): Likewise.
52869 (grub_arch_modules_addr): New function.
52870 * util/misc.c: Include unistd.h.
52871 (grub_util_get_fp_size): New function.
52872 (grub_util_read_at): Likewise.
52873 (grub_util_write_image_at): Likewise.
52874 (grub_util_read_image): Call grub_util_read_at.
52875 (grub_util_write_image): Call grub_util_write_image_at.
52876 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
52877 additional memory in kernel_img for a struct grub_module_info.
52878 Fill in that grub_module_info.
52879 * util/powerpc/ieee1275/grub-mkimage.c: New file.
52880
458786f8 528812005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52882
52883 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
52884 New function.
52885 * include/grub/powerpc/ieee1275/ieee1275.h
52886 (grub_ieee1275_milliseconds): New prototype.
52887 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
52888 Change to 1000.
52889 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
52890 grub_ieee1275_milliseconds.
52891
ac507d1b 528922005-01-03 Hollis Blanchard <hollis@penguinppc.org>
52893
52894 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
52895 variable.
52896 (find_options): New function.
52897 (cmain): Call find_options.
52898 * include/grub/powerpc/ieee1275/ieee1275.h
52899 (grub_ieee1275_realmode): New extern variable.
52900 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
52901 grub_map if grub_ieee1275_realmode is false.
52902
6b8fd1c4 529032004-12-29 Marco Gerards <metgerards@student.han.nl>
52904
52905 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
52906 lines are inserted and make it work like readline. Reported by
52907 Vincent Pelletier <subdino2004@yahoo.fr>.
52908
8514a1e0 529092004-12-28 Marco Gerards <metgerards@student.han.nl>
52910
52911 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
52912
52913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
52914 `kern/powerpc/cache.S'.
52915
924b6140 529162004-12-27 Marco Gerards <metgerards@student.han.nl>
52917
52918 * genmk.rb: Handle the `Program' class in the main loop. Written
52919 by Johan Rydberg <jrydberg@gnu.org>.
52920 (Program): New class.
52921 (programs): New variable.
52922 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
52923 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
52924 instead of "grub/kernel.h". Include <grub/machine/init.h>.
52925 (help_arch): Function removed.
52926 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
52927 `powerpc/libgcc.h' and `loader.h'.
52928 (pkgdata_PROGRAMS): New variable.
52929 (sbin_UTILITIES): Variable removed.
52930 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
52931 (grubof_SOURCES): Variable re-defined so it only includes the
52932 core functionality.
52933 (grubof_CFLAGS): Remove `-DGRUBOF'.
52934 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
52935 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
52936 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
52937 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
52938 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
52939 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
52940 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
52941 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
52942 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
52943 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
52944 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
52945 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
52946 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
52947 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
52948 (pc_mod_CFLAGS): New variables.
52949 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
52950 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
52951 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
52952 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
52953 Moved from here...
52954 * include/grub/i386/pc/init.h (grub_os_area_addr)
52955 (rub_os_area_size): ... to here.
52956 * include/grub/powerpc/ieee1275/ieee1275.h
52957 (grub_ieee1275_entry_fn): Export symbol.
52958 * include/grub/powerpc/ieee1275/init.h: New file.
52959 * include/grub/powerpc/libgcc.h: Likewise.
52960 * include/grub/cache.h: Likewise.
52961 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
52962 <hollis@penguinppc.org>.
52963 * kern/dl.c: Include <grub/cache.h>.
52964 (grub_dl_flush_cache): New function.
52965 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
52966 for this module.
52967 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
52968 (grub_console_init): Removed prototypes.
52969 (grub_machine_init): Don't initialize the modules anymore.
52970 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
52971 static.
52972 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
52973 Macro undef removed.
52974 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
52975 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
52976 relocation `R_PPC_REL32'. Return an error when the relocation is
52977 unknown.
52978 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
52979 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
52980 * util/misc.c (grub_arch_sync_caches): Likewise.
52981
e4b47e0c 529822004-12-19 Marco Gerards <metgerards@student.han.nl>
52983
52984 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
52985 `symlist.c', add `grubof_symlist.c'.
52986 (symlist.c): Variable removed.
52987 (grubof_HEADERS): Variable added.
52988 (grubof_symlist.c): New target.
52989 (kernel_syms.lst): Use `grubof_HEADERS' instead of
52990 `kernel_img_HEADERS'.
52991 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
52992 * kern/powerpc/dl.c: New file.
52993 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
52994 Function removed.
52995 (grub_arch_dl_relocate_symbols): Likewise.
52996 (grub_register_exported_symbols): Likewise.
52997
4ceb3636 529982004-12-13 Marco Gerards <metgerards@student.han.nl>
52999
53000 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53001 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53002 to fail instead. Reported by Vincent Pelletier
53003 <subdino2004@yahoo.fr>.
53004
53005 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53006 it is not allocated. Reported by Vincent Pelletier
53007 <subdino2004@yahoo.fr>.
53008
53009 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53010 output so the output looks better.
f19dbdb7 53011
3f1578fe 530122004-12-04 Marco Gerards <metgerards@student.han.nl>
53013
53014 Modulize the partition map support and add support for the amiga
53015 partition map.
f19dbdb7 53016
3f1578fe 53017 * commands/ls.c: Include <grub/partition.h> instead of
53018 <grub/machine/partition.h>.
53019 * kern/disk.c: Likewise.
53020 * kern/rescue.c: Likewise.
53021 * loader/i386/pc/chainloader.c: Likewise.
53022 * normal/cmdline.c: Likewise.
53023 * kern/powerpc/ieee1275/init.c: Likewise.
53024 (grub_machine_init): Call `grub_pc_partition_map_init',
53025 `grub_amiga_partition_map_init' and
53026 `grub_apple_partition_map_init'.
53027 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53028 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53029 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53030 `partition.h' and `pc_partition.h'.
53031 (grub_setup_SOURCES): Remove
53032 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53033 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53034 (grub_emu_SOURCES): Likewise.
53035 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53036 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53037 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53039 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53040 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53041 (grubof_SOURCES): Likewise.
53042 * disk/i386/pc/partition.c: File removed.
53043 * disk/powerpc/ieee1275/partition.c: Likewise.
53044 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53045 * include/grub/i386/pc/partition.h: Likewise.
53046 * kern/partition.c: New file.
53047 * partmap/amiga.c: Likewise.
53048 * partmap/apple.c: Likewise.
53049 * partmap/pc.c: Likewise.
53050 * include/grub/partition.h: Likewise..
53051 * include/grub/pc_partition.h: Likewise.
53052 * util/grub-emu.c: Include <grub/partition.h> instead of
53053 <grub/machine/partition.h>.
53054 (main): Call `grub_pc_partition_map_init',
53055 `grub_amiga_partition_map_init' and
53056 `grub_apple_partition_map_init' and deinitialize afterwards.
53057 * util/i386/pc/biosdisk.c: Include `#include
53058 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53059 `<grub/machine/partition.h>'.
53060 * util/i386/pc/grub-setup.c: Likewise.
53061 * util/i386/pc/biosdisk.c: Likewise.
53062 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53063 partition information in case of a PC partition.
53064 * util/i386/pc/grub-setup.c: Include `#include
53065 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53066 `<grub/machine/partition.h>'.
53067 (setup): Only access the PC specific partition information in case
53068 of a PC partition.
53069
0ef4ced9 530702004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 53071
0ef4ced9 53072 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53073 (grub_longjmp): Likewise.
53074 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53075 20.
53076 * normal/powerpc/setjmp.S: New file.
53077 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53078 `normal/powerpc/setjmp.S'.
53079 (grubof_CFLAGS): Add `-DGRUBOF'.
53080 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53081 [GRUB_UTIL && !GRUBOF].
f19dbdb7 53082
19950e29 530832004-11-16 Marco Gerards <metgerards@student.han.nl>
53084
53085 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53086 property named `name'. Correctly handle the error returned by
53087 `grub_ieee1275_finddevice' if a device can not be opened.
53088
a2fea427 530892004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53090
53091 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53092 `actual' for negativity.
53093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53094 kern/fshelp.c.
53095
41ea0ea3 530962004-11-01 Marco Gerards <metgerards@student.han.nl>
53097
53098 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53099 (PAGE_OFFSET): New macro.
53100 (CRTC_ADDR_PORT): Likewise.
53101 (CRTC_DATA_PORT): Likewise.
53102 (START_ADDR_HIGH_REGISTER): Likewise.
53103 (START_ADDR_LOW_REGISTER): Likewise.
53104 (GRAPHICS_ADDR_PORT): Likewise.
53105 (GRAPHICS_DATA_PORT): Likewise.
53106 (READ_MAP_REGISTER): Likewise.
53107 (INPUT_STATUS1_REGISTER): Likewise.
53108 (INPUT_STATUS1_VERTR_BIT): Likewise.
53109 (page): New variable.
53110 (wait_vretrace): New function.
53111 (set_read_map): Likewise.
53112 (set_start_address): Likewise.
53113 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53114 the right page.
53115 (check_vga_mem): Take the page into account.
53116 (write_char): Likewise.
53117 (write_cursor): Likewise.
53118 (scroll_up): Likewise. Copy the page to the page that is not
53119 shown and switch between both pages.
53120 (grub_vga_putchar): Fix off by one error.
53121 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53122 account.
53123
ad0bd20b 531242004-11-01 Marco Gerards <metgerards@student.han.nl>
53125
53126 Add support for iso9660 (including rockridge).
f19dbdb7 53127
ad0bd20b 53128 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53129 (iso9660_mod_SOURCES): New variable.
53130 (iso9660_mod_CFLAGS): Likewise.
53131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53132 * include/grub/fs.h (grub_iso9660_init): New prototype.
53133 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53134 * fs/iso9660.c: New file.
53135
53136 * include/grub/misc.h (grub_strncat): New prototype.
53137 * kern/misc.c (grub_strncat): New function.
f19dbdb7 53138
ad0bd20b 53139 * fs/hfs.c (grub_hfs_mount): Translate the error
53140 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53141 * fs/jfs.c (grub_jfs_mount): Likewise.
53142 * fs/ufs.c (grub_ufs_mount): Likewise.
53143
a5477a59 531442004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53145
53146 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53147 which initialized BAT registers.
53148 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53149 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53150 Move from here...
53151 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53152 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53153 ... to here.
53154 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53155 (grub_mapclaim): Likewise.
53156 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53157 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53158 hand.
53159
9304c1f8 531602004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53161
53162 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53163 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53164 -ffreestanding and -msoft-float.
53165
86f4ae25 531662004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53167
53168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53169 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53170 set in grub_ieee1275_flags.
53171
38912228 531722004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53173
53174 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53175 prototype.
53176 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53177 grub_console_init first.
53178 Change the memory range used for grub_ieee1275_claim and
53179 grub_mm_init_region.
53180 Print an error message if the claim fails.
53181 Include <grub/misc.h>.
53182
d1923dc8 531832004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53184
53185 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53186 Call grub_children_iterate for device nodes of type `scsi',
53187 `ide', or `ata'.
53188 (grub_ofdisk_open): Remove manual device alias resolution.
53189 Fix memory leak when device cannot be opened.
f19dbdb7 53190 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53191 (grub_children_iterate): New prototype.
53192 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53193 New function.
53194 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53195 Return -1 if args.size was -1.
53196
4512e4f3 531972004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53198
53199 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53200 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53201 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53202 Open Firmware's memory for it; claim memory from _start to _end.
53203 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53204 (_end): New extern.
53205 (_start): Zero BSS from __bss_start to _end.
53206 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53207 New extern.
53208 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53209
4d61feb0 532102004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53211
ad0bd20b 53212 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53213 -1 if args.base was -1.
4d61feb0 53214
026fa2f9 532152004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53216
53217 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53218 escape sequence instead of a literal ^L. Also call
53219 grub_ofconsole_gotoxy.
53220
9f2220ef 532212004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53222
53223 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53224 void * arguments to grub_addr_t. All callers updated. Also make
53225 the `result' argument optional.
53226 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53227 All callers updated.
53228
8a572cd7 532292004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53230
53231 * commands/ls.c (grub_ls_list_files): Use the string following the
53232 initial ')', if present, as the filesystem path.
53233 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53234
53235 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53236
18aa81f2 532372004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53238
53239 Make the source code of the menu interface more readable.
f19dbdb7 53240
18aa81f2 53241 * normal/menu.c: Include grub/mm.h.
53242 (TERM_WIDTH): New macro.
53243 (TERM_HEIGHT): Likewise.
53244 (TERM_INFO_HEIGHT): Likewise.
53245 (TERM_MARGIN): Likewise.
53246 (TERM_SCROLL_WIDTH): Likewise.
53247 (TERM_TOP_BORDER_Y): Likewise.
53248 (TERM_LEFT_BORDER_X): Likewise.
53249 (TERM_BORDER_WIDTH): Likewise.
53250 (TERM_MESSAGE_HEIGHT): Likewise.
53251 (TERM_BORDER_HEIGHT): Likewise.
53252 (TERM_NUM_ENTRIES): Likewise.
53253 (TERM_FIRST_ENTRY_Y): Likewise.
53254 (TERM_ENTRY_WIDTH): Likewise.
53255 (TERM_CURSOR_X): Likewise.
53256 (draw_border): Use macros instead of magic numbers.
53257 (print_entry): Likewise.
53258 (print_entries): Likewise.
53259 (run_menu): Likewise. Also, handle the key 'e'.
53260 (run_menu_entry): Ignore empty command lines.
53261 (print_message): Added a new argument EDIT. If EDIT is true,
53262 print a different message.
53263 (init_page): Likewise.
53264 (edit_menu_entry): New function. Not implemented yet.
53265
b47efe30 532662004-09-17 Marco Gerards <metgerards@student.han.nl>
53267
53268 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53269 can be loaded from normal mode.
f19dbdb7 53270
b47efe30 53271 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53272 `multiboot.mod'.
53273 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53274 (multiboot_mod_CFLAGS): New variables.
53275 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 53276 * loader/i386/pc/multiboot_normal.c: Likewise.
53277
b47efe30 53278 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53279 attribute `unused'.
f19dbdb7 53280
b47efe30 53281 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53282 `fdiro' to read the mode information from instead of `diro'.
53283
53284 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53285 looking up a symlink.
53286
53287 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53288 macro.
53289 * normal/command.c (grub_command_execute): Don't parse the
53290 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53291 flags of the command.
53292
53293 * normal/menu.c (grub_menu_run): Fix typo.
53294
da75ac71 532952004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53296
53297 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53298
53299 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53300 `y + 1' instead of `y - 1'.
53301
53302 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 53303
062b24c2 533042004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53305
53306 From Hollis Blanchard <hollis@penguinppc.org>:
53307 * kern/misc.c (memmove): New alias for grub_memmove.
53308 (memcmp): New alias for grub_memcmp.
53309 (memset): New alias for grub_memset.
f19dbdb7 53310 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 53311 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 53312 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 53313 (grub_ieee1275_get_property): Likewise.
f19dbdb7 53314
8ddad845 533152004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53316
53317 Added normal mode command `chainloader' as module chain.mod, which
53318 depends on normal.mod and _chain.mod.
f19dbdb7 53319
8ddad845 53320 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53321 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53322 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53323 Deleted prototype.
53324 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53325 but arguments parsing moved to ...
53326 (grub_chainloader_cmd): ... here. New function.
53327 * include/grub/i386/pc/chainloader.h: New file.
53328 * loader/i386/pc/chainloader_normal.c: Likewise.
53329
2c1f4ce3 533302004-09-11 Marco Gerards <metgerards@student.han.nl>
53331
53332 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53333 (grub_mkimage_LDFLAGS): Likewise.
53334 (grub_emu_SOURCES): Likewise.
53335 (kernel_img_HEADERS): Added fshelp.h.
53336 * fs/ext2.c: Include <grub/fshelp.h>.
53337 (FILETYPE_REG): New macro.
53338 (FILETYPE_INO_REG): Likewise.
53339 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53340 Changed all users.
53341 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53342 all users.
53343 (grub_fshelp_node): New struct.
53344 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53345 to a pointer.
53346 (grub_ext2_get_file_block): Removed function.
53347 (grub_ext2_read_block): New function.
53348 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53349 This function was written.
53350 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53351 (grub_ext2_find_file): Removed function.
53352 (grub_ext2_read_symlink): New function.
53353 (grub_ext2_iterate_dir): Likewise.
53354 (grub_ext2_open): Rewritten.
53355 (grub_ext2_dir): Rewritten.
53356 * include/grub/fshelp.h: New file.
53357 * fs/fshelp.c: Likewise.
53358
3c52136a 533592004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53360
53361 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53362 (print_message): Add a missing newline.
53363 (run_menu): Added timeout support.
53364 (run_menu_entry): New local function.
53365 (grub_menu_run): Added support for booting.
53366
53367 * kern/loader.c (grub_loader_is_loaded): New function.
53368
53369 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53370 (grub_get_rtc): Exported.
53371
53372 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53373 (grub_get_rtc): Exported.
53374
53375 * include/grub/normal.h (struct grub_command_list): Remove
53376 constant from the member `command'.
53377
53378 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53379
53380 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53381
53382 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53383
aa033560 533842004-08-28 Marco Gerards <metgerards@student.han.nl>
53385
53386 Add support for the JFS filesystem.
53387
53388 * fs/jfs.c: New file.
53389 * include/grub/fs.h (grub_jfs_init): New prototype.
53390 (grub_jfs_fini): New prototype.
53391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53392 (grub_emu_SOURCES): Likewise.
53393 (pkgdata_MODULES): Add jfs.mod.
53394 (jfs_mod_SOURCES): New variable.
53395 (jfs_mod_CFLAGS): Likewise.
53396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53397 (grubof_SOURCES): Likewise.
53398 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53399
53400 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53401 endian to the host endian.
53402 (grub_fat_utf16_to_utf8): Move function from there...
53403 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 53404 the endianness of the source string anymore.
aa033560 53405 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53406
94bc45af 534072004-08-24 Marco Gerards <metgerards@student.han.nl>
53408
53409 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53410 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53411 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53412 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 53413
94bc45af 53414 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53415 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53416 for `node_found' and `it_dir'.
53417 (grub_hfs_dir): Add prototype for `dir_hook'.
53418
53419 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53420 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53421 and `indir32' to silence a gcc warning.
53422
53423 * include/grub/fs.h (grub_hfs_init): New prototype.
53424 (grub_hfs_fini): Likewise.
f19dbdb7 53425
53426
97543f08 534272004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53428
53429 Each disk device has its own id now. This is useful to make use
53430 of multiple disk devices.
f19dbdb7 53431
97543f08 53432 * include/grub/disk.h (grub_disk_dev_id): New enum.
53433 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53434 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53435
53436 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53437 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53438
53439 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53440 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53441
53442 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53443 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53444
53445 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53446 "id" which is used by the cache manager.
53447
53448 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53449 of just "GRUB".
53450
64372eb4 534512004-08-18 Marco Gerards <metgerards@student.han.nl>
53452
53453 * fs/hfs.c: New file.
53454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
53455 (grub_emu_SOURCES): Likewise.
53456 (pkgdata_MODULES): Add hfs.mod.
53457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
53458 (grubof_SOURCES): Likewise.
53459 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
53460
53461 * include/grub/misc.h (grub_strncasecmp): Add prototype.
53462 * kern/misc.c (grub_strncasecmp): Add function.
53463
cc61b58f 534642004-08-14 Marco Gerards <metgerards@student.han.nl>
53465
53466 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
53467 with parentheses.
53468
53469 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
53470 (grub_ext2_dir): In case the directory entry type is unknown, read
53471 it from the inode.
53472
0ef123f6 534732004-08-02 Peter Bruin <pjbruin@dds.nl>
53474
53475 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
53476 grub_load_linux instead of grub_rescue_cmd_linux as second
53477 argument of grub_rescue_register_command.
53478
53479 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
53480
a447c5df 534812004-07-27 Marco Gerards <metgerards@student.han.nl>
53482
53483 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
53484 function.
53485 * commands/boot.c: Remove the check for `GRUB_UTIL'.
53486 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53487 `loader/powerpc/ieee1275/linux.c',
53488 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
53489 * include/grub/powerpc/ieee1275/ieee1275.h
53490 (grub_ieee1275_release): New prototype.
53491 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
53492 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
53493 normal, boot, linux and linux_normal.
53494 * loader/powerpc/ieee1275/linux.c: New file.
53495 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
53496
5a9e3546 534972004-07-12 Marco Gerards <metgerards@student.han.nl>
53498
53499 * normal/arg.c (grub_arg_parse): Correct error handling after
53500 reallocating the argumentlist (check if `argl' is not null instead
53501 of checking if `args' is not null).
53502 * kern/mm.c (grub_realloc): Return the same pointer when using the
53503 same region, instead of returning the header address.
53504
e15199cb 535052004-07-11 Marco Gerards <metgerards@student.han.nl>
53506
53507 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
53508 one block instead of two when looking for the initial partition.
53509 (grub_partition_probe): Initialize the local variable `p' with 0.
53510 Use base 10 for the grub_strtoul call.
53511 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
53512 need for one local variable.
53513 (grub_strtoul): Don't add the new value to `num', instead of that
53514 just assign it.
53515
020616c2 535162004-07-11 Marco Gerards <metgerards@student.han.nl>
53517
53518 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
53519 (pxeboot_img_SOURCES): New variable.
53520 (pxeboot_img_ASFLAGS): Likewise.
53521 (pxeboot_img_LDFLAGS): Likewise.
53522 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
53523 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
53524 <lode_leroy@hotmail.com>.
53525
6c51eb64 535262004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53527
53528 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
53529 there was no input.
53530
cfb12aff 535312004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53532
53533 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
53534 the history buffer logic.
53535
6eabba74 535362004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
53537
53538 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
53539 (FILETYPE_INO_SYMLINK): New macros.
53540 (grub_ext2_find_file): Check if the node is a directory using the
53541 inode stat information instead of using the filetype in the
53542 dirent. Exclude the first character of an absolute symlink.
53543 (grub_ext2_dir): Mask out the filetype part of the mode member of
53544 the inode.
53545
66e19ef8 535462004-05-24 Marco Gerards <metgerards@student.han.nl>
53547
53548 Add support for UFS version 1 and 2. Add support for the minix
53549 filesystem version 1 and 2, both the variants with 14 and 30 long
53550 filenames.
f19dbdb7 53551
66e19ef8 53552 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
53553 fs/minix.c.
53554 (grub_emu_SOURCES): Likewise.
53555 (pkgdata_MODULES): Add ufs.mod and minix.mod.
53556 (ufs_mod_SOURCES): New variable.
53557 (ufs_mod_CFLAGS): Likewise.
53558 (minix_mod_SOURCES): Likewise.
53559 (minix_mod_CFLAGS): Likewise.
53560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
53561 fs/minix.c.
53562 (grubof_SOURCES): Likewise.
53563 * fs/ufs.c: New file.
53564 * fs/minix.c: New file.
53565 * include/grub/fs.h (grub_ufs_init): New prototype.
53566 (grub_ufs_fini): Likewise.
53567 (grub_minix_init): Likewise.
53568 (grub_minix_fini): Likewise.
53569 * util/grub-emu.c (main): Initialize and deinitialize UFS and
53570 minix fs.
53571
cc2e748a 535722004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
53573
53574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
53575 commands/ls.c, commands/terminal.c, commands/boot.c,
53576 commands/cmp.c and commands/cat.c.
53577 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
53578
53579 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
53580 "env.h"
53581
4b13b216 535822004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53583
53584 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
53585 and grub_, respectively. Because the conversion is trivial and
53586 mechanical, I omit the details here. Please refer to the CVS
53587 if you need more information.
53588
6a142551 535892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
53590
53591 * include/pupa: Renamed to ...
53592 * include/grub: ... this.
53593 * util/i386/pc/pupa-mkimage.c: Renamed to ...
53594 * util/i386/pc/grub-mkimage.c: ... this.
53595 * util/i386/pc/pupa-setup.c: Renamed to ...
53596 * util/i386/pc/grub-setup.c: ... this.
53597 * util/pupa-emu.c: Renamed to ...
53598 * util/grub-emu.c: ... this.
53599
e56cdf21 536002004-03-29 Marco Gerards <metgerards@student.han.nl>
53601
53602 Add support for the newworld apple macintosh (PPC). This has been
53603 tested on the powerbook 2000 only. It only adds support for
53604 generic ieee1275 functions, console and disk support. This should
53605 be easy to port to other architectures with support for Open
53606 Firmware.
f19dbdb7 53607
e56cdf21 53608 * configure.ac: Accept the powerpc as host_cpu. In the case of
53609 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
53610 specific tests are only executed while building for the i386.
53611 Inverse test for crosscompile.
53612 * genmk.rb (Utility): Allow assembler files.
53613 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
53614 * conf/powerpc-ieee1275.rmk: New file.
53615 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
53616 * disk/powerpc/ieee1275/partition.c: Likewise.
53617 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
53618 * include/pupa/powerpc/ieee1275/console.h: Likewise.
53619 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
53620 * include/pupa/powerpc/ieee1275/time.h: Likewise.
53621 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
53622 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
53623 * include/pupa/powerpc/ieee1275/loader.h
53624 * include/pupa/powerpc/setjmp.h: Likewise.
53625 * include/pupa/powerpc/types.h: Likewise.
53626 * kern/powerpc/ieee1275/init.c: Likewise.
53627 * kern/powerpc/ieee1275/openfw.c: Likewise.
53628 * term/powerpc/ieee1275/ofconsole.c: Likewise.
53629
53630 These files were written by Johan Rydberg
53631 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 53632
e56cdf21 53633 * boot/powerpc/ieee1275/cmain.c: New file.
53634 * boot/powerpc/ieee1275/crt0.S: Likewise.
53635 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
53636 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
53637
8c8cc205 536382004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
53639
53640 * Makefile.in: Update copyright.
53641 * genmodsrc.sh: Likewise.
53642 * gensymlist.sh: Likewise.
53643 * term/i386/pc/vga.c: Indent correctly.
53644
53645 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
53646 bugreporting address.
53647 * util/i386/pc/pupa-setup.c (usage): Likewise,
53648 (main): Call pupa_ext2_init and pupa_ext2_fini.
53649
f19dbdb7 53650 * fs/fat.c (log2): Renamed to ...
8c8cc205 53651 (fat_log2): ... this.
53652 All callers changed.
53653 * kern/misc.c (memcpy): Alias to pupa_memmove.
53654 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
53655 lvalue cast.
53656 * util/console.c (pupa_ncurses_fini): Return 0.
53657
53658 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
53659 Move fail label here.
53660 [__GNU__]: Don't warn when using stat.
53661 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
53662 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
53663 long int. Use strtol instead of strtoul.
f19dbdb7 53664
db1771cf 536652004-03-14 Marco Gerards <metgerards@student.han.nl>
53666
53667 * commands/boot.c: New file.
53668 * commands/cat.c: Likewise.
53669 * commands/cmp.c: Likewise.
53670 * commands/ls.c: Likewise.
53671 * commands/terminal.c: Likewise.
53672 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
53673 (pupa_register_command): Changed interface to match the new
53674 argument parser.
53675 (pupa_command_execute): Changed (almost rewritten) so it uses
53676 pupa_split_command. Added support for setting variables using the
53677 syntax `foo=bar'.
53678 (rescue_command): Changed to work with the new argument parser.
53679 (terminal_command): Moved from here to commands/terminal.c.
53680 (set_command): New function.
53681 (unset_command): New function.
53682 (insmod_command): New function.
53683 (rmmod_command): New function.
53684 (lsmod_command): New function.
53685 (pupa_command_init): Don't initialize the command terminal
53686 anymore. Initialize the commands set, unset, insmod, rmmod and
53687 lsmod.
53688 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
53689 (kernel_img_HEADERS): Add arg.h and env.h.
53690 (pupa_mkimage_LDFLAGS): Add kern/env.c.
53691 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
53692 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
53693 normal/arg.c.
53694 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
53695 terminal.mod.
53696 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
53697 (boot_mod_SOURCES): New variable.
53698 (terminal_mod_SOURCES): Likewise.
53699 (ls_mod_SOURCES): Likewise.
53700 (cmp_mod_SOURCES): Likewise.
53701 (cat_mod_SOURCES): Likewise.
53702
53703 * normal/arg.c: New file.
53704 * kern/env.c: Likewise.
53705 * include/pupa/arg.h: Likewise.
53706 * include/pupa/env.h: Likewise.
53707 * font/manager.c (font_command): Changed to match argument parsing
53708 interface changes.
53709 (PUPA_MOD_INIT): Likewise.
53710 * hello/hello.c (pupa_cmd_hello): Likewise.
53711 (PUPA_MOD_INIT): Likewise.
53712 * include/pupa/disk.h: Include <pupa/device.h>.
53713 (pupa_print_partinfo): New prototype.
53714 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
53715 (pupa_dl_get_prefix): Likewise.
53716 * include/pupa/misc.h: Include <pupa/err.h>.
53717 (pupa_isgraph): New prototype.
53718 (pupa_isdigit): Likewise.
53719 (pupa_split_cmdline): Likewise.
53720 * include/pupa/normal.h: Include <pupa/arg.h>.
53721 (pupa_command): Changed the prototype of the member `func' to
53722 match the argument parsing interface. Added member `options'.
53723 (pupa_register_command): Updated to match function.
53724 (pupa_arg_parse): New prototype.
53725 (pupa_hello_init) [PUPA_UTIL]: New prototype.
53726 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
53727 (pupa_ls_init) [PUPA_UTIL]: Likewise.
53728 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
53729 (pupa_cat_init) [PUPA_UTIL]: Likewise.
53730 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
53731 (pupa_boot_init) [PUPA_UTIL]: Likewise.
53732 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
53733 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
53734 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
53735 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
53736 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
53737 * kern/disk.c: Include <pupa/file.h>.
53738 (pupa_print_partinfo): New function.
53739 * kern/dl.c: Include <pupa/env.h>.
53740 (pupa_dl_dir): Variable removed.
53741 (pupa_dl_load): Use the environment variable `prefix' instead of
53742 the variable pupa_dl_dir.
53743 (pupa_dl_set_prefix): Function removed.
53744 (pupa_dl_get_prefix): Likewise.
53745 * kern/i386/pc/init.c: Include <pupa/env.h>.
53746 (pupa_machine_init): Use the environment variable `prefix' instead of
53747 using pupa_dl_set_prefix to set the prefix.
53748 * kern/main.c: Include <pupa/env.h>.
53749 (pupa_set_root_dev): Use the environment variable `prefix' instead of
53750 using pupa_dl_get_prefix to get the prefix.
53751 * kern/misc.c: Include <pupa/env.h>.
53752 (pupa_isdigit): New function.
53753 (pupa_isgraph): Likewise.
53754 (pupa_ftoa): Likewise.
53755 (pupa_vsprintf): Added support for printing values of the type
53756 `double'. Make it possible to format variable output when using
53757 formatting like `%1.2%f'.
53758 (pupa_split_cmdline): New function.
53759 * kern/rescue.c: Include <pupa/env.h>.
53760 (next_word): Removed function.
53761 (pupa_rescue_cmd_prefix): Likewise.
53762 (pupa_rescue_cmd_set): New function.
53763 (pupa_rescue_cmd_unset): New function.
53764 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
53765 split the command line instead of splitting it here. Added
53766 support for setting variables using the syntax `foo=bar'. Don't
53767 initialize the prefix command anymore. Initialized the set and
53768 unset commands.
53769 * normal/cmdline.c: Include <pupa/env.h>.
53770 (pupa_tab_complete): Added prototypes for print_simple_completion,
53771 print_partition_completion, add_completion, iterate_commands,
53772 iterate_dev, iterate_part and iterate_dir. Moved code to print
53773 partition information from here to kern/disk.c.
fe6b695a 53774 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 53775 * normal/main.c: Include <pupa/env.h>.
53776 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
53777 instead of using pupa_dl_get_prefix to get the prefix.
53778 * term/i386/pc/vga.c: Include <pupa/arg.h>.
53779 (check_vga_mem): Cast pointers to `void *' to silence a gcc
53780 warning.
53781 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
53782 (pupa_vga_setcolor): Declare unused variables with `__attribute__
53783 ((unused))' to silence a gcc warning.
53784 (pupa_vga_setcolor): Likewise.
53785 (debug_command): Changed to match argument parsing
53786 interface changes.
53787 * util/pupa-emu.c: Include <pupa/env.h>.
53788 (options): Added 0's for unused fields to silence a gcc warning.
53789 (argp): Likewise.
53790 (main): Use the environment variable `prefix' instead of using
53791 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
53792 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
53793 and terminal.
53794
53795 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
53796 * util/misc.c: Include <malloc.h>.
53797 (pupa_malloc): Rewritten so errors are correctly reported.
53798 (pupa_realloc): Likewise.
53799 (pupa_memalign): Likewise.
53800 (pupa_mm_init_region): Declare unused variables with
53801 `__attribute__ ((unused))' to silence a gcc warning.
53802 * normal/i386/setjmp.S: Remove tab at the end of the file to
53803 silence a gcc warning.
53804 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
53805 variables with `__attribute__ ((unused))' to silence a gcc
53806 warning.
53807 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
53808 local variable i unsigned to silence a gcc warning.
53809
53810 * kern/term.c: Include <pupa/misc.h>.
53811 (pupa_more_lines): New variable.
53812 (pupa_more): Likewise.
53813 (pupa_putcode): When the pager is active pause at the end of every
53814 screen.
53815 (pupa_set_more): New function.
53816 * include/pupa/term.h (pupa_set_more): New prototype.
53817
53818
3b1139cb 538192004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
53820
53821 Now this project is GRUB 2 rather than PUPA. The location of
53822 the CVS repository was moved to GRUB's.
f19dbdb7 53823
3b1139cb 53824 * configure.ac: Use bug-grub as the reporting address.
53825 Use GRUB instead of PUPA.
53826 Change the version number to 1.90.
53827
8367695c 538282004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
53829
53830 * genkernsyms.sh: Updated copyright information.
53831 * genmk.rb: Likewise.
53832 * genmodsrc.sh: Likewise.
53833 * gensymlist.sh: Likewise.
53834 * boot/i386/pc/boot.S: Likewise.
53835 * boot/i386/pc/diskboot.S: Likewise.
53836 * disk/i386/pc/biosdisk.c: Likewise.
53837 * disk/i386/pc/partition.c: Likewise.
53838 * font/manager.c: Likewise.
53839 * fs/ext2.c: Likewise.
53840 * fs/fat.c: Likewise.
53841 * include/pupa/boot.h: Likewise.
53842 * include/pupa/device.h: Likewise.
53843 * include/pupa/disk.h: Likewise.
53844 * include/pupa/dl.h: Likewise.
53845 * include/pupa/elf.h: Likewise.
53846 * include/pupa/err.h: Likewise.
53847 * include/pupa/file.h: Likewise.
53848 * include/pupa/font.h: Likewise.
53849 * include/pupa/fs.h: Likewise.
53850 * include/pupa/kernel.h: Likewise.
53851 * include/pupa/loader.h: Likewise.
53852 * include/pupa/misc.h: Likewise.
53853 * include/pupa/mm.h: Likewise.
53854 * include/pupa/net.h: Likewise.
53855 * include/pupa/normal.h: Likewise.
53856 * include/pupa/rescue.h: Likewise.
53857 * include/pupa/setjmp.h: Likewise.
53858 * include/pupa/symbol.h: Likewise.
53859 * include/pupa/term.h: Likewise.
53860 * include/pupa/types.h: Likewise.
53861 * include/pupa/i386/setjmp.h: Likewise.
53862 * include/pupa/i386/types.h: Likewise.
53863 * include/pupa/i386/pc/biosdisk.h: Likewise.
53864 * include/pupa/i386/pc/boot.h: Likewise.
53865 * include/pupa/i386/pc/console.h: Likewise.
53866 * include/pupa/i386/pc/init.h: Likewise.
53867 * include/pupa/i386/pc/kernel.h: Likewise.
53868 * include/pupa/i386/pc/linux.h: Likewise.
53869 * include/pupa/i386/pc/loader.h: Likewise.
53870 * include/pupa/i386/pc/memory.h: Likewise.
53871 * include/pupa/i386/pc/multiboot.h: Likewise.
53872 * include/pupa/i386/pc/partition.h: Likewise.
53873 * include/pupa/i386/pc/time.h: Likewise.
53874 * include/pupa/i386/pc/vga.h: Likewise.
53875 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
53876 * include/pupa/util/getroot.h: Likewise.
53877 * include/pupa/util/misc.h: Likewise.
53878 * include/pupa/util/resolve.h: Likewise.
53879 * kern/device.c: Likewise.
53880 * kern/disk.c: Likewise.
53881 * kern/dl.c: Likewise.
53882 * kern/err.c: Likewise.
53883 * kern/file.c: Likewise.
53884 * kern/fs.c: Likewise.
53885 * kern/loader.c: Likewise.
53886 * kern/main.c: Likewise.
53887 * kern/misc.c: Likewise.
53888 * kern/mm.c: Likewise.
53889 * kern/rescue.c: Likewise.
53890 * kern/term.c: Likewise.
53891 * kern/i386/dl.c: Likewise.
53892 * kern/i386/pc/init.c: Likewise.
53893 * kern/i386/pc/lzo1x.S: Likewise.
53894 * kern/i386/pc/startup.S: Likewise.
53895 * loader/i386/pc/chainloader.c: Likewise.
53896 * loader/i386/pc/linux.c: Likewise.
53897 * loader/i386/pc/multiboot.c: Likewise.
53898 * normal/cmdline.c: Likewise.
53899 * normal/command.c: Likewise.
53900 * normal/main.c: Likewise.
53901 * normal/menu.c: Likewise.
53902 * normal/i386/setjmp.S: Likewise.
53903 * term/i386/pc/console.c: Likewise.
53904 * term/i386/pc/vga.c: Likewise.
53905 * util/console.c: Likewise.
53906 * util/genmoddep.c: Likewise.
53907 * util/misc.c: Likewise.
53908 * util/pupa-emu.c: Likewise.
53909 * util/resolve.c: Likewise.
53910 * util/unifont2pff.rb: Likewise.
53911 * util/i386/pc/biosdisk.c: Likewise.
53912 * util/i386/pc/getroot.c: Likewise.
53913 * util/i386/pc/pupa-mkimage.c: Likewise.
53914 * util/i386/pc/pupa-setup.c: Likewise.
53915
e6eced71 539162004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
53917
53918 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
53919 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
53920 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
53921 reading and reset it after reading.
53922 (pupa_ext2_close): Return PUPA_ERR_NONE.
53923
53924 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
53925 Correct value.
53926 (struct linux_kernel_header): Add kernel_version and
53927 initrd_addr_max.
53928 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
53929 pupa_file_read succeeds.
53930 (pupa_rescue_cmd_initrd): Implement.
53931
5aded270 539322003-12-03 Marco Gerards <metgerards@student.han.nl>
53933
53934 * fs/ext2.c (pupa_ext2_label): New function.
53935 (pupa_ext2_fs): Added label.
53936 * fs/fat.c (pupa_fat_label): New function.
53937 (pupa_fat_fs): Added label.
53938 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
53939
53940 * kern/misc.c (pupa_strndup): New function.
53941 * include/pupa/misc.h (pupa_strndup): New prototype.
53942
53943 * include/pupa/normal.h: Include <pupa/err.h>.
53944 (pupa_set_history): New prototype.
53945 (pupa_iterate_commands): New prototype.
53946 * normal/cmdline.c: Include <pupa/machine/partition.h>,
53947 <pupa/disk.h>, <pupa/file.h>.
53948 (hist_size): New variable.
53949 (hist_lines): Likewise.
53950 (hist_end): Likewise.
53951 (hist_used): Likewise.
53952 (pupa_set_history): New function.
53953 (pupa_history_get): Likewise.
53954 (pupa_history_add): Likewise.
53955 (pupa_history_replace): Likewise.
53956 (pupa_tab_complete): Likewise.
53957 (pupa_cmdline_run): Added tab completion and history buffer. Tab
53958 completion shows partitionnames while completing partitions, this
53959 feature was suggested by Jeff Bailey.
53960 * normal/command.c (pupa_iterate_commands): New function.
53961 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
53962 (pupa_normal_init): Initialize history buffer.
53963 (PUPA_MOD_INIT): Likewise.
53964 (pupa_normal_fini): Free the history buffer.
53965 (PUPA_MOD_FINI): Likewise.
53966
53967 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
53968 key.
53969
53970 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
53971 * configure.ac [i386]: Check for regparam bug.
53972 (NESTED_FUNC_ATTR) [! i386]: Defined.
53973
1f7315a3 539742003-11-17 Marco Gerards <metgerards@student.han.nl>
53975
53976 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
53977 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
53978 (pupa_emu_SOURCES): New variable.
53979 (pupa_emu_LDFLAGS): Likewise.
53980 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
53981 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
53982 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
53983 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
53984 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
53985 (pupa_jmp_buf): New typedef.
53986 (pupa_setjmp) [PUPA_UTIL]: New macro.
53987 (pupa_longjmp) [PUPA_UTIL]: Likewise.
53988 * include/pupa/term.h (struct pupa_term): New member `refresh'.
53989 (pupa_refresh): New prototype.
53990 * include/pupa/util/getroot.h: New file.
53991 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
53992 it.
53993 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
53994 (pupa_rescue_cmd_cat): Likewise.
53995 (pupa_rescue_cmd_ls): Likewise.
53996 (pupa_rescue_cmd_testload): Likewise.
53997 (pupa_rescue_cmd_lsmod): Likewise.
53998 * normal/cmdline.c (pupa_cmdline_get): Likewise.
53999 * normal/menu.c (run_menu): Likewise.
54000 * kern/term.c (pupa_cls): Likewise.
54001 (pupa_refresh): New function.
54002 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54003 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54004 * util/console.c: New file.
f19dbdb7 54005
1f7315a3 54006 * util/i386/pc/getroot.c: New file.
54007 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54008 (pupa_putchar): New function.
54009 (pupa_refresh): Likewise.
54010 (xgetcwd): Function moved to ...
54011 (strip_extra_slashes): Likewise.
54012 (get_prefix): Likewise.
f19dbdb7 54013 * util/i386/pc/getroot.c: ... here.
1f7315a3 54014 (find_root_device): Function moved and renamed to...
54015 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54016 Changed all callers.
54017 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54018 and renamed to...
54019 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54020 Changed all callers.
54021 * util/misc.c (pupa_memalign): New function.
54022 (pupa_mm_init_region): Likewise.
54023 (pupa_register_exported_symbols): Likewise.
54024 (pupa_putchar): Function removed.
54025 * util/pupa-emu.c: New file.
54026
9a5c1ade 540272003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54028
54029 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54030 (_multiboot_mod_SOURCES): New variable.
54031 (_multiboot_mod_CFLAGS): Likewise.
54032 * loader/i386/pc/multiboot.c: New file.
54033 * include/pupa/i386/pc/multiboot.h: Likewise.
54034 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54035 (pupa_multiboot_real_boot): New function.
54036 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54037 (pupa_multiboot_real_boot): New prototype.
54038 (pupa_rescue_cmd_multiboot): Likewise
54039 (pupa_rescue_cmd_module): Likewise.
54040
54041 * kern/loader.c (pupa_loader_set): Continue when
54042 pupa_loader_unload_func() fails.
54043 (pupa_loader_unset): New function.
54044 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54045
54046 * kern/misc.c (pupa_stpcpy): New function.
54047 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54048
8e72a9c0 540492003-11-12 Marco Gerards <metgerards@student.han.nl>
54050
54051 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54052 for available extensions.
54053
54054 * include/pupa/i386/pc/time.h: New file.
54055 * kern/disk.c: Include <pupa/machine/time.h>.
54056 (PUPA_CACHE_TIMEOUT): New macro.
54057 (pupa_last_time): New variable.
54058 (pupa_disk_open): Flush the cache when there was a timeout.
54059 (pupa_disk_close): Reset the timer.
54060 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54061 pupa_currticks.
54062 * util/misc.c: Include <sys/times.h>
54063 (pupa_get_rtc): New function.
54064
c4adbd32 540652003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54066
54067 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54068 as blocks.
54069 (pupa_ext2_get_file_block): Use blocks member.
54070
54071 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54072 first block. Return -1 instead of pupa_errno on error.
54073
bfd30f06 540742003-10-27 Marco Gerards <metgerards@student.han.nl>
54075
54076 * README: In the pupa-mkimage example use _chain instead of chain
54077 and ext2 instead of fat.
54078 * TODO: Replace ext2fs with jfs as an example. Add an item for
54079 adding journal playback for ext2fs.
54080 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54081 (pkgdata_MODULES): Added ext2.mod.
54082 (ext2_mod_SOURCES): New variable.
54083 (ext2_mod_CFLAGS): Likewise.
54084 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54085 * include/pupa/misc.h (pupa_strncpy): New prototype.
54086 (pupa_strcat): Likewise.
54087 (pupa_strncmp): Likewise.
54088 * kern/misc.c (pupa_strcat): Enable function.
54089 (pupa_strncpy): New function.
54090 (pupa_strncmp): Likewise.
54091 * fs/ext2.c: New file.
f19dbdb7 54092
bfd30f06 54093 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54094 when the read failed before retrying.
54095 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54096 (_FILE_OFFSET_BITS): Likewise.
54097 * configure.ac: Added AC_SYS_LARGEFILE.
54098
98d15063 540992003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54100
54101 * genmk.rb (PModule#rule): Make sure to get only symbol names
54102 from the output of nm.
59cad637 54103 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 54104
18d9c7cd 541052003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54106
54107 I forgot to check in these changes for a long time. This adds
54108 incomplete support for VGA console, and this is still very
54109 buggy. Also, a lot of consideration is required for I18N,
54110 UNICODE, and VGA font issues. Therefore, assume that this is
54111 such that "better than nothing".
f19dbdb7 54112
18d9c7cd 54113 * font/manager.c: New file.
54114 * include/pupa/font.h: Likewise.
54115 * include/pupa/i386/pc/vga.h: Likewise.
54116 * term/i386/pc/vga.c: Likewise.
54117 * util/unifont2pff.rb: Likewise.
54118
54119 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54120 (pkgdata_MODULES): Added vga.mod and font.mod.
54121 (vga_mod_SOURCES): New variables.
54122 (vga_mod_CFLAGS): Likewise.
54123 (font_mod_SOURCES): Likewise.
54124 (font_mod_CFLAGS): Likewise.
54125
54126 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54127
54128 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 54129 (struct pupa_term): Added init and fini.
18d9c7cd 54130 Changed the argument of putchar to pupa_uint32_t.
54131
54132 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54133 (pupa_console_real_putchar): New prototype.
54134 (pupa_console_putchar): Removed.
54135 (pupa_console_checkkey): Exported.
54136 (pupa_console_getkey): Likewise.
54137
54138 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54139 characters.
54140
54141 * kern/term.c (pupa_term_set_current): Rewritten.
54142 (pupa_putchar): Likewise.
54143 (pupa_putcode): New function.
54144
54145 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54146 (pupa_console_real_putchar): ... this.
54147 (pupa_vga_set_mode): New function.
54148 (pupa_vga_get_font): Likewise.
54149
54150 * normal/command.c: Include pupa/term.h.
54151 (terminal_command): New function.
54152 (pupa_command_init): Register the command "terminal".
54153
54154 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54155 (DISP_UP): Likewise.
54156 (DISP_RIGHT): Likewise.
54157 (DISP_DOWN): Likewise.
54158 (DISP_HLINE): Likewise.
54159 (DISP_VLINE): Likewise.
54160 (DISP_UL): Likewise.
54161 (DISP_UR): Likewise.
54162 (DISP_LL): Likewise.
54163 (DISP_LR): Likewise.
54164
54165 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 54166
977329f5 541672003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54168
54169 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54170 FIX. Reverse the path_list.
54171
54172 * include/pupa/normal.h: Export pupa_register_command and
54173 pupa_unregister_command.
54174
54175 * hello/hello.c (pupa_cmd_hello): New module.
54176 * conf/i386-pc.rmk: Added hello.mod.
54177
1f5ab428 541782003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54179
54180 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54181
1f5ab428 54182 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54183 (compress_kernel): New variable.
54184 (generate_image): Heavily modified to support compressing a
54185 large part of the core image.
54186
54187 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54188 leak.
54189 (pupa_util_load_image): New function.
54190
54191 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54192 (pupa_compressed_size): New variable.
54193 (codestart): Enable Gate A20 here.
54194 Decompress the compressed part of the core image.
54195 Rearrange the code to put functions and variables which are
54196 required for initialization in the non-compressed part.
54197 Include lzo1x.S.
54198
54199 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54200 here.
54201
54202 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54203
f19dbdb7 54204 * include/pupa/i386/pc/kernel.h
1f5ab428 54205 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54206 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54207 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54208 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54209 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54210
54211 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54212
54213 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54214 (Utility#rule): Likewise.
54215
54216 * configure.ac: Check if LZO is available.
54217
ce5bf700 542182003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54219
54220 * include/pupa/normal.h: New file.
54221 * include/pupa/setjmp.h: Likewise.
54222 * include/pupa/i386/setjmp.h: Likewise.
54223 * normal/cmdline.c: Likewise.
54224 * normal/command.c: Likewise.
54225 * normal/main.c: Likewise.
54226 * normal/menu.c: Likewise.
54227 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54228
ce5bf700 54229 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54230 (pupa_rescue_cmd_initrd): Likewise.
54231
54232 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54233 Likewise.
54234
54235 * kern/i386/pc/startup.S (translation_table): New variable.
54236 (translate_keycode): New function.
54237 (pupa_console_getkey): Call translate_keycode.
54238
54239 * kern/rescue.c (attempt_normal_mode): New function.
54240 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54241 it failed, print a message.
54242
54243 * kern/mm.c (pupa_real_malloc): Print more information when a
54244 free magic is broken.
54245 (pupa_free): If the first free header is not free actually, set
54246 it to P.
54247
54248 * kern/main.c (pupa_load_normal_mode): Just load the module
54249 "normal".
54250 (pupa_main): Don't print the message
54251 "Entering into rescue mode..." here.
54252
54253 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54254 Declared.
54255 (pupa_rescue_cmd_initrd): Likewise.
54256 (pupa_rescue_cmd_initrd): Likewise.
54257
54258 * include/pupa/symbol.h (FUNCTION): Specify the type.
54259 (VARIABLE): Likewise.
54260
54261 * include/pupa/err.h (pupa_err_t): Added
54262 PUPA_ERR_UNKNOWN_COMMAND.
54263
54264 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54265 (pupa_dl_get_prefix): Likewise.
54266
54267 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54268 Added _chain.mod and _linux.mod instead of chain.mod and
54269 linux.mod.
54270 (chain_mod_SOURCES): Renamed to ...
54271 (_chain_mod_SOURCES): ... this.
54272 (chain_mod_CFLAGS): Renamed to ...
54273 (_chain_mod_CFLAGS): ... this.
54274 (linux_mod_SOURCES): Renamed to ...
54275 (_linux_mod_SOURCES): ... this.
54276 (linux_mod_CFLAGS): Renamed to ...
54277 (_linux_mod_CFLAGS): ... this.
54278 (normal_mod_SOURCES): New variable.
54279 (normal_mod_CFLAGS): Likewise.
54280 (normal_mod_ASFLAGS): Likewise.
54281
542822003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54283
54284 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54285 possible.
54286
fe6b695a 54287 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 54288 recursively.
54289 (pupa_dl_unref): Unrefer depending modules recursively.
54290 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54291 a module is unloaded before one depending on that module is
54292 unloaded.
54293 (pupa_dl_unload): Unload depending modules explicitly,
54294 if possible.
54295
c04da074 542962003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54297
54298 * include/pupa/i386/pc/linux.h: New file.
54299 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 54300
c04da074 54301 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54302 Removed.
54303 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54304 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54305 of PUPA_CHAINLOADER_BOOT_SECTOR.
54306
54307 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54308 (pupa_linux_prot_size): New variable.
54309 (pupa_linux_tmp_addr): Likewise.
54310 (pupa_linux_real_addr): Likewise.
54311 (pupa_linux_boot_zimage): New function.
54312 (pupa_linux_boot_bzimage): Likewise.
54313
54314 * kern/i386/pc/init.c (struct mem_region): New structure.
54315 (MAX_REGIONS): New macro.
54316 (mem_regions): New variable.
54317 (num_regions): Likewise.
54318 (pupa_os_area_addr): Likewise.
54319 (pupa_os_area_size): Likewise.
54320 (pupa_lower_mem): Likewise.
54321 (pupa_upper_mem): Likewise.
54322 (add_mem_region): New function.
54323 (compact_mem_regions): Likewise.
54324 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54325 the size of the conventional memory and that of so-called upper
54326 memory (before the first memory hole).
54327 Instead of adding each found region to free memory, use
54328 add_mem_region and add them after removing overlaps.
54329 Also, add only 1/4 of the upper memory to free memory. The rest
54330 is used for loading OS images. Maybe this is ad hoc, but this
54331 makes it much easier to relocate OS images when booting.
54332
54333 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54334 (pupa_enter_rescue_mode): Don't register initrd and module.
54335
54336 * kern/mm.c: Include pupa/dl.h.
54337
54338 * kern/main.c: Include pupa/file.h and pupa/device.h.
54339
54340 * kern/loader.c (pupa_loader_load_module_func): Removed.
54341 (pupa_loader_load_module): Likewise.
54342
54343 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54344 ``.o''.
54345
54346 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54347 (pupa_linux_tmp_addr): Likewise.
54348 (pupa_linux_real_addr): Likewise.
54349 (pupa_linux_boot_zimage): Likewise.
54350 (pupa_linux_boot_bzimage): Likewise.
54351
54352 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54353 (pupa_upper_mem): Likewise.
54354 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54355 module is too dangerous.
54356
54357 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54358 (pupa_os_area_size): Likewise.
54359 (pupa_loader_set): Remove the first argument. Loader doesn't
54360 manage modules or initrd any longer.
54361 (pupa_loader_load_module): Removed.
54362
54363 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54364 (linux_mod_SOURCES): New variable.
54365 (linux_mod_CFLAGS): Likewise.
54366
a13f9237 543672003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54368
54369 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54370 the length of a blocklist correctly.
54371
54372 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54373 Use ioctl only if the OS file is a block device.
54374 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54375 not very useful for normal files.
54376
54377 * kern/main.c (pupa_set_root_dev): New function.
54378 (pupa_load_normal_mode): Likewise.
54379 (pupa_main): Call those above.
54380
54381 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54382 pupa_uint16_t.
54383
54384 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54385
a5ffe966 543862003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54387
54388 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54389 (setup): Configure the installed partition information and the
54390 dl prefix.
54391
54392 * loader/i386/pc/chainloader.c (my_mod): New variable.
54393 (pupa_chainloader_unload): New function.
54394 (pupa_rescue_cmd_chainloader): Refer itself.
54395 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54396
54397 * kern/i386/pc/startup.S (install_partition): Removed.
54398 (version_string): Likewise.
54399 (config_file): Likewise.
54400 (pupa_install_dos_part): New variable.
54401 (pupa_install_bsd_part): Likewise.
54402 (pupa_prefix): Likewise.
54403 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54404
54405 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54406 and pupa/misc.h.
54407 (make_install_device): New function.
54408 (pupa_machine_init): Set the dl prefix.
54409
54410 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54411 (buf): Renamed to ...
54412 (linebuf): ... this.
54413 (pupa_rescue_cmd_prefix): New function.
54414 (pupa_rescue_cmd_insmod): Likewise.
54415 (pupa_rescue_cmd_rmmod): Likewise.
54416 (pupa_rescue_cmd_lsmod): Likewise.
54417 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54418 rmmod and lsmod.
54419
54420 * kern/mm.c (pupa_memalign): If failed even after invalidating
54421 disk caches, unload unneeded modules and retry.
54422
54423 * kern/misc.c (pupa_memmove): New function.
54424 (pupa_memcpy): Removed.
54425 (pupa_strcpy): New function.
54426 (pupa_itoa): Made static.
54427
54428 * kern/dl.c (pupa_dl_iterate): New function.
54429 (pupa_dl_ref): Likewise.
54430 (pupa_dl_unref): Likewise.
54431 (pupa_dl_unload): Return if succeeded or not.
54432 (pupa_dl_unload_unneeded): New function.
54433 (pupa_dl_unload_all): Likewise.
54434 (pupa_dl_init): Renamed to ...
54435 (pupa_dl_set_prefix): ... this.
54436 (pupa_dl_get_prefix): New function.
54437
54438 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54439 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54440 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54441 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54442 (pupa_install_dos_part): Declared.
54443 (pupa_install_bsd_part): Likewise.
54444 (pupa_prefix): Likewise.
54445 (pupa_boot_drive): Likewise.
54446
54447 * include/pupa/types.h: Fix a typo.
54448
54449 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54450 pupa_memmove.
54451 (pupa_memmove): Declared.
54452 (pupa_strcpy): Likewise.
54453
54454 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
54455 pupa_mod_init takes one argument, its own module.
54456 (pupa_dl_unload_unneeded): Declared.
54457 (pupa_dl_unload_all): Likewise.
54458 (pupa_dl_ref): Likewise.
54459 (pupa_dl_unref): Likewise.
54460 (pupa_dl_iterate): Likewise.
54461 (pupa_dl_init): Renamed to ...
54462 (pupa_dl_set_prefix): ... this.
54463 (pupa_dl_get_prefix): Declared.
54464
54465 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 54466 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 54467 unloaded.
54468 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
54469 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
54470
54471 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
54472 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
54473
012d7999 544742003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54475
54476 * util/i386/pc/pupa-setup.c (setup): Define the internal
54477 function find_first_partition_start at the top level, because GCC
54478 3.0.x cannot compile internal functions in deeper scopes
54479 correctly.
54480 (find_root_device): Use lstat instead of stat.
54481 Don't follow symbolic links.
54482 Fix the path-constructing code.
54483
54484 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
54485 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
54486 by a BLKGETSIZE ioctl first, because block devices don't fill
54487 the member st_mode of the structure stat on Linux.
54488 [__linux__] (linux_find_partition): Use a temporary buffer
54489 REAL_DEV for the working space. Copy it to DEV before returning.
54490 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
54491 buffer cache consistent.
54492 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
54493 strncmp. The previous value was merely wrong.
54494 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
54495
54496 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
54497 FAT size is 12. The previous value was merely wrong.
54498
54499 * kern/main.c (pupa_main): Don't split the starting message from
54500 newlines.
54501
54502 * kern/term.c (pupa_putchar): Put CR after LF instead of before
54503 LF, because BIOS goes crazy about character attributes in this
54504 case.
54505
1cc73a62 545062003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
54507
54508 * include/i386/pc/util/biosdisk.h: New file.
54509 * util/i386/pc/biosdisk.c: Likewise.
54510 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 54511
1cc73a62 54512 * Makefile.in (INCLUDE_DISTFILES): Added
54513 include/pupa/i386/pc/util/biosdisk.h.
54514 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
54515 directory util/i386/pc.
54516 (install-local): Added a rule for sbin_UTILITIES.
54517 (uninstall): Likewise.
54518
54519 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
54520
54521 * util/misc.c (xrealloc): New function.
54522 (pupa_malloc): Likewise.
54523 (pupa_free): Likewise.
54524 (pupa_realloc): Likewise.
54525 (pupa_stop): Likewise.
54526 (pupa_putchar): Likewise.
54527
54528 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
54529
54530 * include/pupa/util/misc.h (xrealloc): Declared.
54531
54532 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
54533 macro.
54534 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
54535 (PUPA_BOOT_MACHINE_BPB_END): ... this.
54536
54537 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
54538 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54539
54540 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
54541 way should be implemented.
54542 [PUPA_UTIL] (pupa_fat_fini): Likewise.
54543
54544 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
54545 the size of NAME for safety.
54546 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
54547 0x88.
54548
54549 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
54550 (pupa_setup_SOURCES): Likewise.
54551
54552 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
54553
08b70fe8 545542002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54555
54556 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
54557 bunch of pushl's from pusha, because this destroys the return
54558 value.
54559
62ddcc8f 545602002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
54561
54562 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
54563 This means that any missing prototypes could be fatal. Also, you
54564 must take care when writing assembly code. See the comments at
54565 the beginning of startup.S, for more details.
f19dbdb7 54566
62ddcc8f 54567 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
54568 compilation mechanism.
54569 (pupa_chainloader_real_boot): Likewise.
54570 (pupa_biosdisk_rw_int13_extensions): Likewise.
54571 (pupa_biosdisk_rw_standard): Likewise.
54572 (pupa_biosdisk_check_int13_extensions): Likewise.
54573 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
54574 (pupa_biosdisk_get_diskinfo_standard): Likewise.
54575 (pupa_get_memsize): Likewise.
54576 (pupa_get_mmap_entry): Likewise.
54577 (pupa_console_putchar): Likewise.
54578 (pupa_console_setcursor): Likewise.
54579 (pupa_getrtsecs): Use pushl instead of push.
54580
54581 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
54582 memory instead of the stack for a mmap entry, because some
54583 BIOSes may ignore the maximum size and overflow.
54584
54585 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
54586
54587 * genmk.rb (PModule#rule): Compile automatically generated
54588 sources with module-specific CFLAGS as well as other sources.
54589
9962ed99 545902002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54591
54592 * configure.ac: Check ld.
54593 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
54594 respectively, before checking endianness and sizes.
54595
54596 * Makefile.in (LD): New variable.
f19dbdb7 54597
abdfc3c5 545982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54599
54600 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
54601
6a161fa9 546022002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
54603
54604 * Changelog: New file.
54605